程式碼管道概觀 - AWS Control Tower

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

程式碼管道概觀

組態套件需要 Amazon Simple Storage Service (Amazon S3) 和 AWS CodePipeline。組態套件包含下列項目:

  • 資訊清單檔案

  • 一組隨附的範本

  • 用於描述和實作 AWS Control Tower 環境自訂的其他 JSON 檔案

根據預設,_custom-control-tower-configuration.zip組態套件會以下列命名慣例載入 Amazon S3 儲存貯體:

custom-control-tower-configuration-accountID-region.

注意

根據預設,CfCT 會建立 Amazon S3 儲存貯體來存放管道來源。大多數客戶都會保留此預設值。如果您有現有的 AWS CodeCommit 儲存庫,您可以將來源位置變更為儲存 AWS CodeCommit 庫。如需詳細資訊,請參閱AWS CodePipeline 《 使用者指南》中的在 CodePipeline 中編輯管道

資訊清單檔案是一種文字檔案,描述您可以部署以自訂登陸區域 AWS 的資源。CodePipeline 會執行這些任務:

  • 會擷取資訊清單檔案、隨附的範本集,以及其他 JSON 檔案

  • 執行資訊清單和範本驗證

  • 調用 CfCT 資訊清單檔案中的區段,以執行特定的管道階段

當您透過自訂資訊清單檔案並從組態套件檔案名稱中移除底線 (_) 來更新組態套件時,它會自動啟動 AWS CodePipeline。

記住底線

範例組態套件檔案名稱以底線 (_) 開頭,因此 AWS CodePipeline 不會自動觸發。當您完成組態套件的自訂時,請上傳custom-control-tower-configuration.zip不含底線 (_) 的檔案,以觸發其中的部署 AWS CodePipeline。

AWS CodePipeline 階段

CfCT 管道需要多個 AWS CodePipeline 階段來實作和更新 AWS Control Tower 環境。

  1. 來源階段

    來源階段是初始階段。您的自訂組態套件會啟動此管道階段。的來源 AWS CodePipeline 可以是 Amazon S3 儲存貯體或可託管組態套件的 AWS CodeCommit 儲存庫。

  2. 建置階段

    建置階段需要 AWS CodeBuild 驗證組態套件的內容。這些檢查包括使用 和 測試manifest.yaml檔案語法和結構描述,以及包含在套件中或遠端託管的所有 AWS CloudFormation 範本 AWS CloudFormation validate-templatecfn_nag。如果資訊清單檔案和 AWS CloudFormation 範本通過測試,管道會繼續進入下一個階段。如果測試失敗,您可以檢閱 CodeBuild 日誌以識別問題,並視需要編輯組態來源檔案。

  3. 手動核准階段 (選用)

    手動核准階段是選用的。如果您啟用此階段,它會提供額外的組態管道控制。它會在部署期間暫停管道,直到獲得核准為止。您可以在啟動堆疊時,將管道核准階段參數編輯為是,以選擇加入手動核准

  4. 政策階段

    政策階段會呼叫服務控制政策 (SCP) 或資源控制政策 (RCP) 狀態機器,以呼叫建立 SCPs或 RCPs AWS Organizations APIs。

  5. AWS CloudFormation 資源階段

    AWS CloudFormation 資源階段會叫用堆疊集狀態機器,以部署您在資訊清單檔案中提供的帳戶或組織單位 (OUs) 清單中指定的資源。狀態機器會依資訊清單檔案中指定的順序建立 AWS CloudFormation 資源。若要指定資源相依性,請排列清單檔案中指定資源的順序。資訊清單檔案中的資源順序是指定相依性的唯一方法。