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

Chat: https://xn--r1a.website/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
Get secrets from Secrets Manager to EKS using Pod Identity instead of IRSA:

▪️ No need to create and manage service accounts for each application.
▪️ More granular control over permissions at the Pod level.
▪️ Easier to implement in large-scale environments.
▪️ Best practices for security.

https://aws.amazon.com/blogs/security/announcing-ascp-integration-with-pod-identity-enhanced-security-for-secrets-management-in-amazon-eks/

There are examples for a single- and cross-account.

#EKS #SecretsManager
5👍16
Бросайте свои ArgoCD и Flux и переходите на тёмную сторону CodePipeline + EKS deployment!

https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-eks-deploy.html

Документация:

https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-EKS.html

Пока можно лишь накликать в консоли, т.к. Terraform педалит issue выполнения команд в CodePipeline ещё с прошлого года (поставьте лайк, пожалуйста).

#CodePipeline #EKS
💩29🥴12😁8
#aws #eks #sqs #CostOptimization
Материал уровня middle.

Снова про экономию.

У нас есть AWS SQS.
В него прилетает миллион вебхуков с полезным и важным payload.
Бывают пики, бывают нет.
У нас есть AWS EKS и приложение в POD-e, который вычитывает SQS, процессит и всё ок.
Нам надо настроить масштабирование не за счёт CPU/memory usage, а за счёт количества сообщений.
В этом нам помогает KEDA. Опустим этапы установки/настройки/прав и авторизации.
У нас есть готовый манифест scaledobject.
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
cooldownPeriod: 300
maxReplicaCount: 50
minReplicaCount: 2
pollingInterval: 30
scaleTargetRef:
name: application
triggers:
- authenticationRef:
name: keda-aws-credentials
metadata:
awsRegion: us-east-1
identityOwner: operator
queueLength: "500"
queueURL: https://sqs.us-east-1.amazonaws.com/123456789/sqsname
type: aws-sqs-queue

Всё работает, всё скейлится, всё ок.
В HPA некрасиво выглядят цифры, хочется видеть точное количество мессаджем. Добавляем metricType
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
...
metricType: Value

И теперь в kubectl get hpa blablabla видим точное количество мессаджей в TARGETS(а не системы счисления инопланетян).
Этого нам мало, нужна точная подстройка.
Читаем дальше доку, у нас есть адвансед настройки.
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
advanced:
horizontalPodAutoscalerConfig:
behavior:
scaleDown:
policies:
- periodSeconds: 15
type: Pods
value: 1
stabilizationWindowSeconds: 300
scaleUp:
policies:
- periodSeconds: 15
type: Pods
value: 1
selectPolicy: Max
stabilizationWindowSeconds: 60
... (остальное так же)

Теперь у нас всё динамически скейлится, прописаны все триггеры, трешхолды.
Всё отлично и бизнес ликует(не вру, прям ликует, сильно помогло).

Однако меня, как рьяного и верного пса девопс церкви, напрягает, что в период высокой нагрузки всё упирается в максимум реплик. Да, можно поставить не 50, а 100, но я думаю, что настройка неверная.
Углубляемся дальше в доку(вру, я ничо не понял и просто спросил ребят-гуру-AWS-технологий в телеге) и вспоминаем про визибл/анвизибл настройки у sqs.
https://keda.sh/docs/2.14/scalers/aws-sqs/
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html

Окончательно пилим манифест.
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
advanced:
...(тут тоже самое)
metadata:
...
scaleOnInFlight: "false" << - - вот это вот важное нам
...


Отлично. Теперь самая точная и потрясающая настройка.
👍14
#aws #eks #sqs #CostOptimization

scaleOnInFlight
- Indication of whether or not to include in-flight messages when calculating the number of SQS messages. (default: true, Optional)

Благодаря точной настройке мы неслабо экономим:
- во время нагрузки мы не скейлим так много реплик
- нет большого лишнего скейла реплик - нет и скейла нод кластера AWS EKS
- нет скейла нод - платим серьёзно меньше

