2024-07-30|閱讀時間 ‧ 約 32 分鐘

加入 AWS Organizations 後自動執行CloudFormation StackSets


什麼是 AWS Organizations ?


AWS Organizations [1] 是一個帳戶管理工具,讓您可以將多個 AWS 帳戶整合到一個組織中進行集中管理。它提供帳戶管理和合併帳單功能,有助於更好地控制預算、安全和合規性。管理員可以在組織內創建新帳戶或邀請現有帳戶加入。


什麼是 AWS CloudFormation StackSets ?


AWS CloudFormation StackSets [2] 讓您可以一次性地在多個帳戶和 AWS 區域中建立、更新或刪除資源。您可以用一個範本來設定這些資源,然後將它們分佈到所有目標帳戶和區域。


情境說明


當在 AWS Organizations 組織底下,有幾百組子帳號,當我想統一起用 AWS CloudTrail [1] 來紀錄所有AWS 帳戶、使用者、Role 或 AWS 服務執行的動作,我們不可能一個一個登入設置

我們可以透過 Organizations 其中一項功能來實現,當有其他子帳戶加入組織時直接自動部署 CloudFormation StackSets 來套用整個組織。


實作


AWS Organizations 設置

AWS Organizations > Services > 啟用信任存取 CloudFormation StackSets


AWS CloudFormation 設置


AWS CloudFormation > StackSets > 建立 StackSets


許可:服務受管許可(StackSets 會自動設定部署至由 AWS Organizations 管理的目標帳戶所需的許可。使用此選項,您可以啟用自動部署至組織中的帳戶)
先決條件 – 準備範本

範例範本:選擇 啟用AWS CloudTrail


StackSet 名稱


參數設置(依照實際情況調整)


設定 StackSet 選項(依照實際情況調整)


設定部署選項,您可以選擇部署整個組織,或組織單位 (OU)(依照實際情況調整)


這裡示範指定組織單位其中一組測試帳號


自動部署選項(依照實際情況調整)

啟用自動部署後,如果帳戶新增至 OU,StackSets 會自動將額外的堆疊執行個體部署至該帳戶。
如果從 OU 移除某個帳戶,StackSets 會自動刪除此帳戶中的堆疊執行個體。


指定需要的區域(依照實際情況調整)


部署選項(依照實際情況調整)


執行最後檢閱


檢視部署結果


接下來我們到子帳號查看部署結果

有正確執行 CloudFormation(注意區域)


來到 CloudTrail 檢查是否有啟用


檢查 CloudTrail 是誰執行

其實沒看到 Org id,只知道透過 assumed-role/stacksets-exec- 這身份執行


當您加入 AWS Organizations 並自動執行 CloudFormation StackSets 後,您可以更有效地管理和部署多帳戶環境中的基礎設施。

這種自動化不僅能夠節省時間,還能確保資源配置的一致性,並減少手動操作的風險。

透過充分利用 AWS Organizations 和 CloudFormation StackSets,您可以更好地實現企業級的雲端管理與控制,為業務的持續發展提供穩固的技術支撐。


[1] https://docs.aws.amazon.com/zh_tw/organizations/latest/userguide/orgs_introduction.html

[2] https://docs.aws.amazon.com/zh_tw/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html

[3]

https://docs.aws.amazon.com/zh_tw/awscloudtrail/latest/userguide/cloudtrail-user-guide.html

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.