AWS Notes
5.85K subscribers
587 photos
44 videos
11 files
2.99K 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/

No ads.
Download Telegram
Из правил отдела маркетинга AWS.

Неправильно говорить «Мы придумали новую фичу», правильно «Почти все фичи сделаны по просьбам наших клиентов».
Если фича понравилась — мы заботимся о вас.
Если нет — мы тут ни при чём, это ж клиенты.

#правильное
Из правил работы пресс-службы AWS.

Если за день не было новостей, то обратитесь в отдел по развёртыванию текущих сервисов в любом регионе или просто печатайте результаты очередного спринта команды CloudFormation.

#правильное
Из правил технического отдела EC2.

Название для нового типа инстансов формируется по первому потопленному однопалубному кораблю.

#правильное
Подсказка по морскому бою.
​​Новое на AWS:

EC2 Image Builder - сервис для создания и сопровождения системных образов для Windows Server и Amazon Linux 2

AWS DeepComposer - сервис для сочинения музыки.

DeepRacer Evo - новая машинка с двумя камерами и LIDAR-ом.

Amazon Transcribe Medical - сервис перевода в текст речи врачей.

Amazon EventBridge Schema Registry Preview - с поддержкой в JetBrains IntelliJ, PyCharm и Microsoft Visual Studio Code.

AWS End-of-Support Migration Program (EMP) for Windows Server - позволяет запускать не имеющие уже поддержки Windows приложения, рассчитанные на Windows Server 2003/2008/2008R2 и новей без их изменения.

#reInvent
⁠IAM анализатор и S3 анализатор

Появились два полезных инструмента по безопасности.

IAM Access Analyzer позволяет просканировать аккаунт на предмет доступа - для бакетов, ролей, ключей шифрования и т.д. - из других аккаунтов либо просто публичных.

https://aws.amazon.com/blogs/aws/identify-unintended-resource-access-with-aws-identity-and-access-management-iam-access-analyzer/

Сделанный на базе апишки IAM анализатора Access Analyzer for S3 доступен в консоли S3 и показывает доступ лишь для бакетов:

https://aws.amazon.com/blogs/storage/protect-amazon-s3-buckets-using-access-analyzer-for-s3/

В общем, давно назревшие решения, для тех, кто не озаботился и не использовал открытые альтернативы (которые местами более детальные и точные, чем свежие амазоновские) - однозначно рекомендуется к (постоянному) использованию.

#IAM #S3
EC2 - главные фичи 2019

Фичи
:
• EC2 Instance Connect (SSH к виртуалкам через IAM)
• EC2 Instance Metadata v2 - аутентификации для метадаты
• EC2 Image Builder для создания образов Windows Server и Amazon Linux 2

EBS:
• Шифрованный EBS из нешифрованного AMI
• Шифрование по умолчанию для EBS
• Fast Snapshot Restore (FSR) для EBS - быстрое восстановление из снэпшота

Auto Scaling:
• Maximum Instance Lifetime - пенсионный возраст для Auto Scaling
• Instance Weighting - веса (приоритеты) для Auto Scaling

ALB:
• Weighted Target Groups (приоритеты) для ALB
• Least Outstanding Requests(LOR) для ALB - альтернатива Round-Robin для балансировки

NLB:
• NLB - теперь можно добавить подсетки для текущего NLB, выбрать конкретный айпишник и использовать подсетки из Shared VPC

Опции:
• SendDiagnosticInterrupt (блюскрин вручную)
• Изменение On-Demand Target Capacity для существующих EC2 Fleet
• vCPU-based лимиты для On-Demand виртуалок

Сетка:
• Elastic Fabric Adapter (EFA) для c5n.18xlarge и p3dn.24xlarge

Dedicated:
• Host Recovery для Dedicated хостов

Windows:
• Microsoft SQL Server 2019 на EC2

Улучшайзинги:
• Визард для подключения EFS при создании виртуалки
• Типы виртуалок в EC2 консоли

Инстансы:
• t3a инстансы - burstable на AMD
• i3en инстансы - быстрая сеть плюс большой и быстрый диск (для баз данных и т.п.)
• c5.12xlarge, c5.24xlarge и c5.metal типы виртуалок
• c5d.12xlarge, c5d.24xlarge и c5d.metal типы виртуалок
• 8xlarge и 16xlarge для m5 и r5 типов виртуалок
• g4dn инстансы с NVIDIA T4 для ML и т.п.
• High Memory инстансы до 24ТБ - для SAP HANA
• a1.metal инстансы на ARM процессорах от Амазона
• m5n и r5n инстансы с быстрой сеткой
• t2/t3/t3a инстансам можно включить Unlimited mode на уровне аккаунта
• inf1 инстансы на Inferentia чипах от Амазона для машинного обучения

