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
EC2 Console + Session Manager

В консоль таки добавили соединение через SSM Session Manager - теперь не нужно прыгать по сервисам для того, чтобы просто зайти через него на виртуалку. Найти не так просто (улыбаемся и машем), потому инструкция прилагается.

Правая клавиша на инстансе (у которого стоит и настроен SSM agent), жмём Connect. (вверху картинки)

Далее, к сожалению, придётся ещё кликать, т.к. по умолчанию стоит инфо по подключению через SSH - меняем на Session Manager и снова жмём Connect. (в середине)

Открывается обычное терминальное окно SSM Session Manager - радуемся. (нижняя)

#SSM #EC2 #AWS_Console
К сожалению, вчера на AWS Meetup Minsk из-за времени не получилось всем ответить. Поэтому, кто хотел задать вопросы по мульти-аккаунтам, можно задать их прямо здесь - постараюсь ответить и, надеюсь, будет полезно для других.
RAM растёт

Если вы давно не заходили в RAM (Resource Access Manager), то обнаружите там много нового. Теперь в наличии не только подсетки и неактуальные лицензии, а вполне растущий список того, для чего и задумывался RAM.

Начав с Shared VPC год назад, RAM продолжает подтверждать, что это (шаринг ресурсов) важное направление для Амазона — дальше будет больше.

Кто пропустил, что Аврору можно шарить между аккаунтами - да, можно.

#RAM
На вопрос новичков, где почитать по AWS на русском, их регулярно посылают сначала выучить английский. Сам постоянно вдалбываю своим, что английский - залог вашего успеха в будущем. Но при этом не говорю. Читать, всяческие видеоконференции - без проблем. Как английский, так и украинский, польский. Но не говорю. И тоже предпочёл бы русский. Это плохо?

Даже не в плане неосиленного английского - разве плохо желать читать про то, что интересует на родном? Русском, украинском, белорусском, казахском.

Вопрос неоднозначный и очень широкий. Потому сузим лишь до технического направлении, в частности — литературе, видео, курсах и т.п. по AWS. Потому скажите, что вы думаете по этому поводу — как поступите.

Ваш ответ (совет, реакция) на очередной вопрос типа «А где найти информацию о том-то по AWS на русском?»

1. Нужно (вы)учить английский, это мировой стандарт. Тогда будет доступна вся документация, любые курсы и просто большая часть интернета. Это всё равно (по)требуется для повышения собственной конкуренции на глобальном рынке, к которому по умолчанию принадлежит IT.

2. Проще на родном, т.к. без чёткого понимания сложно понять детали написанного или услышанного по-английски. Хотелось бы сейчас научиться, а потом освоить английский. Жаль, что такой информации (книги, видео, курсы) очень мало.

3. What's the catch?

#опрос
​​Секта свидетелей EKS - хороших вам выходных!

#субботничное
На AWS Meetup Minsk, где я рассказывал про мульти-аккаунты, не получилось толком пообщаться из-за временных ограничений. Заинтересованные в подробностях по данной теме участники митапа предложили провести у себя тематический мини-митап по мульти-аккаунтам, чтобы обсудить как общие вопросы, так и получить конкретные для своей ситуации ответы.

Кому интересно, то предварительно это будет 10-го января, более конкретно по месту-времени-формату встречи будет ясно после Нового Года.

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

На данный момент это актуально для Минска. Однако планирую быть в следующем месяце в Москве - тоже можно было бы как-то совместить. А после надеюсь побывать и в любимом Киеве - в общем, буду рад, пишите, если интересно.
​​Защита от удаления в S3:

версионизация (лишь условно, т.к.можно удалить все версии)
MFA Delete (старый способ)
Object Lock - рекомендуется как современное решение для защиты от удаления

#S3
aws-solution-architect-associate.png
1.9 MB
Попросили полную картинку по AWS Certified Solution Architect (Associate) - исправляю (прилагается как файл, т.к. картинка из-за большого разрешения жмётся и нечитаема в результате).
Свой программный логин через SSO

В превью новой версии aws-cli появилась её интеграция с SSO. И вот теперь можно будет делать это самостоятельно из своих приложений.

API программного логина:

https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html

API портала:

https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/Welcome.html

Пока нет официального анонса этих фич, но это будут весьма полезные вещи в русле мульти-аккаунт стратегии.

#SSO
Опросы, которые вы пропустили

Кто не так давно сюда попал и нечем себя занять - можно пройти опрос и / или (если уже) посмотреть, как это сделали другие.

Недавний про язык
Cейчас: английский 71%, родной 19%, english 10%

Откуда вы
РФ 30%, Украина 29%, РБ 15%, Европа 13%, США 6%, Канада 5%, Азия 2%

Про AWS вендорлок
yes 73%, no 13%, wtf 14%

Ваши примерные расходы на не-прод окружения
десятая 9%, четверть 9%, треть 23%, половина 16%, больше половины 25%, нет прода 18%

Ваш уровень (важно для подачи материала здесь)
новички 34%, спецы 45%, профи 29%

