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

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

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

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

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

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

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

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

1 ответ

Решение

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

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

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

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

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

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

Другие вопросы по тегам