AWS Notes
Ir al canal en 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.
Mostrar más5 821
Suscriptores
+124 horas
+27 días
Sin datos30 días
Archivo de publicaciones
5 823
Preventing Data Leaks in RAG Pipelines with Bedrock
🔹 Securing the RAG Ingestion Pipeline
https://aws.amazon.com/blogs/security/securing-the-rag-ingestion-pipeline-filtering-mechanisms/
🔹 Hardening the RAG Chatbot Architecture
https://aws.amazon.com/blogs/security/hardening-the-rag-chatbot-architecture-powered-by-amazon-bedrock-blueprint-for-secure-design-and-anti-pattern-migration/
🔹 Building Secure and Scalable RAG Applications with Bedrock
https://aws.amazon.com/blogs/machine-learning/building-scalable-secure-and-reliable-rag-applications-using-amazon-bedrock-knowledge-bases/
#Bedrock #security
5 823
Repost from Make. Build. Break. Reflect.
Есть база данных AWS RDS(
8.0.mysql_aurora.3.08.0) + RDS Proxy.
К базе подключено N клиентов-приложений. Допустим их 10. Все подключены через прокси.
Появилась задача понять "кто из приложений кушает больше всего коннекшнов и отобразить это на графике".
Большее обсервабилити, большая детализация. Больше SRE👏
Однако штатно таких метрик не существует(ну или же я просто не нашёл).
Вариант с лямбдой и
SELECT usename, count(*)
FROM pg_stat_activity
GROUP BY usename;
Мне показался туповатым.
❕Я не знаю как это делают правильные инженеры, опишу свой вариант решения, который сделал в выходные.
- создаем в базе данных 10 новых пользователей с нужными правами
- добавляем креды новых юзеров в secret manager
- добавляем аксесс этих юзеров на RDS proxy кредами из secret manager
resource "aws_db_proxy" "this" {
...
auth {
auth_scheme = "SECRETS"
iam_auth = "DISABLED"
client_password_auth_type = "MYSQL_NATIVE_PASSWORD"
secret_arn = aws_secretsmanager_secret.user1_credentials.arn
}
auth {
auth_scheme = "SECRETS"
iam_auth = "DISABLED"
client_password_auth_type = "MYSQL_NATIVE_PASSWORD"
secret_arn = aws_secretsmanager_secret.user2_credentials.arn
}
...
}
- создаем новые rds proxy endpoint для каждого из приложений/юзера
resource "aws_db_proxy_endpoint" "this" {
...
db_proxy_endpoint_name = "${var.project}-${var.environment}-user1"
target_role = "READ_WRITE"
...
}
resource "aws_db_proxy_endpoint" "this" {
...
db_proxy_endpoint_name = "${var.project}-${var.environment}-user2"
target_role = "READ_WRITE"
...
}
- переключаем каждое из приложение на свой собственный RDS proxy endpoint через переменные окружения
Отлично, теперь у нас каждый микросервис подключен к отдельному RDS proxy endpoint с отдельными кредами.
Теперь идём в AWS CloudWatch в Dashboards.
У нас есть метрики и мы их можем смело раскинуть по каждому из RDS proxy Endpoint
- ClientConnections - DatabaseConnections - AvailableConnectionPercent - ConnectionAttempts - QueryRequests - QueryRequestsPerSecСмело строим графики и видим все интересующие параметры по каждому пользователю/приложению. Итог: На выходе у нас дашборд, который показывает массу деталей по конкретно каждому юзеру/приложению, что очень важно понять например кто больше делает нагрузки на БД. Дополнительно: - перед реализацией не забывайте про ограничения: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html - всё тоже самое можно сделать создав несколько RDS proxy для каждого приложения, но и платить придётся сильно больше - есть вы подключили в своей Grafana datasource=CloudWatch, то он пока не умеет выводить метрики дименшна по endpoint, только по отдельным RDS proxy. Пока красивые графики только в CloudWatch Dashboard. #AWS #observability #cloudwatch
5 823
Работает — не трогай.Авторство: AI от https://lovable.dev/ (самый быстрорастущий AI-стартап от авторов gpt-engineer). Source. #AI #пятничное
5 823
kro выиграл. Helm всё. Они договорились.
https://cloud.google.com/blog/products/containers-kubernetes/introducing-kube-resource-orchestrator
GCP, AWS и Azure поставили на kro:
https://github.com/kro-run/kro
#Kubernetes #kro #OpenSource5 823
Знаю, что устали, но нужно ж закрыть гештальт:
https://aws.amazon.com/blogs/aws/deepseek-r1-models-now-available-on-aws/
#Bedrock #Sagemaker #DeepSeek
5 823
r8g RDS PG полет прекрасный. r6g>r7g было улучшение, теперь такое же улучшение r7g>r8g
5 823
Стыд и скрам:
Within minutes, we found a publicly accessible ClickHouse database linked to DeepSeek, completely open and unauthenticated, exposing sensitive data. It was hosted at oauth2callback.deepseek.com:9000 and dev.deepseek.com:9000.https://www.wiz.io/blog/wiz-research-uncovers-exposed-deepseek-database-leak #security
5 823
Выбор AWS региона в Европе
В Stockholm
eu-north-1 завезли Graviton 4 C8g инстансы. Как обычно, самые дешёвые в Европе.
https://aws.amazon.com/about-aws/whats-new/2025/01/amazon-ec2-c8g-instances-aws-europe-stockholm
Теперь в Европе уже целый набор регионов и если у вас проект для EU, то не всегда очевидно, что ж выбрать. Понятно, что если только одна страна и/или требования хранить данные локально, то тут понятно, где нужно, тот и регион. Но если просто EU/UK или вообще Европа? Вот некоторые критерии.
Исторически самый первый регион — Ireland. Многие по привычке считают, что это самый дешёвый и что там больше всего разных типов виртуалок. Уже нет. Для старых ещё актуально, для новых нет.
Самый дешёвый регион (речь про EC2) — Stockholm. Дешевле самого дорогого Frankfurt eu-central-1 на 10-15%. Однако несмотря на цену, Frankfurt очень важный (особенно по части сети и локальных зон) и, скажем так, "передовой" регион, куда и сервисы завозят быстрее и виртуалки новые.
Второй по дешевизне (чуть-чуть дешевле Ireland или столько же) и при этом наличии современных типов виртуалок — Spain eu-south-2.
Эти четыре региона — Ireland, Frankfurt, Stockholm, Spain рекомендую рассматривать в первую очередь при прочих равных.
#AWS_Regions #EC2 #cost_optimization5 823
DeepSeek — что за шум, простыми словами
DeepSeek — китайская компания, выпустившая в конце января Open Source модель DeepSeek-R1:
https://github.com/deepseek-ai/DeepSeek-R1
R1 — это "думающая" (reasoning) модель, прямой конкурент OpenAI o1, условно самой крутой на сегодняшний момент.
Собственно она и наделала столько шуму, потому что показала очень близкие результаты, где-то даже лучше. При этом она Open Source и резко выбивается из общего ряда способом "размышления" и потрясающей скоростью работы. А также ценой, которая в десятки раз меньше текущих на рынке.
При этом месяцем раньше компания выпустила DeepSeek-V3 — прямой конкурент GPT-4o:
https://github.com/deepseek-ai/DeepSeek-V3
Она круче его на голову, но все дружно проигнорили это, т.к. Claude 3.5 Sonnet тоже лучше и все давно привыкли, что тут ничего нового.
К модели R1 прилагается детальный процесс, как она была получена из которого следует, что стоимость обучения модели на порядок меньше, чем у OpenAI сотоварищи.
Как же им это удалось? Если говорить максимально упрощённо, они тупо пропустили самый дорогой и долгий этап проверки результатов работы модели живыми людьми. Берём запрос, генерируем ответ, смотрим, чтобы он был не хуже того, что генерит OpenAI или Claude. Если хуже, переделываем. Всё.
Нет людей, машины учатся у машин.
Можно сравнить с AlphaGo, которая сначал обучалась на партиях профи, а после тренировалась сама с собой методом проб и ошибок.
Ну, а дальше уже подключились политические аспекты противостояния USA-China, что отразилось и на рынке, вызвав резкое снижение акций NVIDIA.
Из некоторых сообщений можно было сделать вывод, что какая-то неизвестная компания с минимальными ресурсами уделала лидеров рынка, что приведёт к крушению AI индустрии вообще и NVIDIA в частности.
Это не так. Любое удешевление технологии приводит к увеличению спроса на железо, а не уменьшению. Все хотят этим воспользоваться, так что DeepSeek это спонсор NVIDIA, просто в будущем.
Касаемо ресурсов, то известно, что материнская компания DeepSeek владеет многими десятками тысяч карт AI ускорителей от NVIDIA, которые при этом запрещено экспортировать в Китай.
Подытожу, DeepSeek получил такую вирусность благодаря тому, что это Open Source. Почему такое эффективное решение сделали сделали Open Source, это уже второй вопрос. И время для этого получилось очень удачное — Lllama 4 ещё не вышла и на сейчас R1 на вершине хайпа.
R1 прямо сейчас уже есть и в AWS, и в Perplexity Pro.
Все спешат его поставить, можно даже поставить и себе локально на компьютер, ведь это Open Source.
Open Source is the way!
#AI #OpenSource #DeepSeek
5 823
DeepSeek-R1-Distill-Llama + Bedrock:
https://github.com/aws-samples/amazon-bedrock-samples/blob/main/custom-models/import_models/llama-3/DeepSeek-R1-Distill-Llama-Noteb.ipynb
#Bedrock
5 823
Repost from Make. Build. Break. Reflect.
Самая удивительная особенность, которая обнаружилась после перехода RDS(
8.0.mysql_aurora.3.08.0) на Gravitron v2, это способность на высокий утилизации CPU не снижать эффективность/производительность.
А я не знаю как это точнее назвать, пусть будет слово эффективность.
Давайте к примерам.
Когда был db.r5.2xlarge, при CPU usage 85-100% длительностью больше 10-15 минут начиналась небольшая, но деградация работы с базой данных.
Из замеченного мной:
- небольшое отставание лага у read реплик
- timeout со стороны приложения к бд(для новых коннекшнов)
- slow query (честно говоря они появлялись примерно после 22-24 минут непрерывного CPU usage 85-100%)
- очереди запросов (самое больное по бизнес аппликейшн, почти везде real-time)
- binary log писался с небольшим лагом(используется для Debezium+Kafka для реалтайма)
Когда переключили на db.r6g.2xlarge при ровно таких же жёстких нагрузках:
- регулярные миграции
- по расписанию какие-то профилактические работы
- онбординг новых очень крупных клиентов (там прям DP-MySQL series в этот момент)
- запуск snowflake
- запуск retool,
база свободно выдерживает 85-100% в течении длительного времени 15-30 минут без снижения эффективности.
Никаких диких таймаутов, никаких слоулогов, даже репликация проходит без лагов.
Какая-то удивительная магия для меня.
Заставляет задуматься и даже скорректировать алёрты на такое поведение.
И да, я не знаю причина тому смена c5->r6 или же невероятная магия ARM у Gravitron.
* К сожалению графики Grafana, графики и логи у NewRelic в качестве доказательств не могу предоставить:
там если замазать, то будет совсем непонятно, а без замазки полный NDA, а потому без картиночек.
Trust me, Neo.
#AWS #CostOptimization5 823
SwiftChat — референс-проект от AWS для создания AI-чата:
https://github.com/aws-samples/swift-chat
React + Bedrock, поддержка Ollama, DeepSeek, OpenAI, Nova.
#Bedrock
5 823
Новый понедельник, новая китайския моделька от DeepSeek — Janus Pro 7B для создания картинок:
https://github.com/deepseek-ai/Janus
Janus Pro по бенчмаркам вровень или лучше OpenAI DALL-E 3 и Stable Diffusion. Тоже Open Source, так что можно пользоваться:
https://huggingface.co/deepseek-ai/Janus-Pro-7B
#AI
5 823
А давайте будем клепать тулы с одинаковыми названиями, чтобы все страдали? А давайте!
Встречайте — Microsoft DocumentDB:
https://github.com/microsoft/documentdb
Microsoft DocumentDB (не путать с Amazon DocumentDB) — это Open Source NoSQL база данных на базе PostgreSQL, которая используется в Azure под капотом Azure Cosmos DB for MongoDB.
В полку конкурентов прибыло и теперь обновлять сравнение MongoDB Atlas vs Amazon DocumentDB:
https://www.mongodb.com/lp/cloud/atlas/compare-mongodb-vs-documentdb
#DocumentDB #NoSQL #MongoDB #Azure
5 823
Open Source replacements for OpenAI Operator:
https://github.com/browser-use/browser-use
https://github.com/browserbase/open-operator
#AI #OpenSource
5 823
EKS + Kubernetes 1.32 🎉
Спустя официального релиза 1.32 прошло лишь полтора месяца и теперь на AWS снова актуальная версия. 💪 Сделанный в прошлый раз прогноз на эту версию был весьма точным (ошибка 4 дня).
https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
Версия 1.33 должна официально выйти
23 апреля, так что поставлю, что 1.33 на AWS появится 7 мая 2025 года.
На текущий момент на AWS доступны для установки:
▫️ EKS Auto Mode: версии 1.29 - 1.32.
▫️ Custom configuration: версии 1.28 - 1.32.
Рекомендации по версиям EKS:
❌ EKS 1.23 и древнее — не поддерживаются.
❎ EKS 1.24-1.28 — поддерживаются за дополнительную плату.
❗️EKS 1.24 — перестанет поддерживаться совсем 31 января (будет принудительно обновлён до 1.25)
❗️EKS 1.25 — перестанет поддерживаться совсем 1 мая (будет принудительно обновлён до 1.26)
⚠️ EKS 1.29 — начнёт взимать дополнительную плату 23 марта.
⚠️ EKS 1.30 — начнёт взимать дополнительную плату 23 июля.
✔️ EKS 1.31 — минимально рекомендуемая на текущий момент (на дефолтной поддержке до 26 ноября).
✅ EKS 1.32 — можно спать спокойно до 23 марта 2026 года.
#EKS5 823
OpenTofu 1.9:
for_each in the provider block
https://opentofu.org/docs/intro/whats-new/#provider-iteration-for_each
variable "regions" {
description = "A list of regions."
type = set(string)
}
provider "aws" {
alias = "by_region"
region = each.value
for_each = var.regions
}
module "deploy" {
source = "./deploy"
providers = {
aws = aws.by_region[each.key]
}
}
#OpenTofu