Amazon Machine Image ID 的原生參數支援 - AWS Systems Manager

Amazon Machine Image ID 的原生參數支援

建立 String 參數時,您現在可以將資料類型指定為 aws:ec2:image,以確保輸入的參數值為有效的 Amazon Machine Image (AMI) ID 格式。

支援 AMI ID 格式可讓您避免每次想要在程序中使用的 AMI 發生變更時,都使用新 ID 來更新所有指令碼和範本。您可以使用資料類型 aws:ec2:image 建立參數,並為其數值輸入 AMI 的 ID。這是您目前想要建立新執行個體的 AMI。然後,您可以在範本、命令和指令碼中參考此參數。

例如,您在執行 Amazon Elastic Compute Cloud (Amazon EC2) run-instances 命令時,可以指定包含您偏好的 AMI ID 的參數。

注意

執行此命令的使用者必須擁有包含 ssm:GetParameters API 操作的 AWS Identity and Access Management (IAM) 許可,才能驗證參數值。否則,參數建立程序會失敗。

Linux & macOS
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
Windows
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

當您使用 Amazon EC2 主控台建立執行個體時,也可以選擇偏好的 AMI。如需詳細資訊,請參閱《Amazon EC2 Windows 執行個體使用者指南》中的使用 Systems Manager 參數來查找 AMI

當您需要在執行個體建立工作流程中使用不同的 AMI 時,只需要使用新的 AMI 值更新參數,Parameter Store 會再次驗證您已使用正確的格式輸入 ID。

授予許可以建立 aws:ec2:image 資料類型的參數

您可以使用 AWS Identity and Access Management (IAM) 政策提供或限制使用者存取 Parameter Store API 操作和內容。

以下範例政策向使用者授予許可,為 aws:ec2:image 呼叫 PutParameter API 操作。這意味著使用者可以將資料類型 aws:ec2:image 的參數新增至系統。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:PutParameter", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DescribeImages", "Resource": "*" } ] }

AMI 格式驗證的運作方式

當您將 aws:ec2:image 指定為參數的資料類型時,Systems Manager 不會立即建立參數。它會執行非同步驗證操作,以確保參數值符合 AMI ID 的格式化要求,並且指定的 AMI 在您的 AWS 帳戶 中可用。

在驗證操作完成之前,可能會產生參數版本號碼。操作可能無法完成,即使會產生參數版本編號。

若要監控參數是否建立成功,建議您使用 Amazon EventBridge (EventBridge) 傳送 createupdate 參數操作的相關通知給您。這些通知會報告參數操作是否成功。如果操作失敗,通知會包含錯誤訊息,指出失敗原因。

{ "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事件設定通知或觸發動作