通过CloudFormation模板

时间:2018-04-26 06:58:31

标签: amazon-ec2 aws-lambda amazon-cloudformation

我要求在东京地区启动多个EC2实例,具体取决于我们在同一地区的帐户所拥有的AMI数量。 AMI每天从其他地区备份。

CloudFormation需要实现的目标是:

  • 检索今天创建的AMI列表
  • 尝试在同一区域内启动每个

例如,如果今天在东京地区创建了10个不同的AMI,那么CloudFormation将根据这10个AMI创建10个EC2实例。

我在Walkthrough: Looking Up Amazon Machine Image IDs - AWS CloudFormation查看了一些示例,但发现代码不符合要求。

我已经拥有Lambda函数retrieve-today-ami.py,挑战是将它们包含在Walkthrough: Looking Up Amazon Machine Image IDs - AWS CloudFormation

中的CF模板中

2 个答案:

答案 0 :(得分:0)

通常,CloudFormation用于启动预定义的基础架构。您需要每天启动包含每个实例更改信息的可变数量的实例,与使用CloudFormation的模型不匹配。

根据您的用例,我建议编写脚本来执行您想要的操作。

例如,列出AMI的Python脚本会识别您要使用的脚本,然后使用这些AMI启动EC2实例。

答案 1 :(得分:0)

您可以通过使用Lambda支持的自定义资源来获取AMI的名称来实现此目的。然后,您的自定义资源的输出可以在模板中的EC2节中使用。您可以使用定义Lambda的一个模板导出值并将其导入EC2模板。