本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Parameter Store 中 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 使用者指南》中的 Using a Systems Manager parameter to find an AMI。
當您需要在執行個體建立工作流程中使用不同的 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 帳戶中可用。
在驗證操作完成之前,可能會產生參數版本號碼。操作可能無法完成,即使會產生參數版本編號。
若要監控參數是否建立成功,建議您使用 Amazon 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 事件設定通知或觸發動作。