AWS Notes
Open in Telegram
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.
Show more5 821
Subscribers
-124 hours
-37 days
+130 days
Posts Archive
5 822
Repost from N/a
EC2
T2 виртуалкам 10 лет! 🎉
https://aws.amazon.com/blogs/aws/low-cost-burstable-ec2-instances/
Это было реально крутое событие. Супердёшево по сравнению со всем, что было доступно тогда. T1, которые были тоже в своё время дешёвыми, когда появились в 2010-м году, по сравнению с T2 выглядели уже тогда динозаврами — сильно медленней и сильно дороже (почти в два раза).
Начиная с T2 вместо фиктивных ECU (Effective Compute Units) для измерения производительности использовались "честные" vCPU, отражающие реальные ядра процессора, по крайней мере, без попытки пересчитать их по какому-то своему хитрому рейтингу.
Памяти у t2.micro был целый (почти) честный гигабайт! Ну, по крайней мере не позорные 0.6 GB как в t1.micro.
А скорость — да она просто летала! Intel Xeon E5-2686 v4 под капотом на тот момент был реальным лидером в серверах.
Просто так отдавать пользователю AWS такое счастье не захотел и добавил условие — такое счастье можно запускать только в VPC. А тогда, спустя 5 лет после появления VPC, всё ещё большинство нагрузок его не использовали. А зачем, если и так работает?
И, вот, появление столь аппетитного процессора дало сильный толчок для миграции в VPC. Сам тогда по сути окончательно мигрировал все нагрузки в VPC, оставив лишь то, что крутилось проде (и что пришлось в 2022-м году принудительно заапдейтить, т.к. кончилась поддержка EC2-Classic, как назывались инстансы без VPC).
В общем, T2 — реально самый эпохальный процессора на AWS. И, знаете, ещё почему?
А потому что T2 до сих пор "current generation" Processor! Да, да, это не ошибка, его нет в "previous generation" (как минимум, это верно на его десятилетие):
https://aws.amazon.com/ec2/previous-generation/
C4/M4, вышедшие в 2015-2016-м, уже отправлены на пенсию, даже A1 из 2018-го уже списали, а T2 всё ещё бодрячком! И по-прежнему в качестве дефолтного во Free Tier.
На текущий момент T2 единственный не из Nitro семейства. Понятно, что Nitro ещё не было, а он был. Он последний доступный процессор, умеющий в paravirtual и даже 32 bit!
T2 был один из самых популярных, вроде второй по популярности, из всех процессоров в 2020-м году. Так что, скорей всего, такая популярность и не даёт простой возможности отправить его, не Nitro-based на покой.
В общем, классный процессор T2. И не пишу "был". Много связано с ним хороших воспоминаний. И наверняка у вас до сих пор крутится что-то на T2, верно? И не только в проде, да? А если найду? 😁
#EC25 822
Repost from N/a
EC2
T2 виртуалкам 10 лет! 🎉
https://aws.amazon.com/blogs/aws/low-cost-burstable-ec2-instances/
Это было реально крутое событие. Супердёшево по сравнению со всем, что было доступно тогда. T1, которые были тоже в своё время дешёвыми, когда появились в 2010-м году, по сравнению с T2 выглядели уже тогда динозаврами — сильно медленней и сильно дороже (почти в два раза).
Начиная с T2 вместо фиктивных ECU (Effective Compute Units) для измерения производительности использовались "честные" vCPU, отражающие реальные ядра процессора, по крайней мере, без попытки пересчитать их по какому-то своему хитрому рейтингу.
Памяти у t2.micro был целый (почти) честный гигабайт! Ну, по крайней мере не позорные 0.6 GB как в t1.micro.
А скорость — да она просто летала! Intel Xeon E5-2686 v4 под капотом на тот момент был реальным лидером в серверах.
Просто так отдавать пользователю AWS такое счастье не захотел и добавил условие — такое счастье можно запускать только в VPC. А тогда, спустя 5 лет после появления VPC, всё ещё большинство нагрузок его не использовали. А зачем, если и так работает?
И, вот, появление столь аппетитного процессора дало сильный толчок для миграции в VPC. Сам тогда по сути окончательно мигрировал все нагрузки в VPC, оставив лишь то, что крутилось проде (и что пришлось в 2022-м году принудительно заапдейтить, т.к. кончилась поддержка EC2-Classic, как назывались инстансы без VPC).
В общем, T2 — реально самый эпохальный процессора на AWS. И, знаете, ещё почему?
А потому что T2 до сих пор "current generation" Processor! Да, да, это не ошибка, его нет в "previous generation" (как минимум, это верно на его десятилетие):
https://aws.amazon.com/ec2/previous-generation/
C4/M4, вышедшие в 2015-2016-м, уже отправлены на пенсию, даже A1 из 2018-го уже списали, а T2 всё ещё бодрячком! И по-прежнему в качестве дефолтного во Free Tier.
На текущий момент T2 единственный не из Nitro семейства. Понятно, что Nitro ещё не было, а он был. Он последний доступный процессор, умеющий в paravirtual и даже 32 bit!
T2 был один из самых популярных, вроде второй по популярности, из всех процессоров в 2020-м году. Так что, скорей всего, такая популярность и не даёт простой возможности отправить его, не Nitro-based на покой.
В общем, классный процессор T2. И не пишу "был". Много связано с ним хороших воспоминаний. И наверняка у вас до сих пор крутится что-то на T2, верно? И не только в проде, да? А если найду? 😁
#EC25 822
Мои базовые AI инструменты:
https://chatgpt.com/
ChatGPT точно знают все. Лидер и мастхэв инструмент уже не один год и, предположу, останется таковым в будущем.
https://www.perplexity.ai/
Многим уже сейчас заменил Google, т.к. понимает контекст и сложные запросы типа "Отсортируй по популярности AWS сертификаций в Бразилии".
https://claude.ai/
Claude исключительно хорош, глубокое понимание контекста и связей, субъективно лучше ChatGPT. Отдельно можно сказать, что это наверняка выбор интроверта. 😁
https://www.deepl.com/
И переводчик, и, особенно, "улучшатель" языка — удобный, быстрый, просто лучший. Остальные инструменты в этой нише, даже весьма популярные, типа Grammarly, позади.
https://myninja.ai/
Самый свежий из всех инструментов, на день написания позволяет выбрать ответ среди 20 популярных моделей, причём 14 из них, которые доступны через Amazon Bedrock (см. картинку). Уникален тем, что натренирован на Амазоновском железе, короче, вообще просто AWS-ный проект (хотя есть и OpenAI - 3 шт., и Google - 3 шт.). Выглядит очень перспективно, хоть пока есть прямые признаки недоделанности (например, нет простой возможности грузить картинки), но делать глубокий анализ с ним прямо очень круто, собирая ответ с разных моделей (правда не стоит ставить сразу много моделей — очень быстро кончатся деньги).
Поделитесь своими, ставшими обычными, AI инструментами — речь про базовые, широкого профиля, либо как-то привязанные к IT или DevOps.
P.S. AI инструменты для кодинга здесь не упомянуты — это отдельная категория.
#AI
5 822
Интересные цифры по загрузке контейнеров. Получается, что в среднем контейнеры загружены чуть более, чем на половину (17/29=59%).
Однако из-за общего оверпровизионинга кластеров это даёт всего лишь 17% загрузки.
Итого.
Fargate на бумаге на 20-30% дороже EC2.
А на деле — в 2-3 раза выгоднее!
5 822
Использование ресурсов в AWS:
https://www.datadoghq.com/state-of-cloud-costs/
Каждая шестая виртуалка — GPU
Каждая шестая виртуалка — ARM
• Каждая десятая виртуалка —
T4g 💪
Треть клиентов крутят контейнеры (ECS/EKS)
Контейнеры загружены лишь на одну шестую 👀
Лишь шестая часть проектов не использует древние виртуалки
Количество GP3 в этом году обгонит GP2
Половина стоимости на трафик — это cross-AZ ❗
Две трети используют SP/RI (Savings Plans / Reserved Instances)
• Но количество их снижается (-5%) ❓
SP в четыре раза популярней RI
Большая половина покупает SP/RI меньше, чем на половину прайса
#cost_optimisation5 822
ECR + OCI v1.1 = добавляем любой файл к образу в ECR
0️⃣ Историческая справка
OCI 1.0 появился в далёком 2017-м. Поддержка OCI 1.0 появилась в ECR в 2020-м:
https://aws.amazon.com/blogs/containers/oci-artifact-support-in-amazon-ecr/
Это позволило добавлять Helm чарты сразу к запушенному в ECR образу.
Релиз OCI v1.1 вышел в начале 2024 г. и теперь он поддерживается ECR:
https://aws.amazon.com/about-aws/whats-new/2024/06/amazon-ecr-oci-image-distribution-version-1-1/
Релиз 1.1 позволяет стандартизированно, без костылей с созданием кучи спамовских тэгов, добавить нужное к любому образу.
Документация по поводу работы с OCI в AWS на момент написания крайне ограниченная:
https://docs.aws.amazon.com/AmazonECR/latest/userguide/images.html
Поэтому в качестве примера добавим к
sbom.json и readme.md к образу в ECR. Я буду для этого использовать AWS CloudShell.
1️⃣ Ставим и настраиваем oras:
https://oras.land/docs/installation/
На момент написания CloudShell по-прежнему на Intel (ужас какой), у кого ARM — нужно будет поменять в ссылке скрипта на arm64.
⚠️ Без amazon-ecr-credential-helper он даст ошибку:
Error: basic credential not found
Ставим под вашу систему, в случае CloudShell это обычное:
sudo yum install amazon-ecr-credential-helper
⚠️ Без файла ~/.docker/config.json также будет ошибка:
Error: failed to decode config file at /home/cloudshell-user/.docker/config.json: invalid config format: EOF
Создаём, если такого не было:
mkdir ~/.docker
cat >> ~/.docker/config.json << EOF
{
"credsStore": "ecr-login"
}
EOF
Если уже был, то просто добавляем строчку:
{
"credsStore": "ecr-login",
"auths": {
...
2️⃣ Просмотр файлов у образа в ECR
oras discover 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytag
Получим что-то типа:
0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo@sha256:54408c668558c601e7fb564a912343af3edfe5f4f5a1922086a8be87d8f74923
То есть ничего нет.
3️⃣ Добавляем файлы к образу в ECR
oras attach 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytag --artifact-type my/sbom ./sbom.json:application/json
oras attach 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytag --artifact-type my/readme ./readme.md:text/markdown
4️⃣ Смотрим снова
(на картинке)
5️⃣ Получаем файлы из ECR
Сначала нужен digest файла:
oras discover --artifact-type 'my/readme' 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytag --format json | jq -r ".manifests[0].digest"
Теперь получаем сам файл в папку myfiles:
oras pull 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo@sha256:bdd414443ed04e69a09a9eab979d5e3950197341cc8c81a8d9001431685b571f --output myfiles
Итого: хорошая вещь, можно напихать всякого полезного в CI/CD пайплайны на каждый образ, пользуемся.
#ECR5 822
Требование указывать
EngineVersion для Amazon MQ наконец-то убрали:
◽ EngineVersion field is optional for both broker and configuration and uses the latest available version by default.
◽ AutoMinorVersionUpgrade field is also now optional for broker creation and defaults to true.
Вскоре они будут в Optional:
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/mq_broker#engine_version
#AMQ5 822
Disabling unmanaged EKS addons during cluster creation.
https://aws.amazon.com/about-aws/whats-new/2024/06/amazon-eks-cluster-creation-flexibility-networking-add-ons/
#EKS
5 822
Compare where to store static data for serverless apps:
🔹 DynamoDB
🔸 S3
🔹 SSM Parameter Store
🔸 AppConfig
https://www.serverlessguru.com/blog/cost-effective-management-of-static-data-in-serverless-apps
#serverless #cost_optimisation
5 822
AWS Cloud Adoption Framework на русском.
https://d1.awsstatic.com/whitepapers/ru_RU/aws-cloud-adoption-framework.pdf
#design
5 822
2 trillion league
🔸Amazon 🆕
🔹Apple
🔹Google
🔹Microsoft
🔹Nvidia
https://www.cnbc.com/2024/06/26/amazon-reaches-2-trillion-market-cap-for-the-first-time.html
5 822
5 822
Claude 3.5 Sonnet on AWS Bedrock
https://www.aboutamazon.com/news/aws/amazon-bedrock-anthropic-ai-claude-3-5-sonnet
#Bedrock #Claude
5 822
aws --debug
В случае проблем при работе с AWS CLI стоит помнить про стандартный ключик --debug, который покажет всё, что происходит под капотом во время выполнения команды aws.
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/index.html#global-options
Любая команда выдаст простыню логов, в частности, если присмотреться, то можно увидеть, как команда aws перебирает источники credentials:
Looking for credentials via: env
Looking for credentials via: assume-role
Looking for credentials via: shared-credentials-file
Looking for credentials via: custom-process
Looking for credentials via: config-file
Looking for credentials via: ec2-credentials-file
Looking for credentials via: boto-config
Looking for credentials via: container-role
Looking for credentials via: iam-role
В результате наглядно видны приоритеты получения aws-cli credentials, что вполне может навести на мысль, почему не работает как нужно.
Если же думать и присматриваться лень, то скормив эту простыню ChatGPT, можно рассчитывать на максимально точные рекомендации.
#aws_cli