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) 許可,才能驗證參數值。否則,參數建立程序會失敗。
當您使用 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) 傳送 create
與 update
參數操作的相關通知給您。這些通知會報告參數操作是否成功。如果操作失敗,通知會包含錯誤訊息,指出失敗原因。
{ "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事件設定通知或觸發動作。