程式碼管線概觀 - AWS Control Tower

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

程式碼管線概觀

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

  • 清單文件

  • 隨附的一組範本

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

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

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

注意

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

訊清單檔案是一個文字檔案,描述您可以部署以自訂 landing zone 的 AWS 資源。 CodePipeline 執行以下任務:

  • 擷取資訊清單檔案、隨附的範本集和其他檔JSON案

  • 執行清單和模板驗證

  • 調用清單文件中的部分以運行特定的管道階段

當您透過自訂資訊清單檔案並從組態封裝檔案名稱中移除底線 (_) 來更新組態封裝時,它會自動啟動 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. 服務控制政策階段

    服務控制原則階段會呼叫服務控制原則狀態機器,以呼叫 AWS Organizations APIs建立服務控制原則 (SCPs)。

  5. AWS CloudFormation 資源階段

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