我有一个模板,根据区域和模板中映射的关联镜像 ID 创建 Ubuntu EC2 实例。无论如何,是否可以根据区域选择最新的 Ubuntu 镜像 ID。这会在模板执行期间发生。获取相同的示例模板会很有帮助。
最佳答案
有几种方法可以实现这一目标:
A) 您可以使用模板的映射部分为每个区域指定 AMI。然后,您可以使用 Fn::FindInMap 根据伪参数 AWS::Region 的评估来检索 AMI 的值。
参见:
- Mappings - AWS CloudFormation
- Fn::FindInMap - AWS CloudFormation
- Pseudo Parameters Reference - AWS CloudFormation
B) 您可以在堆栈创建期间使用 lambda 支持的自定义资源来检索最新的 ubuntu AMI。有一个相同的入门指南,您可以将其作为起点。
参见:Walkthrough: Looking Up Amazon Machine Image IDs - AWS CloudFormation
C) 如果您可以迁移到基于 RHEL 的 Amazon Linux AMI,则可以引用公共(public)系统管理器参数以获取该区域的最新 AMI ID。我在 github 中有一个示例模板,您可以用作引用。
关于amazon-web-services - cloudformation模板执行时能否使用该区域最新的Image-id创建EC2实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60208319/