AWS Notes
5.86K subscribers
591 photos
44 videos
11 files
3K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://t.me/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/

No ads.
Download Telegram
Forwarded from Rinat Uzbekov
Бесплатный курс на русском!!!

AWS Cloud Practitioner Essentials Day
вторник, 11 мая | 9am MSK (GMT+3)

На этом вебинаре вы ознакомитесь с концепциями облака AWS, сервисами, архитектурой, технологиями безопасности, ценами и условиями поддержки, чтобы расширить свои знания об облаке AWS.

Зарегистрироваться - https://pages.awscloud.com/EMEA-event-OE-CPE-May-11-2021-reg-event-RU.html?sc_channel=em&sc_campaign=Traincert_AlwaysOn_2021&sc_publisher=aws&sc_medium=em_AlwaysOnWebinars&sc_content=event_ev_field&sc_country=RUCIS&sc_geo=EMEA&sc_outcome=event&trkCampaign=EMEA-FY21-TrainCert-AlwaysOnWebinar_RU
Forwarded from Rinat Uzbekov
Ваш первый проект будет легче запустить с бонусом в $300 долларов

Бесплатная программа AWS Proof of Concept предназначена для того, чтобы помочь вам воплотить ваши идеи в реальность, создав их пробные версии на платформе AWS.

Эксклюзивное предложение для предприятий малого и среднего бизнеса: наша программа поможет вам быстро начать работу на AWS, а также позволит воспользоваться рядом других преимуществ, включая бонусные суммы* от AWS в размере $300 долларов, доступ к бесплатным инструментам, ресурсам и многое другое.

Познакомьтесь с платформой AWS без каких-либо рисков и узнайте, как она может помочь вам решить ваши задачи в сфере бизнеса и ИТ.

Миллионы малых и средних предприятий уже используют облачные решения AWS для преображения своего бизнеса, привлечения новых клиентов, снижения операционных расходов и расширения своей деятельности. Поэтому подайте заявку на получение бонуса и подтвердите жизнеспособность своей идеи уже сегодня – мы уделим вам все внимание!
https://pages.awscloud.com/GLOBAL-acq-GC-New_Proof_of_Concept_UKIR-2021-reg.html?Languages=Russian
Прокидываем AWS Secrets в поды с помощью ASCP (AWS Secrets & Configuration Provider):

https://aws.amazon.com/blogs/security/how-to-use-aws-secrets-configuration-provider-with-kubernetes-secrets-store-csi-driver/

С помощью ASCP можно примонтировать AWS Secrets в под:

kind: Pod
apiVersion: v1
metadata:
name: nginx-secrets-store-inline
spec:
serviceAccountName: aws-node
containers:
- image: nginx
name: nginx
volumeMounts:
- name: MySecret2
mountPath: "/mnt/secrets-store"
readOnly: true
volumes:
- name: MySecret2
csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: "aws-secrets"

Они могут ротироваться, динамически изменяясь внутри подов и могут применяться в деплойментах.

AWS Secrets можно синхронизировать с куберовскими секретами, на текущий момент поддерживаются следующие типы:

• opaque
• kubernetes.io/basic-auth
• bootstrap.kubernetes.io/token
• kubernetes.io/dockerconfigjson
• kubernetes.io/dockercfg
• kubernetes.io/ssh-auth
• kubernetes.io/service-account-token
• kubernetes.io/tls

#Secrets #EKS
Graviton 2 — переходим на светлую сторону, часть 1

Процессоры ARM уже не первый год на AWS, а теперь ещё и в Макбуках (которые тоже на AWS :) ). Многие наверняка слышали про них, но, как это часто бывает, придерживаются фразы "Ну, вот, скажи мне — где я, а где ARM?!?"

И действительно, мало выбрать новую виртуалку, нужно ж ещё и разбираться, что-то там пересобирать, а вдруг что не зарабоает, ну его нафиг, овчинка выделки не стоит.

Далее мой личный опыт и впечатления от работы c6g/m6g/t4g в, так сказать, "повседневной жизни" условного девопса или админа. Спойлер — овчинка стоит.

Возьмём популярный вариант — у вас что-то крутится в docker-compose, например, Node.js, Mongo или какой-нибудь Jenkins. Или даже возьмём всё вместе. Итак, что нужно будет сделать, чтобы пощупать гравитончик?

