Amazon 系统映像的本机参数支持IDs - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon 系统映像的本机参数支持IDs

创建 String 参数时,您可以将数据类型 指定为 aws:ec2:image,以确保所输入的参数值为有效的 Amazon 系统映像 (AMI) ID 格式。

通过支持 AMI ID 格式,您可以避免每次要在流程中使用的 AMI 发生更改时都使用新 ID 来更新所有脚本和模板。您可以创建数据类型为 aws:ec2:image 的参数,并输入 AMI ID 作为其值。这是您当前要从中创建新实例的 AMI。然后在模板、命令和脚本中引用此参数。

例如,您可以在运行 Amazon Elastic Compute Cloud (Amazon EC2) run-instances 命令时指定包含首选 AMI ID 的参数。

注意

运行此命令的用户必须具有包含 AWS Identity and Access Management API 操作的 IAM (ssm:GetParameters) 权限,才能验证参数值。否则,参数创建过程将失败。

aws ec2 run-instances \ --image-id resolve:ssm:/golden-ami \ --count 1 \ --instance-type t2.micro \ --key-name my-key-pair \ --security-groups my-security-group

您还可以在使用 AMI 控制台创建实例时选择首选 Amazon EC2。有关更多信息,请参阅 Systems Manager 中的使用 参数查找 AMIAmazon EC2 用户指南(适用于 Windows 实例)。

当在实例创建工作流程中使用其他 AMI 时,您只需使用新的 AMI 值更新参数即可,然后 Parameter Store 会再次验证您所输入 ID 的格式是否正确。

AMI 格式验证的工作原理

在将 aws:ec2:image 指定为参数的数据类型时,Systems Manager 不会立即创建参数。而是执行异步验证操作,以确保参数值满足 AMI ID 的格式设置要求,并且指定的 AMI 在您的 AWS 账户中可用。

请务必注意,在验证操作完成之前,可能会生成参数版本号。也就是说,单独生成的参数版本号并不表示该操作已成功完成。

要监控参数是否已成功创建,我们建议使用 Amazon EventBridge 向您发送有关创建和更新参数操作的通知。这些通知会报告参数操作是否成功。如果操作失败,通知会包含一条错误消息,指出失败的原因。

{ "version": "0", "id": "eed4a719-0fa4-6a49-80d8-8ac65EXAMPLE", "detail-type": "Parameter Store Change", "source": "aws.ssm", "account": "111122223333", "time": "2020-05-26T22:04:42Z", "region": "us-east-2", "resources": [ "arn:aws:ssm:us-east-2:111122223333:parameter/golden-ami" ], "detail": { "exception": "Unable to Describe Resource", "dataType": "aws:ec2:image", "name": "golden-ami", "type": "String", "operation": "Create" } }

有关在 EventBridge 中订阅 Parameter Store 事件的信息,请参阅基于 Parameter Store 事件设置通知或触发操作