AWS Notes
📚 Два главных документа которые должен знать каждый грамотный AWS DevOps Engineer: 1️⃣ AWS CAF (AWS Cloud Adoption Framework) 2️⃣ AWS WAF (Well-Architected Framework) Это немалый объём и в реальности не два документа. Но это база. © Настоящая база, которая…
AWS Cloud Adoption Framework на русском.
https://d1.awsstatic.com/whitepapers/ru_RU/aws-cloud-adoption-framework.pdf
#design
https://d1.awsstatic.com/whitepapers/ru_RU/aws-cloud-adoption-framework.pdf
#design
👍7
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
🔹 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
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
https://aws.amazon.com/about-aws/whats-new/2024/06/amazon-eks-cluster-creation-flexibility-networking-add-ons/
#EKS
👍4🔥1🎉1
Требование указывать
◽
◽
Вскоре они будут в Optional:
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/mq_broker#engine_version
#AMQ
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
Поэтому в качестве примера добавим к
1️⃣ Ставим и настраиваем
https://oras.land/docs/installation/
На момент написания CloudShell по-прежнему на Intel (ужас какой), у кого ARM — нужно будет поменять в ссылке скрипта на
⚠️ Без
Ставим под вашу систему, в случае CloudShell это обычное:
⚠️ Без файла
Создаём, если такого не было:
Если уже был, то просто добавляем строчку:
{
"auths": {
...
2️⃣ Просмотр файлов у образа в ECR
Получим что-то типа:
То есть ничего нет.
3️⃣ Добавляем файлы к образу в ECR
4️⃣ Смотрим снова
(на картинке)
5️⃣ Получаем файлы из ECR
Сначала нужен
Теперь получаем сам файл в папку
Итого: хорошая вещь, можно напихать всякого полезного в CI/CD пайплайны на каждый образ, пользуемся.
#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 ~/.dockercat >> ~/.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/jsonoras attach 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytag --artifact-type my/readme ./readme.md:text/markdown4️⃣ Смотрим снова
(на картинке)
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
• Каждая десятая виртуалка —
Треть клиентов крутят контейнеры (ECS/EKS)
Контейнеры загружены лишь на одну шестую 👀
Лишь шестая часть проектов не использует древние виртуалки
Количество GP3 в этом году обгонит GP2
Половина стоимости на трафик — это cross-AZ ❗
Две трети используют SP/RI (Savings Plans / Reserved Instances)
• Но количество их снижается (-5%) ❓
SP в четыре раза популярней RI
Большая половина покупает SP/RI меньше, чем на половину прайса
#cost_optimisation
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
Datadog
State of Cloud Costs | Datadog
For our inaugural report, we analyzed AWS cloud cost data from hundreds of organizations to understand how their adoption of available services, technologies, and discount programs shapes their cloud costs.
👍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
Однако из-за общего оверпровизионинга кластеров это даёт всего лишь 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
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
https://aws.amazon.com/blogs/aws/low-cost-burstable-ec2-instances/
Это было реально крутое событие. Супердёшево по сравнению со всем, что было доступно тогда.
Начиная с
Памяти у
А скорость — да она просто летала! Intel Xeon E5-2686 v4 под капотом на тот момент был реальным лидером в серверах.
Просто так отдавать пользователю AWS такое счастье не захотел и добавил условие — такое счастье можно запускать только в VPC. А тогда, спустя 5 лет после появления VPC, всё ещё большинство нагрузок его не использовали. А зачем, если и так работает?
И, вот, появление столь аппетитного процессора дало сильный толчок для миграции в VPC. Сам тогда по сути окончательно мигрировал все нагрузки в VPC, оставив лишь то, что крутилось проде (и что пришлось в 2022-м году принудительно заапдейтить, т.к. кончилась поддержка EC2-Classic, как назывались инстансы без VPC).
В общем,
А потому чтодо сих пор "current generation" Processor! Да, да, это не ошибка, его нет в "previous generation" (как минимум, это верно на его десятилетие) :
https://aws.amazon.com/ec2/previous-generation/
На текущий момент
В общем, классный процессор
#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 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
🎉17❤2😁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
#security
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
wiz.io
RCE vulnerability in OpenSSH: everything you need to know | Wiz Blog
Detect and mitigate CVE-2024-6387, a remote code execution vulnerability in OpenSSH. Organizations are advised to patch urgently.
😍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
◽️ 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
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
Упал билд.
Что за ерунда, думаю. Должен ведьстоять лежать собраться — ничего ж не менялось.
Лезу в логи. Ветка, запустившая билд, выглядит чутка подозрительно:
TIL
Тэг формируется из ветки и, как оказалось, бывают весьма скурпулёзные разработчики. Поэтому их нужно фильтровать (как минимум, тэги).
Что за ерунда, думаю. Должен ведь
Лезу в логи. Ветка, запустившая билд, выглядит чутка подозрительно:
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.
Тэг формируется из ветки и, как оказалось, бывают весьма скурпулёзные разработчики. Поэтому их нужно фильтровать (как минимум, тэги).
Docker Documentation
docker image tag
😁22🤡6👍4
Полезная ссылочка для вечных дискуссий о "небезопасности облаков".
https://www.abc.net.au/news/2024-07-04/amazon-contract-top-secret-australian-military-intelligence/104057196
#security
https://www.abc.net.au/news/2024-07-04/amazon-contract-top-secret-australian-military-intelligence/104057196
#security
www.abc.net.au
Amazon wins $2b contract to store 'top-secret' Australian military intelligence
American technology giant Amazon will establish a "top-secret" data cloud to store classified Australian military and intelligence information under a partnership with the federal government.
👍8
AWS Notes
Полезная ссылочка для вечных дискуссий о "небезопасности облаков". https://www.abc.net.au/news/2024-07-04/amazon-contract-top-secret-australian-military-intelligence/104057196 #security
В дополнение, секретные регионы AWS:
AWS partitions:
AWS partition — это часть, которая идёт в начале ARN:
Обычно тут
Поэтому, если вы захардкодили 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
AWS partitions:
aws-iso CIA, USaws-iso-b DoD, USaws-iso-e MI6, UKaws-iso-f NSA, USaws-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
Amazon
Pseudo parameters reference - AWS CloudFormation
Lists the details of the available pseudo parameters that are predefined by AWS CloudFormation.
🤯7🔥6🤡1
Какой чудный пайплайн для деплоя вебсайта на S3:
React app => build Docker image => ArgoCD on Kubernetes => Kubernetes to S3
Все модные технологии задействованы, GitOps в полный рост!
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. Не абракадабра, конечно, но тоже звучит прикольно.
С Днём Рождения, Амазон!
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