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
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
Forwarded from aws_update
​​Новый сервис Amazon Rekognition Custom Labels:

https://aws.amazon.com/rekognition/custom-labels-features/

Натренировавшись на кошечках и собачках, Amazon Rekognition теперь может искать любые ваши данные.

Например, если вы энтомолог, то сможете с помощью Amazon Rekognition Custom Labels находить и отличать мадагаскарских тараканов от челябинских.

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

https://aws.amazon.com/blogs/machine-learning/announcing-amazon-rekognition-custom-labels/

#Rekognition

Annapurna - секретное оружие Амазона

Вышел AWS Graviton 2 - второй процессор от Амазона.

Хотел было "коротенько" написать, в том числе для тех, кто пропустил первый AWS Graviton, который вышел год назад на прошлом реинвенте, но понял, что замного в один пост.

В общем, по порядку – предыстория или краткое содержание предыдущих серий.

Куры не клюют

По понятным причинам (денег много и их куда-то нужно девать - не отдавать же их постоянно Intel) Амазон хотел свой процессор уже давно - где-то с 2011-го года.

AWS + AMD

Амазоновцы начали постепенно собирать команду железячников-разработчиков и после решения AMD громко войти на серверный рынок со своим будущим K12, договорились в 2014-м делать это совместно.

Лучше гор могут быть только горы

Однако в 2015-м, когда AMD провалила все сроки и тесты, Амазон плюнул и купил себе лицензию ARM для производства процессоров и на сдачу израильскую Annapurna Labs за 350 миллионов, с которой он уже делал себе сетевое железо для четвёртого поколения (С4) инстансов. В общем, Амазон решил пилить железо сам.

Сами с усами

В результате уже на 2016-м реинвенте Амазон смог похвастаться собственными роутерами с Amazon Annapurna ASIC. А на реинвенте 2017-го вышло пятое поколение Nitro-based инстансов - прекрасный результат работы израильской команды.

AWS Graviton

У Intel проблемы с переходом на 10-нм технологию, AMD "эпично" отжирает рынок удачной Zen архитектурой, а Амазон выпускает свой первый процессор.

Разработчик: Annapurna Labs
Производитель: TSMC
Анонс: 27-го ноября 2018 года

Спецификация Graviton 1
Частота: 2,300 MHz
Архитектура: ARMv8 Cortex-A72
Техпроцесс: 16 nm
Транзисторов: 5 000 000 000
Разрядность: 64 bit
Ядер: 16
Потоков: 16
Кэш L1 инструкции:48 KB
Кэш L1 данные: 32 KB
Кэш L2: 8 MB (2*4)

Не шибко большой кэш первого и второго уровня, один двухканальный контроллер памяти на все ядра. Конфигурация получилась нежирной, но нужно было с чего-то начинать. Потому ценник был выставлен наполовину меньше других аналогов, что может быть актуально для каких-то задач. Особенно в свете, например, свежевышедшей поддержки Graviton A1 инстансов со стороны EKS.

...продолжение следует

#Graviton
A2 или M6g?

Если вы следили за руками, то тоже не могли не заметить - вместо очевидного семейства A2 инстансов на AWS Graviton 2, были анонсированы M6g, уже доступные в превью и C6g/R6g в будущем. Как же так, что случилось, почему и если да, то неужели настолько круто - попробуем разобраться.

Гравитон 1

Первый процессор от Амазона был сделан по 16-нм технологии, работает на частоте 2.3 ГГц, держит до 32ГБ памяти и имеет 16-ядер. Теоретически он мог быть 8-ми ядерным с поддержкой SMT (гипер-трединг), но это вряд ли, т.к. если выполнить в A1 виртуалке:

$ cat /proc/cpuinfo
processor      : 0
BogoMIPS : 166.66
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3


Что соответствует характеристикам Arm Cortex A72 на платформе Cosmos.

Тут нужно сделать оговорку - все такие данные, понятно, закрыты и потому черпаются из публичных источников, в первую очередь официальных анонсов плюс сравнением с характеристками сходных реализаций — ведь это же открытая архитектура ARM. А также опыта и здравого смысла. Если у вас есть более точная информация - пишите в комментариях.

