本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用目標帳戶閘道防止失敗的 StackSets 部署
帳戶閘道是一項選用功能,可協助您在 CloudFormation 在該帳戶中開始 StackSets 操作之前,驗證目標帳戶是否符合特定要求。此驗證是透過做為先決條件檢查的 AWS Lambda 函數執行。
帳戶閘道的常見範例,是驗證目標帳戶上不存在作用中或未解決的 CloudWatch 警示。CloudFormation 會在您每次在目標帳戶中啟動堆疊操作時叫用 Lambda 函數,而且只有在函數傳回SUCCEEDED
程式碼時才會繼續。如果 Lambda 函數傳回 的狀態FAILED
,CloudFormation 不會繼續您請求的操作。如果您沒有設定帳戶閘道 Lambda 函數,CloudFormation 會略過檢查,並繼續操作。
如果您目標帳戶的帳戶閘道檢查失敗,則失敗操作將計入您指定的堆疊容錯能力數目或百分比。如需容錯能力的詳細資訊,請參閱 StackSet 操作選項。
帳戶閘道僅適用於 StackSets 操作。此功能不適用於 StackSets 以外的其他 CloudFormation 操作。
要求
帳戶閘道必須符合下列要求:
-
您的 Lambda 函數必須命名
AWSCloudFormationStackSetAccountGate
才能使用此功能。 -
AWSCloudFormationStackSetExecutionRole 必須具有叫用 Lambda 函數的許可。如果沒有這些許可,CloudFormation 會略過帳戶門控檢查並繼續堆疊操作。
-
Lambda
InvokeFunction
許可必須新增至目標帳戶,帳戶閘道才能運作。目標帳戶信任政策必須具有與管理員帳戶的信任關係。下列是授予 LambdaInvokeFunction
許可的範例政策聲明。
用於建立 Lambda 函數的 CloudFormation 範本
使用下列範例範本來建立 Lambda AWSCloudFormationStackSetAccountGate
函數。若要使用這些範本之一建立新的堆疊,請參閱 從 CloudFormation 主控台建立堆疊。
範本位置 |
描述 |
---|---|
建立實作 Lambda 帳戶閘道函數 (將傳回 |
|
建立實作 Lambda 帳戶閘道函數 (將傳回 |