本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用目標帳戶閘道來防止失敗的 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 主控台建立堆疊。
|
範本位置 |
Description |
|---|---|
|
建立實作 Lambda 帳戶閘道函數 (將傳回 |
|
|
建立實作 Lambda 帳戶閘道函數 (將傳回 |