AWS CloudFormation模板允许使用如下构造为EC2实例选择AMI图像ID
ECSAMI:
Description: AMI ID
Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2但是我找不到指向特定版本的AMI图像的参数路径。例如,可以通过此路径查询ECS的AMI ID,该路径指向特定版本:
/aws/service/ecs/optimized-ami/amazon-linux-2/amzn2-ami-ecs-hvm-2.0.20181112-x86_64-ebs/image_id
我如何不能查询EC2的最新的AMI图像id?或者在哪里我可以完整的“树”或路径列表的公开可用的参数?我想要这样的东西
/aws/service/<ec2>/<amazon-linux-2>/<image-version>
发布于 2018-12-27 23:45:44
AWS提供了您在问题中显示的特殊SSM方法,使用户更容易访问特定AMI的最新版本。信息被发布到参数存储中。
另一种方法是在定义EC2实例的模板部分中对所需的AMI值进行硬编码。您经常会看到示例模板,这些模板使用映射为每个区域具有不同的AMI值。
除了提供实际的AMI ID之外,没有能力请求特定的AMI。
为什么会这样呢?这是因为添加SSM方法是为了方便地引用“最新”或“推荐的”AMI。一些后台进程将适当的AMI ID发布到SSM。它并不打算作为对所有非盟驻苏特派团进行编目的方法。
如果确实需要按名称进行搜索,可以使用AWS创建一个CloudFormation自定义资源,该资源按名称查询可用的AMI,然后返回相应的AMI ID。
https://stackoverflow.com/questions/53948605
复制相似问题