在AWS组织中部署Lambda函数

时间:2018-12-03 09:18:52

标签: amazon-web-services amazon-ec2 aws-lambda amazon-cloudwatch aws-organizations

我创建了一个AWS lambda函数来关闭我账户中的EC2实例。该功能会在特定时间从CloudWatch调用。

假设您必须在AWS Organization中完成相同的任务。您对主帐户拥有完全控制权,并且您是组织的所有者。 如果要在某个特定时间关闭组织中的所有EC2实例,首先可以通过您的主帐户进行控制吗?如果是这样,那将是什么方法?

  1. Master CloudWatch --calls-> Master Lambda->关闭组织中的EC2实例

  2. CloudWatch成员->成员Lambda->关闭其组织中的EC2。

如果唯一选择是2.,是否可以将CloudWatch规则和Lambda函数从主帐户推入每个成员帐户?

  1. 还有其他解决此问题的方法吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

第一种方法可能是两者中较好的一种,因为它比较简单(没有跨帐户事件可以处理)。

要执行此操作,您需要了解AWS Security Token Service's Assume Role

这将使您的lambda系统地:

  • 假设帐户1中的角色可以列出和关闭EC2实例
  • 关闭EC2实例
  • 假设在帐户2 ...等中的角色。

要执行此操作,您将必须在每个“从属”帐户中承担一个IAM角色,并允许一个IAM角色在主帐户中使用sts:AssumeRole来调用该lambda。< / p>

我会挑战您以确保这是您所需要的。如果您可以让您的账户彼此之间只有非常松散的依赖关系,那么通常情况下,AWS的生活会轻松得多。而是考虑一种方法,其中每个帐户都根据触发器负责关闭自己的EC2实例。