#опрос
​​Найти файлы S3 бакета за декабрь месяц этого года (последние изменённые в диапазоне 2019-12-01 - 2020-01-01), чтоб, если что, не слишком много, отобразить лишь 20 штук (--max-items 20), для красоты вывести табличкой (--output table) с указанием названий колонок File и LastDate (.{ File: Key, LastDate: LastModified }):

aws s3api list-objects-v2 --max-items 20 --bucket my-aws-notes --query "Contents[?LastModified>='2019-12-01'] | [?LastModified<='2020-01-01'].{ File: Key, LastDate: LastModified }--output table

#query
AWS купил Google

Вдруг кто пропустил новость (заголовок для привлечения внимания - всё также, только про курсы):

https://linuxacademy.com/news/general/a-cloud-guru-and-linux-academy-f-a-q/

То есть крупнейшая компания по курсам для IT направления A Cloud Guru поглотила своего конкурента LinuxAcademy.

https://acloud.guru/linux-academy

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

#курсы
S3 Access Points - первый взгляд

Недавно появившиеся S3 Access Points стали попыткой начать избавляться от наследия S3 с её требованием к глобальной уникальности имени бакета (т.е. когда имя приходится каждый раз придумывать новое по каким-то паттернам, т.к. иначе получаем ошибку создания бакета).

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

Технически попробовать просто - в S3 консоли переходите на вкладку S3 Access Points и создаёте endpoint с каким-то именем. Добавляете к нему #bucket_policy, как к обычному бакету, только в качестве ресурса нужно будет указать arn в виде (он указан на странице вашего Access Point):

"Resource": "arn:aws:s3:eu-west-1:896118698909:accesspoint/ext"

Этот ресурс есть "ссылка на бакет" и к нему можно применять обычные команды #aws_cli (лишь с поправкой, что её придётся для этого обновить, иначе будет ругаться на имя бакета "Bucket name must match..."). Например, можно сделать привычный листинг aws s3 ls arn_ссылки_на_бакет (на картинке).

Однако в случае cross-account доступа крайне неудобно, т.к. приходится прописывать политики и на самом бакете и на каждой "ссылке" (Access Point). И #CRR (Cross-Region Replication) не работает для S3 Access Points.
И набор других особенностей и ограничений. Так что пока сырое, нужно учитывать данный момент.

Предположительный сценарий использования S3 Access Points - вы обрабатываете данные из одного (общего для всех, единственного) бакета, раздавая ссылки на него со своими политиками для каждого из окружений. Можно также как-то задействовать в Blue-Green сценариях и ещё какие-то специцифичные случаи.

В общем S3AP пополнили длинный список фич Амазона под названием "придумай зачем". Однако это шаг в правильном направлении и будучи допиленным, наверняка станет best practices, т.к. даёт дополнительную абстракцию, позволяя гибко управлять и избавляя от некоторых legacy ограничений.

#S3 #S3AP
SSM + Fargate

Тем, кто любит SSM - заслуживающий рассмотрения случай интеграции SSM с Fargate:

https://github.com/andrewkrug/fargate-ir

Конкретно здесь функционал предназначен для incident response, однако мне кажется, что это правильный подход в сторону унификации использования SSM, когда практики, характерные для ОС, распространяются также и на контейнеры.

#SSM #Fargate
​​git commit -m "С Новым Годом! Мой последний коммит в 2019!"
git commit -m "Самый последний коммит в 2019."
git commit -m "Этот точно последний"
git commit -m "И ещё один"
git commit -m "фывафыва"
AWS + programming language

Если бы вы могли посоветовать один язык человеку, желающему сменить профессию и работать в будущем с AWS (без определённой области - от dev и ops до devops), какой бы это был?

Т.е. вот вопрос стоит тупо и ребром — ваш знакомый спрашивает, что ему, отягощённому в прошлом техническим высшим, нужно изучить, чтобы быть и зарабатывать как вы?

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

1. C/C++
2. Python
3. Go
4. Bash
5. Ruby
6. Java
7. JS
8. Другой

#опрос
AWS + operating system

Какую ОС стоит посоветовать освоить человеку в первую очередь, желающему в будущем работать с AWS?

С чего начать, чтобы максимально (практически, перспективно, денежно) полезно?

Какое семейство дистрибутивов выбрать? Личный опыт и с учётом на будущее (а не популярности где-то и когда-то).

1. Ubuntu и другие Debian based
2. CentOS, Fedora Core и другие RedHat based
3. Chrome OS, CoreOS и другие Gentoo based
4. OpenSUSE / SUSE
5. FreeBSD и другие BSD based
6. Другой

#опрос
IAM с самоуничтожением

Можно ли сделать такие политики для IAM, чтобы они отработали и уничтожились через некоторое время?

Чтобы совсем уничтожились - придётся наворачивать лямбду. А чтобы просто отработали лишь на какое-то определённое время — запросто.

Для этого нужно использовать Date Condition Operators, например, так:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/my-file",
"Condition": {
"DateGreaterThan": {
"aws:CurrentTime": "2020-01-04T10:00Z"
},
"DateLessThan": {
"aws:CurrentTime": "2020-01-05T18:00Z"
}
}
}
]
}

Т.е. доступ к my-bucket/my-file будет лишь с завтрашнего утра до послезавтрашнего вечера.

#IAM #policy