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
IAM Permissions Boundary на защите Лямбда инфраструктуры:

https://www.iampulse.com/t/control-the-blast-radius-of-your-lambda-functions-with-an-iam-permissions-boundary

▪️ Problem 1: IAM is hard and application developers aren’t IAM experts
▪️ Problem 2: Traditional organisational policy may disallow IAM role creation by application teams
An IAM permissions boundary allows us to get the best of both worlds:
▫️ Application team retains ownership of granular permissions in per-function roles and can ship independently 👍
▫️ Platform team can continue to enforce a maximum blast radius (equal to the EC2Application role) on the application, regardless of how developers specify their function policies 👍

#IAM #Lambda #security
Forwarded from Diana
💥Boom! Встречайте виртуальную AWS Tech Conference от AWS User Group Ukraine!

В программе конференции:
— 6 хайлоад докладов
— 6 воркшопов с тренерами AWS
— Ask an Expert из AWS
— 1500 участников онлайн
— призы за лучшие вопросы

Спикеры — команда AWS из разных уголков мира, поэтому доклады будут на украинском, русском и английском языках.

Суперинтересно будет backend разработчикам и DevOps.

📍 Где и когда: 19 октября с 10:00 до 17:00, онлайн.
Участие бесплатное по предварительной регистрации: https://bit.ly/3APLZv8

Присоединяйся к конференции, чтобы стать pro в работе с AWS!
Facebook упал и уронил большую часть интернета.
https://downdetector.com
Вопрос от коллег из Facebook — У вас есть Disaster Recovery Plan?
Anonymous Poll
22%
Да
20%
Нет
19%
А что это такое?
39%
Посмотреть результаты
Некоторые выводы (зарубки наподумать для себя) по падению Facebook 4 октября

Network Engineer

Круто быть сетевиком — никто тебя не видит, никто тебя не знает, а потом бац — и знают все!

Удалёнка — новый взгляд

Как выяснилось, когда что-то жестоко падает, то девять сисадминов на удалёнке не заменят одного админа в датацентре. Просто подключиться в локальную сеть при таком сбое было нереально, потому ковидные удалёнщики не смогли помочь, что увеличило время реакции на падение.

Чем плоха авторизация через интернет

Системы авторизации для работы с инфраструктурой не должны зависеть от работы инфраструктуры. Прикольно (на самом деле нет), когда тебя не пускают по пропуску в здание, чтобы починить ситуацию, когда тебя не пускают по пропуску в здание.

Как было с поспешившими в офис работниками Facebook, которые не могли попасть в офис, чтобы починить ситуацию, из-за которой они не могли попасть в офис.

Чем плохо (хорошо?) падение лидеров для конкурентов

Столь длительное падение лидера сегмента рынка привело к перетоку его конкурентам. Что, судя по тормозам того же Твиттера,Телеграм и других, стало для многих не радостью, а проблемой. Интересно отметить столь огромный (и относительно длительный - часы) наплыв реальных живых клиентов и как обрушившееся счастье обрушило многие сервисы.

Как проверить наличие ошибок в системе для проверки наличия ошибок?

Our systems are designed to audit commands like these to prevent mistakes like this, but a bug in that audit tool didn’t properly stop the command.

Disaster Recovery тестирование — залог Disaster Recovery

Helpfully, this is an event we’re well prepared for thanks to the “storm” drills we’ve been running for a long time now. In a storm exercise, we simulate a major system failure by taking a service, data center, or entire region offline, stress testing all the infrastructure and software involved. Experience from these drills gave us the confidence and experience to bring things back online and carefully manage the increasing loads.

#мысли #выводы #design
OpenSearch 1.1.0 с поддержкой Cross-Cluster Replication (CCR):

https://opensearch.org/blog/releases/2021/10/Launch-Announcement-1-1/

Главные фичи версии 1.1:
▪️ Cross-Cluster Replication
▪️ Lucene 8.9 Upgrade
▪️ CLI OpenSearch Upgrade Tool
▪️ Anomaly Detection Upgrades
▪️ Bucket Level Alerting

Версия OpenSearch 1.1.0 уже доступна и для Amazon OpenSearch Service:

https://aws.amazon.com/ru/about-aws/whats-new/2021/10/amazon-opensearch-service-amazon-elasticsearch-service-cross-cluster-replication/

Очередной шаг в пользу мультирегиональностей, тренд на которые в Амазоне начался некоторое время назад.

#OpenSearch
Forwarded from Artem Fedorov
Месяц бесплатного обучения на A Cloud Guru!
Курсы с hands-on labs 💪💪💪
Для AWS доступны курсы:
• AWS Identity and Access Management (IAM) Concepts
• AWS Security Essentials
• How to Properly Secure an S3 Bucket
• Choosing the Right Database Service on AWS
• Amazon DynamoDB Deep Dive
• AWS Essentials
• Introduction to AWS
• EKS Basics

Подробнее и остальные бесплатные курсы в этом месяце по ссылке:
Free Cloud Training - AWS, Azure, Google Cloud, and more - A Cloud Guru
Где нужно прописывать временные IAM credentials (не в ~/.aws/credentials) и почему:

https://ben11kehoe.medium.com/never-put-aws-temporary-credentials-in-env-vars-or-credentials-files-theres-a-better-way-25ec45b4d73e

Для работы с временными кредами нужно использовать переменную credential_process. Для случаев, где не работает credential_process, можно использовать авторскую утилиту https://github.com/benkehoe/aws-export-credentials либо на её базе сделать свою.

Очень полезный документ от Ben Kehoe (как и другие) по внутренностям работы IAM:

🔹 Principals and credentials
🔹 Assuming a role and using the credentials
🔹 Configuring and using named profiles
🔹 Assumed role profiles
🔹 AWS SSO profiles
🔹 Federated sign-in (AssumeRoleWithSAML
🔹 credential_process
🔹 aws-export-credentials

Очень рекомендуется к прочтению для понимания IAM — это рафинированный опыт, практические знания, сложные, как и вся тема IAM, но при этом и самые важные.

Однозначно в закладки, причём те, что стоит постоянно держать перед глазами.

#IAM #security
Все официальные AWS post-mortems в одном месте:

https://aws.amazon.com/premiumsupport/technology/pes/

Всегда полезный список для изучения. Память подводит, а здесь можно освежить знания, зрительно увидеть картинку в исторической перспективе и уже даже на основе такой статистики сделать какие-то выводы по дизайну либо Disaster Recovery плану.

#design #взакладки
Публичный слой для Лямбда + AWS Lambda Powertools for Python:

https://awslabs.github.io/aws-lambda-powertools-python/latest/

Теперь добавить поддержку AWS Lambda Powertools for Python можно просто добавив одну строчку в код Лямбды:

MyLambdaFunction:
Type: AWS::Serverless::Function
Properties:
Layers:
- arn:aws:lambda:us-east-1:017000801446:layer:AWSLambdaPowertoolsPython:3

#Lambda
Найти сертификаты ACM...

aws acm list-certificates

... показать лишь выданные (валидные)...

 --certificate-statuses ISSUED

...вывести ARN сертификата для нужного домена my.domain...

--query "CertificateSummaryList[?DomainName=='my.domain'].CertificateArn"

...в виде готового значения (а не JSON)...

 --output text

Итого:

aws acm list-certificates --certificate-statuses ISSUED --query "CertificateSummaryList[?DomainName=='my.domain'].CertificateArn" --output text

#query #ACM
Итоги недели на AWS (10/3-10/9 2021)

CodeGuru
▪️ Java код теперь можно анализизировать с помощью Infer
▪️ Python код можно анализировать на проблемы безопасности с помощью двух Security detectors: 🔥
1. Топ10 OWASP категорий, security best practices для AWS APIs, а также проблемы при использовании библиотек шифрования.
2. Используя опенсорсный фреймворк https://github.com/PyCQA/bandit
С помощью CodeGuru теперь можно заменять не только девопсов, но и безопасников. 😁

RDS PostgreSQL
▪️ Новые версии 13.4, 12.8, 11.13, 10.18 и PostGIS 
3.1.4 для них

Network Firewall
▪️ Централизованное логирование

Lambda
▪️ Лямбду можно триггерить для SQS из другого аккаунта 🔥
▪️ Обновилась документация для CloudFormation, где появился пункт Architectures 🎉
▪️ Можно использовать IAM аутентификацию (в дополнение к парольной), чтобы ходить в Кафку

Amazon OpenSearch Service (OSS)
▪️ OpenSearch 1.1.0 с поддержкой Cross-Cluster Replication (CCR) 👍
Теперь можно иметь реплики для OSS в разных регионах, чтобы уменьшить задержки, реализовать мульти-региональную инфраструктуру либо реализовать Disaster Recovery.
▪️ Новая консоль

EC2
▪️ Capacity Reservation Fleet — возможность изменять типы зарезервированных инстансов на новые поколения 👍
▪️ Поддержка Hibernation для Ubuntu 20.04 LTS 

AWS Backup
▪️ Поддержка AWS Backup Audit Manager в CloudFormation (однако документацию ещё не обновили)
▪️ У Backup Audit Manager появились compliance reports
▪️ AWS Backup Vault Lock — можно защитить бэкапы от удаления навсегда (и будете платить за них всю жизнь! 😁)

Beanstalk
▪️ Теперь можно не удалять используемую при создании базу данных с помощью опций HasCoupledDatabase и DBDeletionPolicy

===

Опрос — самые интересные AWS события 10/3-10/9 2021.

#AWS_week
Новые CloudFormation ресурсы — теперь можно разворачивать окружение с Lightsail виртуалками:

🔹 AWS::Lightsail::Instance
🔹 AWS::Lightsail::Disk

#CloudFormation #Lightsail
Тяжёлая выдалась неделя:

🔸 Падение Facebook 4 октября
🔸 Массивная утечка исходников Twitch
🔸 Падение Facebook 8 октября

Ещё предстоит проанализировать последствия, а также отметить позитивные стороны произошедшего. За что нужно искренне поблагодарить коллег из Facebook — для будущих докладов по сетям, безопасности, архитектуре, надёжности, Disaster Recovery, Incident Management и далее по списку — появился великолепный материал. Раньше такое нужно было придумывать и использовать "вот, предположим", а теперь достаточно "а помните".

Резервирование

— Вот представьте, вы пилите мессенджер и, конечно же, сами его пользуете для всех процессов. А что будет, если у вашего мессенджера возникнут проблемы? А?
— Нужно иметь запасной мессенжер для коммуникаций.
— Именно! А как заводить пользователей в запасной мессенжер?
— Через централизованную авторизацию компании для обоих мессенджеров. Не может же корпоративный домен пропасть, да?...

Моделирование

— А помнишь, как у нас всё легло 4 октября из-за ошибки в настройках BGP?
— Как не помнить.
— Так вот, мы решили найти причину и 8 октября провели эксперимент по её моделированию.
— Как я понимаю, у вас всё получилось.
— Ага.

#жизненное
​​15 октября заканчивается раздача 50% скидок на сдачу Solutions Architect - Associate:

https://pages.awscloud.com/SAA-Voucher-LP.html

#AWS_Certification
Как избежать бесконечного вызова (рекурсии) Лямбды при работе с S3:

https://aws.amazon.com/blogs/compute/avoiding-recursive-invocation-with-amazon-s3-and-aws-lambda/

Способы:
(1) Using a prefix or suffix in the S3 event notification
(2) Using object metadata to identify the original S3 object
(3) Using an Amazon DynamoDB table to filter duplicate events
1 2 3
Output uses the same bucket Y Y Y
Output uses the same key N Y Y
User-defined metadata N Y N
Lambda invocations per object 1 2 1-2

#Lambda
​​CDK8s + Go:

https://aws.amazon.com/blogs/containers/announcing-the-general-availability-of-cdk8s-and-support-for-go/

CDK8s (Cloud Development Kit for Kubernetes) получил поддержку Go и вышел в General Availability. То есть теперь можно сменить профессию YAML-инженера на более привычный язык:
🔸 Python
🔸 TypeScript
🔸 Java
🔸 Go

CDK8s+ является надстройкой над CDK8s, что позволяет ещё больше сократить код (см.картинку).

#cdk8s