К примеру, у вас использовалась популярная виртуалка t3.medium. Значит для теста поднимаем t4g.medium - условный аналог на ARM.

Запустили, заходим, ставим докер привычным способом, например, для Amazon Linux 2:

yes | sudo amazon-linux-extras install docker

Docker поставили, пока никаких отличий.

Будем ставить docker-compose, гуглим и узнаём про первый облом ARM — а вот и нет такого:

https://github.com/docker/compose/issues/6831

Заходим, ставим лайк, чтобы таки когда-нибудь получить официальную версию. Но, понятно, проблема насущная и кто-то наверняка её решил. Всё верно, можно использовать докер для докера!

sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

И получаем неофициальную, но вполне рабочую версию docker-compose под ARM.

Дальше проходимся по сервисам, которые у вас поднимаются в docker-compose. Если это что-то известное/популярное, например, упомянутые Node.js или Монга, то проблем, скорей всего, не будет – вообще ничего менять не придётся, т.к. у них вместе выложены докеры сразу под несколько платформ, в том числе под arm64. Оговорочку можно сделать лишь если у вас шибко старые версии, т.к. поддержка ARM появилась относительно недавно. Например, для Mongo версий 3.5 и древней поддержки ARM не будет, зато 3.6+ работает на ARM отлично.

Для не столь крупных проектов может не быть arm64 версий. Например, дефолтный репозиторий для Jenkins имеет образы лишь под amd64. Конечно, всегда можно пойти и собрать образ под arm64 самому, скачав исходники с GitHub. Это справедливо и для большого количества других open source проектов. Но погуглив часто можно найти готовое, в случае Jenkins это будет jenkins4eval/jenkins.

Для наглядности поставим популярные вещи под ARM — kubectl, eksctl, helm, kustomize:

curl -o https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/linux/arm64/kubectl

curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_arm64.tar.gz" | tar xz

curl --silent --location https://get.helm.sh/helm-v3.5.4-linux-arm64.tar.gz | tar xz linux-arm64/helm

curl --silent --location https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v4.1.2/kustomize_v4.1.2_linux_arm64.tar.gz | tar xz

Если под ваш какой-то проект нет ARM-варианта — что ж, значит придётся обождать. Однако часто выясняется, что от чего-то можно безболезненно избавиться и всё же попробовать.

Отдельно скажу, что у вышеупомянутой неофициальной версии docker-compose под ARM есть некоторые проблемы — например, у меня с ней не заработал нормально jwilder/docker-gen для получения LetsEncrypt-овских сертификатов. Я не пробовал другие, используя сертификаты на ALB, однако возможность таких вещей стоит учесть. Но, всё же, в большинстве случаев (и точно, если это что-то популярное) никаких принципиальных моментов не возникает.

#ARM #Graviton
​​Houston, we have a problem the new AWS Local Zones!

Если вы зайдёте посмотреть стоимость виртуалок и обнаружите там регионы:

🔹 US East Boston
🔹 US East Houston
🔹 US East Miami
🔹 US East (Verizon) - Atlanta
🔹 US East (Verizon) - Boston
🔹 US East (Verizon) - Dallas
🔹 US East (Verizon) - Miami
🔹 US East (Verizon) - New York
🔹 US East (Verizon) - Washington DC
🔹 US West (Verizon) - Denver
🔹 US West (Verizon) - Las Vegas
🔹 US West (Verizon) - San Francisco Bay Area
🔹 US West (Verizon) - Seattle
🔹 Asia Pacific (KDDI) - Osaka
🔹 Asia Pacific (KDDI) - Tokyo
🔹 Asia Pacific (SKT) - Daejeon

То не пугайтесь. Это не регионы, это AWS Local Zones, которые теперь добавлены в список наряду с регионами (например, N.Virginia). Последние AWS Local Zones были анонсированы в декабре 2020-го года:

https://aws.amazon.com/blogs/aws/in-the-works-more-aws-local-zones/

Как видно, пока там выбор виртуалок небольшой (и дорого). Однако для бизнесов, желающих получить минимальный пинг (единицы миллисекунд) в данных городах (а это от AR/VR до рабочих столов с графикой/видео) ­­- отличная возможность получить максимум от AWS.

