本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 使用者指南AMI中的使用 Systems Manager 參數以尋找。
當您需要在執行個體建立工作流程中使用不同的 AMI 時,只需要使用新的 AMI 值更新參數,Parameter Store 會再次驗證您已使用正確的格式輸入 ID。
授予許可以建立 aws:ec2:image
資料類型的參數
使用 AWS Identity and Access Management (IAM) 政策,您可以提供或限制使用者對 Parameter Store API 作業和內容的存取權。
若要建立aws:ec2:image
資料類型參數,使用者必須同時擁有ssm:PutParameter
和ec2:DescribeImages
權限。
以下範例政策向使用者授予許可,為 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 帳戶中可用。
在驗證操作完成之前,可能會產生參數版本號碼。操作可能無法完成,即使會產生參數版本編號。
若要監控您的參數是否成功建立,我們建議您使 EventBridge 用 Amazon 傳送有關您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" } }
如需有關在中訂閱Parameter Store事件的資訊 EventBridge,請參閱根據Parameter Store事件設定通知或觸發動作。