我有一个用例,其中云形成必须基于标签识别AMI-ID(作为云形成模板的输入传递)并同样创建ec2实例。
我可以运行脚本来识别(aws ec2 describe-images --filters“Name = tag:Name,Values = value1”--query'Images [*]。{ID:ImageId}' - 输出文本) AMI-ID通过云形成并传递给ec2实例创建..
有关如何执行此操作的任何想法或示例?
答案 0 :(得分:0)
您无法将该脚本作为CloudFormation模板的一部分运行。
在创建CloudFormation堆栈以确定AMI ID之前,您需要执行该命令。然后通过输入参数将最终的AMI ID传递到CloudFormation堆栈。
所以这将是一个两步的过程。但是你可以创建一个脚本来完成它。
答案 1 :(得分:0)
亚马逊建议的方法在此处提供:Walkthrough: Looking Up Amazon Machine Image IDs
摘要:您在CloudFormation模板中创建了一个查询Lambda函数的自定义资源。 Lambda函数运行AMI查询代码并将其返回到CloudFormation模板。
此处提供了另一种方法:Integrating AWS CloudFormation with AWS Systems Manager Parameter Store
在第二种方法中,您使用CloudFormation在AWS Parameter Store中查找值。如何确定将哪些值放入参数存储区是另一个问题。