#LocalZones
Graviton 2 — переходим на светлую сторону, часть 2

Тесты ARM виртуалок в нагруженных приложениях не есть предмет данного поста - их можно найти в интернете или в официальном разделе:

https://aws.amazon.com/ec2/graviton/#Partner_Blogs

Здесь же, как было оглашено в первой части, рассмотрим "народные", то бишь популярные-недорогие типы виртуалок, обычно это 1-2 ядра и 1-4 ГБ памяти. В этой нише рулят Tx виртуалки — с поправкой на поколения это t2, t3, t3a и присоединившаяся к ним t4g на Graviton 2. Это так называемый burstable-тип виртуалок, которые не предназначены для постоянной нагрузки и производительность которых падает до своего baseline уровня, ежели "бурсты" иссякают.

Однако в эту нишу недорогих виртуалок Graviton 2 добавил не только t4g, под вышеприведенные правила 1-2 ядра и 1-4 ГБ памяти попадают и две "полноценные" виртуалки (которые не "burstable") - c6g.medium и m6g.medium! Да, у них по одному ядру, но, во-первых, очень многие системы прозябают с минимальной загрузкой в единицы процентов, а, во-вторых, если нагрузка вдруг станет постоянной, то baseline этих Tx виртуалок убьёт производительность двух ядер в 5-10 раз, что даст кратное преимущества "полноценным виртуалкам".

Сеть

Кроме того стоит добавить, что у "полноценных" виртуалок ещё и более быстрая сеть. У Tx типа это до 5 Gbit (если не считать старую t2, где аморфное Low to Moderate условно обозначает "до 1 Gbit"), в то время как у c6g/m6g это "до 10 Gbit". И это просто видно в обычной работе - привычные операции с копированием файлов на другие виртуалки/S3/итп банально на глаз быстрей. У кого много таких операций, сразу заметит, что работать стало комфортней.

И да, если уж про сеть, то правильно добавить ещё одну "полноценную" виртуалку, попадающую в наш диапазон: c6gn.medium, у которой сетка ещё более быстрая — до 25 Gbit!

Стоимость

Сведём всё в одну таблицу:

тип      цена   CPU   RAM сеть    baseline
t2.micro   $0.0116 1vCPU 1GB до 1 Gbit 10%
t2.small   $0.023  1vCPU 2GB до 1 Gbit 20%
t2.medium   $0.0464 2vCPU 4GB до 1 Gbit 20%
t3.micro   $0.0104 2vCPU 1GB до 5 Gbit 10%
t3.small   $0.0208 2vCPU 2GB до 5 Gbit 20%
t3.medium   $0.0416 2vCPU 4GB до 5 Gbit 20%
t3a.micro   $0.0094 2vCPU 1GB до 5 Gbit 10%
t3a.small   $0.0188 2vCPU 2GB до 5 Gbit 20%
t3a.medium $0.0376 2vCPU 4GB до 5 Gbit 20%
t4g.micro   $0.0084 2vCPU 1GB до 5 Gbit 10%
t4g.small   $0.0168 2vCPU 2GB до 5 Gbit 20%
t4g.medium  $0.0336 2vCPU 4GB до 5 Gbit 20%
c6g.medium  $0.034  1vCPU 2GB до 10Gbit 100%
m6g.medium  $0.0385 1vCPU 4GB до 10Gbit 100%
c6gn.medium $0.0432 1vCPU 2GB до 25Gbit 100%

Если отбросить морально устаревшие t2, которые дороже t3, а при этом медленней и отсортировать по возрастанию цены, то получаем следующую картину:

тип      цена   CPU   RAM сеть    baseline
t4g.micro   $0.0084 2vCPU 1GB до 5 Gbit 10%
t3a.micro   $0.0094 2vCPU 1GB до 5 Gbit 10%
t3.micro   $0.0104 2vCPU 1GB до 5 Gbit 10%
t4g.small   $0.0168 2vCPU 2GB до 5 Gbit 20%
t3a.small   $0.0188 2vCPU 2GB до 5 Gbit 20%
t3.small   $0.0208 2vCPU 2GB до 5 Gbit 20%
t4g.medium  $0.0336 2vCPU 4GB до 5 Gbit 20%
c6g.medium  $0.034  1vCPU 2GB до 10Gbit 100%
t3a.medium  $0.0376 2vCPU 4GB до 5 Gbit 20%
m6g.medium  $0.0385 1vCPU 4GB до 10Gbit 100%
t3.medium   $0.0416 2vCPU 4GB до 5 Gbit 20%
c6gn.medium $0.0432 1vCPU 2GB до 25Gbit 100%

