本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
程式碼管道概觀
組態套件需要 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 環境。
-
來源階段
來源階段是初始階段。您的自訂組態套件會啟動此管道階段。的來源 AWS CodePipeline 可以是 Amazon S3 儲存貯體或可託管組態套件的 AWS CodeCommit 儲存庫。
-
建置階段
建置階段需要 AWS CodeBuild 驗證組態套件的內容。這些檢查包括使用 和 測試
manifest.yaml
檔案語法和結構描述,以及包含在套件中或遠端託管的所有 AWS CloudFormation 範本 AWS CloudFormationvalidate-template
cfn_nag
。如果資訊清單檔案和 AWS CloudFormation 範本通過測試,管道會繼續進入下一個階段。如果測試失敗,您可以檢閱 CodeBuild 日誌以識別問題,並視需要編輯組態來源檔案。 -
手動核准階段 (選用)
手動核准階段是選用的。如果您啟用此階段,它會提供額外的組態管道控制。它會在部署期間暫停管道,直到獲得核准為止。您可以在啟動堆疊時,將管道核准階段參數編輯為是,以選擇加入手動核准。
-
政策階段
政策階段會呼叫服務控制政策 (SCP) 或資源控制政策 (RCP) 狀態機器,以呼叫建立 SCPs或 RCPs AWS Organizations APIs。
-
AWS CloudFormation 資源階段
AWS CloudFormation 資源階段會叫用堆疊集狀態機器,以部署您在資訊清單檔案中提供的帳戶或組織單位 (OUs) 清單中指定的資源。狀態機器會依資訊清單檔案中指定的順序建立 AWS CloudFormation 資源。若要指定資源相依性,請排列清單檔案中指定資源的順序。資訊清單檔案中的資源順序是指定相依性的唯一方法。