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

使用 StackSets CloudFormation 的最佳實務

本節描述定義 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 上執行其他操作。