Очень показателен нижний сегмент, где "полноценные" виртуалки расположились не равномерно внизу, как можно было бы предположить, а вполне себе тягаются с дешёвыми Tx!

Выводы

👉 Graviton 2 хорош. Не верьте на слово — попробуйте. Сделать это для простых вещей если не совсем просто, то точно не так сложно.

👉 Graviton 2 добавил в список "народных виртуалок" две полноценные и конкурентно недорогие виртуалки c6g.medium и m6g.medium. И если вы, как и я, раньше держали свои популярные повседневные вещи на t3/t3a small/medium, то очень стоит попробовать c6g.medium и m6g.medium. Я перевёл несколько проектов на оные и теперь радуюсь — как скорости работы, так и прайсу!

#ARM #Graviton
Качества вашего непосредственного руководства (Senior, TeamLead, PM, CTO и тп, в зависимости от занимаемой должности/положения):
🔹 Полностью устраивают
🔹 В основном устраивают
🔹 Мне по барабану, лишь бы деньги платили
🔹 Есть проблемы, не устраивают
🔹 Всё плохо, категорически не устраивают
​TGStat проводит масштабное исследование аудитории Telegram.

Команда подготовила простой, но подробный опрос, чтобы узнать, что из себя представляет аудитория мессенджера на 2021 год.

Давайте все вместе им в этом поможем: https://tgstat.ru/research

Чем больше людей пройдет исследование, тем более полным будет результат. После того, как пройдете сами, не забудьте скинуть ссылку в свои чаты и каналы — давайте охватим весь русскоязычный Telegram!
​​Проект для модерации картинок, загружаемых в S3 бакет с нотификацией в Телеграм.

https://github.com/pahud/cdk-image-moderation

Разворачивается с помощью AWS CDK.

#CDK #Telegram
Forwarded from Eugene Krasikov
новый бесплатный продвинутый курс по производительности S3 - https://aws.amazon.com/about-aws/whats-new/2021/04/new-digital-course-amazon-s3-performance-optimization/
Forwarded from Rinat Uzbekov
В этом году на нашем основном мероприятии - AWS Online Summit EMEA вас ждет целый набор сессий на русском языке!
https://aws.amazon.com/events/summits/online/emea/agenda/
Forwarded from Deleted Account
Добавлю и свою каплю в море хайпа про Гравитон. HAProxy смогли выжать балансировку двух миллионов RPS на ARM инстансе Graviton2. https://www.haproxy.com/blog/haproxy-forwards-over-2-million-http-requests-per-second-on-a-single-aws-arm-instance/
Forwarded from Rinat Uzbekov
Пять горячих вакансий в Playrix (#3 Worldwide in Mobile) - возможна удаленная работа. Стэк - AWS.
https://job.playrix.com/open-positions/#?id=cat19
5 мая DevOpsMinsk проводит онлайн митап, где будут следующие доклады:

🔷 «Как готовить Dockerfile правильно» — Aliaksandr Shulyak.
🔷 «Monitoring User Experience at Scale with Web Vitals Metrics and AWS» — Ilya Khadykin, EPAM, Software Engineer.

🕘 Дата и время: 5 мая, 17:00 - 19:00 (UTC+3)

👉Регистрация: https://community-z.com/events/dom-devopsminsk-meet-up-7
Forwarded from Rinat Uzbekov
Новый бесплатный курс - https://www.aws.training/Details/eLearning?id=72601
AWS CDK v.2:

https://aws.amazon.com/blogs/developer/announcing-aws-cloud-development-kit-v2-developer-preview/

Starting in v2, we have consolidated all of the AWS Construct Library into a single package, called aws-cdk-lib.
We also extracted the constructs programming model into a separate library, called constructs. This is the basis for a bigger ecosystem of interoperable construct libraries, and is already being used by sister projects like cdk8s and terraform-cdk.

Что ж, один из (очевидных) прогнозов на 2021 сбылся и это хорошо. 😀

#CDK