Amazon web services 如何查询EC2的最新AMI映像id?
AWS CloudFormation模板允许使用如下构造为EC2实例选择AMI映像IDAmazon web services 如何查询EC2的最新AMI映像id?,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,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 ECSAMI: 描述:AMI ID 类型:AWS::SSM::参数:
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
ECSAMI:
描述:AMI ID
类型:AWS::SSM::参数::值
默认值:/aws/service/ami亚马逊linux最新版本/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\u 64-ebs/image\u id
如何查询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
/aws/service////code>您在问题中展示的特殊SSM方法由aws提供,以便于用户访问特定AMI的最新版本。信息将发布到参数存储中
另一种方法是在定义EC2实例的模板部分硬编码所需AMI的值。您经常会看到使用映射为每个区域具有不同AMI值的示例模板
除了提供实际的AMI ID之外,没有能力请求特定的AMI
为什么会这样?这是因为添加SSM方法是为了方便地引用“最新”或“推荐”的AMI。一些后台进程将适当的AMI ID发布到SSM。它不打算作为对所有AMI进行编目的方法
如果确实需要按名称搜索,可以使用AWS Lambda创建一个CloudFormation自定义资源,该资源按名称查询可用的AMI,然后返回相应的AMI ID。您能给我一个提示或链接到文档,我可以在其中阅读如何概述参数存储中的所有信息吗?我想查看AWS发布的所有参数。请注意,使用参数存储查找AMI只是为了方便起见。获取AMIs信息的真正方法是使用以下命令:谢谢,我知道这篇文章。但它展示了如何只查询一个“子树”。是否有某种方法可以列出所有可用的树?也许您熟悉SNMP,您可以通过提供一些oid来查询SNMP值,如1.3.6.1.2.1.1.1.0
。但如果我使用oid,比如1.3
snmpwalk将返回所有oid以1.3
开头的值的列表,我尝试使用这些命令aws ssm通过路径获取参数--path/aws/service
,它返回空列表。不知道。您最好使用AIM命令而不是SSM。