AWS Notes
5.6K subscribers
443 photos
42 videos
10 files
2.8K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://t.iss.one/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
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
👍11🔥7🥰2
👍4🔥1🎉1
Требование указывать 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

#AMQ
👍1
​​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 пайплайны на каждый образ, пользуемся.

#ECR
🔥6👍4❤‍🔥1
Использование ресурсов в 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_optimisation
👍12🤔1
AWS Notes
Использование ресурсов в AWS: https://www.datadoghq.com/state-of-cloud-costs/ Каждая шестая виртуалка — GPU Каждая шестая виртуалка — ARM • Каждая десятая виртуалка — T4g 💪 Треть клиентов крутят контейнеры (ECS/EKS) Контейнеры загружены лишь на одну шестую…
Интересные цифры по загрузке контейнеров. Получается, что в среднем контейнеры загружены чуть более, чем на половину (17/29=59%).

Однако из-за общего оверпровизионинга кластеров это даёт всего лишь 17% загрузки.

Итого.

Fargate на бумаге на 20-30% дороже EC2.
А на деле — в 2-3 раза выгоднее!

#Fargate #EC2 #cost_optimization
👍16😁2👎1
​​Мои базовые 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
14👍7🔥2🤡2👏1
Forwarded from AWS History
​​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, верно? И не только в проде, да? А если найду? 😁

#EC2
🎉172😁1
AWS + CVE-2024-6387 (RCE vulnerability in OpenSSH)

Amazon Linux 2 - Not Affected
Amazon Linux 2023 - Pending Fix ⚠️

https://explore.alas.aws.amazon.com/CVE-2024-6387.html

CVE-2024-6387 description:

https://www.wiz.io/blog/cve-2024-6387-critical-rce-openssh

Based on what is currently known about this vulnerability, Wiz Research estimates that widespread exploitation is unlikely.

The vulnerability has only been proven as exploitable under lab conditions on 32-bit Linux/glibc systems with ASLR. Exploitation on 64-bit systems has not been proven but is believed to be possible.


#security
😍3👻1
​​Slack Gateway for Amazon Bedrock:

https://github.com/aws-samples/amazon-bedrock-slack-gateway

◽️ in DMs it responds to all messages
◽️ in channels it responds only to @mentions
◽️ aware of conversation context - it tracks the conversation and applies context
◽️ aware of multiple users - when it's tagged in a thread, it knows who said what, and when - so it can contribute in context and accurately summarize the thread when asked.

#Bedrock #Slack
🔥7
Упал билд.

Что за ерунда, думаю. Должен ведь стоять лежать собраться — ничего ж не менялось.

Лезу в логи. Ветка, запустившая билд, выглядит чутка подозрительно:

AI-9671-backend-incorrect-number-of-parameters-in-response-when-executing-GET-workspaces-owner_id-parameters-request-with-Role-query-filter


TIL

The tag must be valid ASCII and can contain lowercase and uppercase letters, digits, underscores, periods, and hyphens. It can't start with a period or hyphen and must be no longer than 128 characters.


Тэг формируется из ветки и, как оказалось, бывают весьма скурпулёзные разработчики. Поэтому их нужно фильтровать (как минимум, тэги).
😁22🤡6👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Не забудь про бэкап. И каску.

#пятничное
🔥21😁13
AWS Notes
Полезная ссылочка для вечных дискуссий о "небезопасности облаков". https://www.abc.net.au/news/2024-07-04/amazon-contract-top-secret-australian-military-intelligence/104057196 #security
В дополнение, секретные регионы AWS:

AWS partitions:

aws-iso CIA, US
aws-iso-b DoD, US
aws-iso-e MI6, UK
aws-iso-f NSA, US
aws-iso-? ASD (Australian Signals Directorate)

AWS partition — это часть, которая идёт в начале ARN:

arn:aws:iam::0123456789012:role/AWSDevOpsRole


Обычно тут aws, но для китайского AWS это будет aws-cn, а для AWS GovCloud — aws-us-gov.

Поэтому, если вы захардкодили AWS partition, то ваш код не заработает в Китае или в GovCloud. Чтобы сделать нормально, нужно использовать соответствующую переменную.

Terraform:

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition

CloudFormation:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-partition

#AWS_Regions
🤯7🔥6🤡1
Какой чудный пайплайн для деплоя вебсайта на S3:

React app => build Docker image => ArgoCD on Kubernetes => Kubernetes to S3

Все модные технологии задействованы, GitOps в полный рост!
😁25💊6
Happy Birthday, Amazon! 🎉

5 июля 1994-го года у себя в гараже Джефф Безос открыл фирму и думал как её назвать. Ему нравилось название Abracadabra, но оно почему-то не понравилось юристам. Те попытались сократить хотя бы до Cadabra, но это не устроило Джеффа.

После была попытка назвать Relentless, но тоже не прокатило (хотя relentless.com вполне себе работает).

В результате выбрали:

1. Чтобы начиналось на А (первая буква в каталогах).
2. Название самой большой реки в мире.
3. Не абракадабра, конечно, но тоже звучит прикольно.

С Днём Рождения, Амазон!
🎉36🔥6👍4
From this point on, the intelligence of LLMs will only continue to improve. Human intelligence will not.


Задумайтесь, смертные!
👍2