本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在多區域、多帳戶組織中設定 AWS CloudFormation 漂移偵測
由拉姆·康達斯瓦米(AWS)創建
環境:生產 | 技術:管理與治理、雲端原生、基礎架構、營運、現代化 | 工作負載:所有其他工作 |
AWS 服務:Amazon SNS;AWS Config;AWS Lambda;AWS CloudFormation |
Summary
Amazon Web Services (AWS) 上的客戶通常都在尋找一種有效的方法來偵測資源組態不相符,包括 AWS CloudFormation 堆疊中的漂移,並儘快修復它們。使用 AWS Control Tower 或 AWS 登陸區域解決方案時,尤其是這種情況。
此模式提供了規範性的解決方案,藉由使用合併的資源組態變更並採取這些變更來產生結果,有效地解決問題。此解決方案是針對在多個區域或多個帳戶或兩者的組合中建立多個 CloudFormation 堆疊的案例而設計。該解決方案的目標如下:
簡化漂移檢測過程
設定通知和警示
設定合併報告
先決條件和限制
先決條件
在必須監控的所有區域和帳戶中啟用 AWS Config
限制
產生的報告僅支援 .csv 或 .json 輸出格式。
架構
目標技術堆疊
目前的指引將協助組織使用下列服務的組合來達成目標:
AWS Config 規則
Amazon CloudWatch 法則
AWS Identity and Access Management (IAM)
AWS Lambda
Amazon Simple Notification Service (Amazon SNS)
AWS 組態規則可偵測漂移。
其他帳戶中的漂移偵測結果會傳送至管理帳戶。
該 CloudWatch 規則會呼叫 Lambda。
Lambda 會查詢 AWS Config 規則以取得彙總結果。
Lambda 通知 Amazon SNS,該 SNS 會發送有關漂移的電子郵件通知。
自動化和規模
此處介紹的解決方案可以針對其他區域和帳戶進行擴展。
工具
AWS 組態 — AWS Config 提供 AWS 帳戶中 AWS 資源組態的詳細檢視。這包含資源彼此之間的關係和之前的組態方式,所以您可以看到一段時間中組態和關係的變化。使用 AWS Config,您可以評估、稽核和評估 AWS 資源的組態。
Amazon CloudWatch — Amazon 即時 CloudWatch 監控您的 AWS 資源和您在 AWS 上執行的應用程式。您可以用 CloudWatch 來收集和追蹤指標,這些指標是您可以針對資源和應用程式測量的變數。
AWS Lambda — AWS Lambda 是一種運算服務,可支援執行程式碼,而無需佈建或管理伺服器。Lambda 只有在需要時才會執行程式碼,可自動從每天數項請求擴展成每秒數千項請求。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。
Amazon SNS — Amazon Simple Notification Service (Amazon SNS) 是一種受管服務,可提供從發佈者到訂閱者 (也稱為生產者和消費者) 的訊息傳遞。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
建立彙總器。 | 在 AWS Config 主控台上,在管理帳戶中建立彙總工具。確定已開啟資料複寫,以便 AWS Config 可以從來源帳戶擷取資料。此外,請選取所有適用的地區和帳戶。您可以根據組織選取帳戶。這是建議使用的方法,因為組織中的新帳戶會自動成為彙總器的一部分。 | 雲端架構師 |
建立 AWS 受管規則。 | 新增 | 雲端架構師 |
建立彙總器的進階查詢區段。 | 若要從多個來源擷取漂移的堆疊,請建立下列查詢:
| 雲架構師、開發人員 |
自動執行查詢並發佈。 | 使用所附加的程式碼建立 Lambda 函數。Lambda 會將結果發佈到 Amazon SNS 主題,該主題在 Lambda 函數中以環境變數形式提供。此外,若要接收警示,請建立現有 Amazon SNS 主題的電子郵件訂閱。 | 雲架構師、開發人員 |
建立 CloudWatch 規則。 | 建立以排程為基礎的 CloudWatch 規則,以呼叫 Lambda 函數,此函數負責警示。 | 雲端架構師 |
相關資源
資源
其他資訊
考量
使用涉及特定時間間隔的 API 呼叫的自訂解決方案,在每個 CloudFormation 堆疊或堆疊集上啟動漂移偵測並不是最佳選擇。它會導致大量 API 調用並影響性能。由於 API 呼叫的數目,可能會發生節流。另一個潛在問題是,如果僅根據排程識別資源變更,則偵測延遲。
常見問答集
問:是否應該搭配 AWS 著陸區使用附加元件型解決方案?
答:由於 AWS Config 中提供進階查詢功能以及彙總器,建議您使用 AWS Config 而不是附加元件。
問:這個解決方案如何解決 CloudFormation StackSets?
答:由於堆棧集是由堆棧組成的,因此您可以使用此解決方案。堆疊執行個體詳細資料也可做為解決方案的一部分使用。
附件
若要存取與此文件相關聯的其他內容,請解壓縮下列檔案:attachment.zip