Итак, зафиксировали, первый Гравитон это 2.3 ГГц, 16 ядер, 32 гига памяти, 32+48KB L1 кэша, представляющий собой дефолтный или в чём-то раствиканный Arm Cortex A72. Не блещущий производительностью - грубо (или очень грубо) в 1.5-2 раза (где как) медленней аналогов от Intel и AMD, но при этом и дешевле их на 40%. Что в общем случае не покрывает разницы в производительности, однако в специфичных нагрузках мог быть выгоден, т.к. всё же сильно дешевле.

#Graviton
Гравитон 2

Как говорилось выше, нужно внимательно следить за руками, чтобы разложить все эти 7x higher performance и прочие up to 40% better по полочкам.

Спецификация Graviton 2
Частота:     3,500 MHz
Архитектура: ARMv8.2 Ares Neoverse N1
Техпроцесс: 7 nm
Транзисторов:30 000 000 000
Разрядность: 64 bit
Ядер: 64
Потоков: 64
Кэш L1 инструкции:64 KB
Кэш L1 данные: 64 KB
Кэш L2: 32 MB (0.5*64)

В 7 раз быстрей

Речь о процессоре в целом (а не отдельной виртуалке - хороший маркетинговый ход). Что логично - ядер в четыре раза больше (в первом 16, стало 64), частота выше (было 2.3ГГц, стало 3.5ГГц). Вооружимся калькулятором и посчитаем:

(64/16)*(3.5/2.3) ≈ 6

Подкинем к этому увеличенный кэш и скорость операций с плавающей точкой, 8 контроллеров памяти вместо одного общего раньше и другие оптимизации - вполне логично получим озвученные "в 7 раз быстрей". Даже может возникнуть вопрос - а почему, собственно, только лишь в 7? Ответ понятен - тут нет линейной зависимости, но смысл ясен - точно стало быстрей. Но насколько?

Только нужно учитывать - это про чип (процессор), а не про отдельную виртуалку. То есть m6g.medium не будет в семь раз быстрей a1.medium, хотя на отличие 7/(64/16)=1.75 или почти в два раза рассчитывать теоретически можно. А что же говорят нам з̶в̶ё̶з̶д̶ы̶ тесты?

Озвученные результаты тестов M6g по сравнению с M5 виртуалками:

HTTPS load balancing with Nginx: +24%
Memcached: +43% performance, at lower latency
X.264 video encoding: +26%
EDA simulation with Cadence Xcellium: +54%

Выглядит красиво. Если принять за точку отсчёта сказанное вначале (A1 тип виртуалок, проигрывающий в полтора раза своим "аналогам") и сейчас она ускорится в 1.75..2 раза, то (1.75..2)/(1.5...2) вполне кореллируют с оптимистичным диапазоном +20-30%. Мы же не видели результатов, где хуже или не отличается, потому вполне можно принять за правду.

M6/C6/R6

Однако можно ли это считать шестым поколением? Ответ простой - д̶о̶к̶т̶о̶р̶ ̶с̶к̶а̶з̶а̶л̶ ̶в̶ ̶м̶о̶р̶г̶,̶ ̶з̶н̶а̶ч̶и̶т̶ ̶в̶ ̶м̶о̶р̶г̶ опыт с выделением процессора Амазона в отдельный тип инстансов (А1) был признан не самым удачным. Увидев реакцию пользователей, как хорошо им зашли процессоры AMD с буковкой а (T3a/M5a/C5a/R5a), амазоновцы тоже так захотели, а потому было принято решение "смешаться с толпой". Кто там эту букву смотреть будет, когда (ненамного но) дешевле, а при этом цифра (M6g) больше.

В сухом остатке

Новый процессор на Ares платформе по старому роадмэпу (см. картинку) должен был дать прирост +30%. На других картинках более впечатляющие +60%. Что же будет - посмотрим, когда появятся тесты. Однако не нужно иметь пядей во лбу, чтобы предположить, что Graviton 3 точно будет достойным процессором!

#Graviton
Внимание Питер, Москва и Минск - скоро AWS Meetup!

