Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何查询EC2的最新AMI映像id?_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Amazon web services 如何查询EC2的最新AMI映像id?

Amazon 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::参数:

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::参数::值
默认值:/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。