#итоги
Forwarded from aws_update
Amazon S3 Access Points:

https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html

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

https://aws.amazon.com/blogs/aws/easily-manage-shared-data-sets-with-amazon-s3-access-points/

В общем, маленький (а не глобальный), собственный, региональный S3.

#S3
⁠Local Zones

Вы жаловались, что невозможно запомнить названия регионов и обрадовались их подписи в консоли? Рано радовались (см. картинку):

https://aws.amazon.com/blogs/aws/aws-now-available-from-a-local-zone-in-los-angeles/

Если коротко и более серьёзно, для близости к конечным пользователям, "в местах скопления людей, денег и людей с деньгами", будут развёрнуты локальные зоны в дополнение к "обычным".

В частности, по причине выполнения вышеназванных факторов, в Лос-Анджелесе в следующем году появится локальная зона с захватывающим названием us-west-2-lax-1a. По-моему - отличная причина туда переехать и быть близко к AWS во всех смыслах (не сарказм).

#reInvent
⁠AWS Outposts - амазоновские сервисы на своём железе

Обещали Outposts год назад и вот сделали:

https://aws.amazon.com/blogs/aws/aws-outposts-now-available-order-your-racks-today/

Теперь можно в своём датацентре поднять свою VPC, в ней свои EC2 виртуалки со своими EBS дисками, развернуть свои ECS или EKS кластер, а также свои EMR и RDS.

Для работы с S3, DynamoDB, CloudFormation, CloudWatch, балансеры и т.д. - используются VPC Endpoints.

К сожалению, сервис не доступен в наших пенатах. Однако мы верим. Ждём и верим.

#Outposts
Forwarded from aws_update
Фаргейт на спотах:

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html

Fargate Spot ведёт себя аналогично Spot-инстансам и за две минуты присылает предупрежение об удалении.

#Fargate
Forwarded from aws_update
VPC Ingress Routing:

https://aws.amazon.com/blogs/aws/new-vpc-ingress-routing-simplifying-integration-of-third-party-appliances/

Возможность пропускать исходящий и входящий в VPC трафик через собственную виртуалку. Актуально для систем, где требуется обязательная фильтрация трафика к и из VPC. В то время как обычный IGW не позволяет такого .

#VPC
Вот так просыпаешься утром, а на AWS двести сервисов, про половину из которых ты никогда не слышал, а четверть ещё никто и не видел вообще, т.к. их только завезли на склад.
По просьбам телеграм-трудящихся и ненавистников фейсбуков, сделал чат к данному каналу (ссылка в описании). Кому зачем-то нужно туда написать - пишите. Но лучше в чаты своих сообществ.
⁠Соединение элементов строки в CloudFormation

Собрать в кучу строчку в CloudFormation шаблоне можно разными способами.

Стандартный с помощью !Join, например,

ContainerName: !Join ['-', ['service', !Ref MsName]]

Однако то же самое можно сделать с помощью !Sub:

ContainerName: !Sub 'service-${MsName}'

То есть с !Sub олучается короче, иногда существенно короче. Потому такой подход весьма популярен.

Однако длина не единственный показатель удобности и потому, когда вы после дебажите шаблон, все эти важные параметры сливаются на мониторе в строку (ведь это строка) и их не видно на фоне других. В то время как в случае !Join чётко видны логические составляющие - все переменные, из которых будет собрана строка.

Так что я использую !Join - длиннее, но разборчивей.

Кстати, многие забывают, что у !Sub кроме "обычной" возможности просто вставлять параметры из шаблона, есть возможность подставлять их через свои переменные, организуя сложные выборки с !ImportValue и т.п. Например, вот здесь встречается такая конструкция:

ResourceId: !Sub
- 'service/${Cluster}/${Service}'
- Cluster: {'Fn::ImportValue': !Sub '${ParentClusterStack}-Cluster'}
Service: !GetAtt 'Service.Name

Чтобы собрать строчку, мы внутри её делаем две свои "локальные" переменные Cluster и Service (которые указывают после строки как массив) и уже в них делаем ещё какие-то действия.

В "солидной" версии это (не точный аналог - просто очень похожее из реального кода) будет длинным, но очевидным:

ResourceId: !Join ['', ['service/', !ImportValue ecsClusterMs, '/', !GetAtt [ecsService, 'Name']]]

Всё видно и понятно. Как минимум мне.

#CloudFormation #templates