Amazon ec2 通过CloudFormation模板基于可用的AMI启动EC2实例

Amazon ec2 通过CloudFormation模板基于可用的AMI启动EC2实例,amazon-ec2,aws-lambda,amazon-cloudformation,Amazon Ec2,Aws Lambda,Amazon Cloudformation,我需要在东京地区启动多个EC2实例,基于我们在同一地区的账户拥有的AMI数量。非盟驻苏特派团每天都从另一个地区得到支持 这种云形成需要实现的是: 检索今天创建的AMI列表 尝试在同一地区发射它们中的每一个 例如,如果今天在东京地区创建了10个不同的AMI,那么CloudFormation将基于这10个AMI创建10个EC2实例 我在上查看了一些示例,但发现代码不符合要求 我已经有了Lambda函数retrieve today ami.py,挑战在于将它们包含在中的CF模板中。通常,Cloud

我需要在东京地区启动多个EC2实例,基于我们在同一地区的账户拥有的AMI数量。非盟驻苏特派团每天都从另一个地区得到支持

这种云形成需要实现的是:

  • 检索今天创建的AMI列表
  • 尝试在同一地区发射它们中的每一个
例如,如果今天在东京地区创建了10个不同的AMI,那么CloudFormation将基于这10个AMI创建10个EC2实例

我在上查看了一些示例,但发现代码不符合要求


我已经有了Lambda函数
retrieve today ami.py
,挑战在于将它们包含在中的CF模板中。通常,CloudFormation用于启动预定义的基础架构。您需要启动可变数量的实例,并且每个实例的信息每天都在变化,与使用CloudFormation的模型不匹配。

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


例如,Python脚本列出AMI,确定要使用的AMI,然后使用这些AMI启动EC2实例。

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

您的实际高级目标是什么?是否要创建高可用性/冗余基础架构?如何创建原始区域中的实例?您是否可以重用该方法,而不仅仅是复制AMI?AMIs上有什么——数据应该存储在数据库中,那么如何复制数据呢?在弄清楚如何简单地启动EC2实例之前,先考虑一下高层目标。