===

Внимание Петербург! AWS Meetup Питер 11 декабря:

2019.12.11 в 19:00 в офисе компании JetBrains состоится митап "re:Invent 2019 reCap", где кроме обсуждения новинок реинвента, Александр Изюмов (архитектор из AWS) сделает доклад на тему:

«Построение безопасных и защищенных окружений и инфраструктуры на AWS - лучшие практики для всех!»

Уважаемые питерцы - не пропустите!

Подробности на https://www.meetup.com/AWSRus/events/266825735/

===

Внимание Москва! AWS Meetup Москва 17 декабря:

2019.12.17 в 19:00 в SkyEng пройдет митап московского AWS сообщества, где будут следующие доклады:

1. «AWS EKS - кубик-рубика»
Что предлагает Амазон для кубернетеса: варианты запуска, особенности использования, опыт из проектов.

2. Пётр Сальников: «AWS EKS + SpotFleet - режем бюджет в два раза»
Для каких случаев подходит, откуда такой профит, как сохранить отказоустойчивость.

3. Валерий Коробейников: «Что нужно знать ИТ-шнику об архитектуре предприятия?»

Уважаемые москвичи - не пропустите!

Как пройти и проехать: http://it.skyeng.ru/skyhome

===

Внимание Минск! AWS Meetup Минск 18 декабря:

2019.12.18 в 18:00 в Имагуру (Фабрициуса 4, зал Мадрид) пройдет митап минского AWS сообщества, где будут следующие доклады:

1. Роман Воронин: «Миграция организации на Amazon EKS»

2. Пётр Сальников от @aws_ru: «SSM - как автоматом менеджить и патчить 800+ инстансов»

3. Роман Севко: «Мульти-аккаунт стратегия - плюсы, минусы, подводные камни»

4. Виктор Николаев: «Amazon EKS + Terraform как платформа для разработки и эксплуатации»

Уважаемые минчане - не пропустите!

Подробности на https://www.meetup.com/AWS-Meetup-Minsk/events/266783772/

#Meetup
AWS Notes pinned «Внимание Питер, Москва и Минск - скоро AWS Meetup! === Внимание Петербург! AWS Meetup Питер 11 декабря: 2019.12.11 в 19:00 в офисе компании JetBrains состоится митап "re:Invent 2019 reCap", где кроме обсуждения новинок реинвента, Александр Изюмов (архитектор…»
re:Invent 2019 - video

Кто не хочет или не может дождаться официальных нарезок - все видео с прошедшего реинвента 2019:

https://www.trek10.com/rewatch/2019/

Можно отсортировать по сессии или просто искать на странице по нужным словам в браузере и смотреть-непересмотреть.

Если интересуют подборки, например, все Workshop-ы для уровня сложности попроще (это 200 - Intermediate), то вот ссылка на гуглошит посмотреть по темам.

Кого заинтересуют другие варианты подборок - пишите, добавлю в гуглошит выше.

#reInvent
​​Не стоит забывать простой способ серьёзно сэкономить, ничего не меняя в коде - Sheduled Actions для Auto Scaling Group.

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

Экономия в 2-3 раза за пять минут покликать в консоли.

#cost_optimization
​​Если вы грузите файл с расширениием .html на #s3 самостоятельно, т.е. например, через boto3.client('s3'), а не через aws-cli, то браузер его не покажет, а будет предлагать скачать (см. картинку). Нужно добавлять заголовок Content-Type, вот пример с s3api:

aws s3api put-object --bucket my-bucket --key index.html --body index.html --content-type text/html --acl public-read

Обычное aws s3 cp добавит такой автоматом (на картинке снизу).
Полезный фотоотчёт о прошедшем вчера питерском AWS митапе. Интересные слайды: новое и нестареющее, полезное и бэстпрактисное — стоит глянуть и залогировать на память.
​​На заметку новичкам: виртуалки m5.large и m5.2xlarge отличаются в четыре, а не в два раза (по мощности), т.к. второе не 2 x large (2*large), а 2 xlarge (от слова eXtraLARGE).

В общем, привыкайте - это Амазон.

#EC2 #пятничное