Всего один параметр и в разы снижаем нагрузку и косты.

Прежде чем делать подобное, уточните у девелоперов и бизнеса - подойдёт ли это вам и продукту.
Не все процессинги можно переключить только на инфлайт режим.

Полный пример манифеста(код в телеге неудобно читать).
https://gist.github.com/kruchkov-alexandr/e6328137107e49c6a5e7c05c40851680
👍14🔥1
EKS Terraform demo

https://github.com/setheliot/eks_demo/

Deploys:

▪️ EKS cluster using EC2 nodes
▪️ DynamoDB table
▪️ EBS volume used as attached storage for the Kubernetes cluster (a PersistentVolume)
▪️ Demo "guestbook" application, deployed via containers
▪️ ALB to access the app

#EKS #Terraform
👍5💊5
EKS community Add-ons

https://aws.amazon.com/blogs/containers/announcing-amazon-eks-community-add-ons-catalog/

Теперь можно уменьшить набор стандартных чартов для установки и поставить их через эдд-оны:

metrics-server
kube-state-metrics
prometheus-node-exporter
cert-manager
external-dns

#EKS
🔥22👍12💩32
🔥25👍7🎉2
EKS + Kubernetes 1.33 🎉

Спустя официального релиза 1.33 прошло чуть больше месяца и теперь на AWS снова актуальная версия. 💪 Сделанный в прошлый раз прогноз на эту версию был весьма неточным (ошибка 3 недели).

https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html

Версия 1.34 должна официально выйти 27 августа, так что поставлю, что 1.34 на AWS появится 3 октября 2025 года.

На текущий момент на AWS доступны для установки:

▫️ EKS Auto Mode: версии 1.30 - 1.32.
▫️ Custom configuration: версии 1.26 - 1.33.

Рекомендации по версиям EKS:

EKS 1.25 и древнее — не поддерживаются.
EKS 1.26-1.29 — поддерживаются за дополнительную плату.

❗️EKS 1.26 — перестанет поддерживаться совсем 11 июня (будет принудительно обновлён до 1.27)
❗️EKS 1.27 — перестанет поддерживаться совсем 24 июля (будет принудительно обновлён до 1.28)

⚠️ EKS 1.30 — начнёт взимать дополнительную плату 23 июля.
⚠️ EKS 1.31 — начнёт взимать дополнительную плату 26 ноября.

✔️ EKS 1.32 — минимально рекомендуемая на текущий момент (на дефолтной поддержке до 23 марта 2026 года).

EKS 1.33 — можно спать спокойно до 29 июля 2026 года.

#EKS
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥111
EKS + Kubernetes 1.34 🎉

Спустя официального релиза 1.34 прошло чуть больше месяца и теперь на AWS снова актуальная версия. 💪 Сделанный в прошлый раз прогноз на эту версию был очень точным (ошибка 1 день).

https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html

Версия 1.35 должна официально выйти 17 декабря, так что поставлю, что 1.35 на AWS появится 23 января 2026 года.

На текущий момент на AWS доступны для установки:

▫️ EKS Auto Mode: версии 1.31 - 1.34.
▫️ Custom configuration: версии 1.28 - 1.34.

Рекомендации по версиям EKS:

EKS 1.27 и древнее — не поддерживаются.
EKS 1.28-1.30 — поддерживаются за дополнительную плату.

❗️EKS 1.28 — перестанет поддерживаться совсем 26 ноября (будет принудительно обновлён до 1.29)
❗️EKS 1.29 — перестанет поддерживаться совсем 23 марта (будет принудительно обновлён до 1.30)

⚠️ EKS 1.31 — начнёт взимать дополнительную плату 27 ноября.
⚠️ EKS 1.32 — начнёт взимать дополнительную плату 24 марта.

✔️ EKS 1.33 — минимально рекомендуемая на текущий момент (на дефолтной поддержке до 29 июля 2026 года).

EKS 1.34 — можно спать спокойно до 2 декабря 2026 года.

#EKS
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3😭1