Развертывание лямбда-функций в организации AWS
Я создал лямбда-функцию AWS для отключения экземпляра EC2 в моей учетной записи. Функция вызывается из CloudWatch в определенное время.
Предположим, вам необходимо выполнить ту же задачу в организации AWS. Вы полностью контролируете основную учетную запись и являетесь владельцем Организации. Если вы хотите закрыть все экземпляры EC2 в организации в определенное время, в первую очередь, возможно ли это контролировать из вашей основной учетной записи? Если это так, то какой будет подход?
Master CloudWatch --calls -> Master Lambda -> закрывает экземпляры EC2 в организации
Член CloudWatch -> Член Lambda -> отключает EC2 в своей организации.
Если 2. единственный вариант, можно ли перенести правила CloudWatch и функции Lambda из основной учетной записи в каждую учетную запись участника?
- Любой другой подход к решению этой проблемы?
Большое спасибо!
1 ответ
Первый вариант, вероятно, лучший из двух, поскольку он немного проще (нет событий между учетными записями, с которыми приходится иметь дело).
Для этого вам необходимо понять предполагаемую роль AWS Security Token Service.
Это позволит вашей лямбде систематически:
- Примите роль в учетной записи 1, которая может перечислять и завершать работу экземпляров EC2
- Выключение экземпляров EC2
- Взять на себя роль в учетной записи 2 ... и т. Д.
Для этого вам нужно будет назначить роль IAM в каждой "подчиненной" учетной записи и роль IAM, которую разрешено использовать. sts:AssumeRole
в основной учетной записи, чтобы вызвать эту лямбду с.
Я бы попросил вас убедиться, что это то, что вам нужно. Как правило, жизнь в AWS намного проще, если вы можете хранить свои учетные записи только с очень слабыми зависимостями друг от друга; вместо этого рассматривается подход, при котором каждая учетная запись отвечает за закрытие своих собственных экземпляров EC2 на основе триггера.