使用 AWS CloudFormation StackSets 的最佳實務 - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS CloudFormation StackSets 的最佳實務

本節說明定義 StackSet 範本、建立或新增堆疊至 StackSet 或更新 StackSet 的最佳實務。

如果您是初次使用 CloudFormation,請檢閱 CloudFormation 最佳實務主題以取得更多建議,協助您更有效地安全地使用 CloudFormation。

定義範本

  • 定義您希望在多個區域內多個帳戶中標準化的範本。

  • 當您建立範本時,請確認在相同帳戶內超過一個以上的區域中建立全域資源 (例如 IAM 角色和 Amazon S3 儲存貯體) 時沒有發生命名衝突。

  • StackSet 具有單一範本和參數集。相同的堆疊會在與 StackSet 相關聯的所有帳戶中建立。當您編寫範本時,請讓其維持適當的精細程度,以在控制和標準化間取得良好的平衡。

  • 我們建議您將您的範本存放在 Amazon S3 儲存貯體中。

建立堆疊或將堆疊新增至 StackSet

  • 在將更多堆疊執行個體新增至 StackSet 之前,請確認將堆疊執行個體新增至您的初始 StackSet。

  • 選擇適合您使用案例的部署 (推出) 選項。

    • 如需進行較保守的部署,請將 Maximum Concurrent Accounts (最大同時帳戶數) 設為 1,並將 Failure Tolerance (容錯能力) 設為 0。將您的最低影響區域設為 Region Order (區域順序) 清單中的第一位。從使用一個區域開始。

    • 如需進行較快速的部署,請視需要增加 Maximum Concurrent Accounts (最大同時帳戶數)Failure Tolerance (容錯能力) 的值。

  • StackSets 上的操作取決於涉及多少堆疊執行個體,而且可能需要相當長的時間。

更新 StackSet 中的堆疊

  • 根據預設,更新 StackSet 會更新所有堆疊執行個體。如果您在兩個區域中各有 20 個帳戶,您將有 40 個堆疊執行個體,而且當您更新 StackSet 時,所有 都會更新。

    對於具有大量堆疊執行個體的 StackSets,我們建議您在更新所有堆疊執行個體之前,先選擇性地更新幾個測試帳戶中的堆疊執行個體,以測試範本的更新版本。

  • 若要更精細地控制更新 StackSet 中的個別堆疊,請計劃建立多個 StackSets

  • 更新包含大量堆疊的 StackSet 可能需要很長的時間。在此版本中,StackSet 一次僅允許一個操作。規劃您的更新,以免您無法在 StackSet 上執行其他操作。