Развертывание лямбда-функций в организации AWS - PullRequest
0 голосов
/ 03 декабря 2018

Я создал лямбда-функцию AWS для отключения экземпляра EC2 в моей учетной записи.Функция вызывается из CloudWatch в определенное время.

Предположим, вам необходимо выполнить ту же задачу в организации AWS.Вы полностью контролируете основную учетную запись и являетесь владельцем Организации.Если вы хотите закрыть все экземпляры EC2 в организации в определенное время, в первую очередь, возможно ли это контролировать из вашей основной учетной записи?Если да, то каков будет подход?

  1. Master CloudWatch --calls -> Master Lambda -> закрывает экземпляры EC2 в организации

  2. Участник CloudWatch -> Член Lambda -> отключает EC2 в своей организации.

Если 2. является единственным вариантом, можно ли использовать правила CloudWatch иЛямбда функционирует из мастер-аккаунта в каждом аккаунте участника?

Любой другой подход к решению этой проблемы?

Большое спасибо!

1 Ответ

0 голосов
/ 03 декабря 2018

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

Для этого вам необходимо понять AWS Security TokenПредполагаемая роль службы .

Это позволит вашей лямбде систематически:

  • Принимать роль в учетной записи 1, которая может перечислять и отключать экземпляры EC2
  • Завершение работыЭкземпляры EC2
  • Принятие роли в учетной записи 2 ... и т. Д.

Для этого вам нужно будет назначить роль IAM, которая будет назначена в каждой «подчиненной» учетной записи,и роль IAM, которой разрешено использовать sts:AssumeRole в главной учетной записи для вызова этой лямбды.

Я бы попросил вас убедиться, что это именно то, что вам нужно.Как правило, жизнь в AWS намного проще, если вы можете хранить свои учетные записи только с очень слабыми зависимостями друг от друга;вместо этого рассматривается подход, при котором каждая учетная запись отвечает за закрытие своих собственных экземпляров EC2 на основе триггера.

...