部署適用於 Terraform (AFT) 的 AWS Control Tower 帳戶工廠 - AWS Control Tower

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

部署適用於 Terraform (AFT) 的 AWS Control Tower 帳戶工廠

本節適用於想要在現有環境中設定 Account Factory for Terraform (AFT) 的 AWS Control Tower 環境管理員。它說明如何使用新的專用 AFT 管理帳戶設定 Account Factory for Terraform (AFT) 環境。

注意

Terraform 模組部署 AFT。此模組可在 GitHub 上的 AFT 儲存庫中使用,而整個 AFT 儲存庫會被視為模組。

我們建議您參考 GitHub 上的 AFT 模組,而不是複製 AFT 儲存庫。如此一來,您就可以控制和使用可用的模組更新。

如需 AWS Control Tower Account Factory for Terraform (AFT) 功能最新版本的詳細資訊,請參閱此 GitHub 儲存庫的發行檔案

部署先決條件

在設定和啟動 AFT 環境之前,您必須擁有下列資源:

  • AWS Control Tower 登陸區域的主區域。如需詳細資訊,請參閱如何使用 AWS 區域 AWS Control Tower

  • AWS Control Tower 登陸區域。如需詳細資訊,請參閱規劃您的 AWS Control Tower 登陸區域

  • AFT 管理帳戶,您可以在 AWS Control Tower 中佈建,或透過其他方式佈建並註冊 AWS Control Tower。

  • Terraform 版本和分佈。如需詳細資訊,請參閱 Terraform 和 AFT 版本

  • 用於追蹤和管理程式碼和其他檔案變更的 VCS 提供者。根據預設,AFT 會使用 AWS CodeCommit。如需詳細資訊,請參閱AWS CodeCommit 《 使用者指南》中的什麼是 AWS CodeCommit?

    如果您是第一次部署 AFT,而且沒有現有的 CodeCommit 儲存庫,則必須選擇外部 VCS 供應商,例如 GitHub 或 BitBucket。如需詳細資訊,請參閱 AFT 中原始程式碼版本控制的替代方案

  • 執行期環境,您可以在其中執行安裝 AFT 的 Terraform 模組。

  • AFT 功能選項。如需詳細資訊,請參閱啟用功能選項

設定並啟動您的 AWS Control Tower 帳戶工廠 for Terraform

下列步驟假設您熟悉 Terraform 工作流程。您也可以遵循 AWS Workshop Studio 網站上的 AFT 實驗室簡介,進一步了解部署 AFT

步驟 1:啟動您的 AWS Control Tower 登陸區域

完成 AWS Control Tower 入門中的步驟。您可以在此處建立 AWS Control Tower 管理帳戶,並設定 AWS Control Tower 登陸區域。

注意

請務必為具有 AdministratorAccess 登入資料的 AWS Control Tower 管理帳戶建立角色。如需詳細資訊,請參閱下列內容:

步驟 2:為 AFT 建立新的組織單位 (強烈建議)

我們建議您在 AWS Control Tower 登陸區域 中建立單獨的 OU。此 OU 是您佈建 AFT 管理帳戶的地方。從 AWS Control Tower 管理帳戶建立新的 OU 和 AFT 管理帳戶。如需詳細資訊,請參閱建立新的 OU

步驟 3:佈建 AFT 管理帳戶

AFT 要求您佈建專用於 AFT 管理操作 AWS 的帳戶。當您登入與 AWS Control Tower 登陸區域相關聯的 AWS Control Tower 管理帳戶時,請建立 AFT 管理帳戶。您可以從 AWS Control Tower 主控台佈建 AFT 管理帳戶,方法是在組織頁面上選取建立帳戶,或是透過其他方式。如需詳細資訊,請參閱使用 Account Factory 佈建 AWS Service Catalog 帳戶

注意

如果您為 AFT 建立單獨的 OU,請務必在建立 AFT 管理帳戶時選取此 OU。

完成佈建 AFT 管理帳戶最多可能需要 30 分鐘。

步驟 4:確認 Terraform 環境可供部署

此步驟假設您具有 Terraform 的經驗,並已備妥執行 Terraform 的程序。如需詳細資訊,請參閱 HashiCorp 開發人員網站上的 Command: init

注意

AFT 支援 Terraform 版本 1.6.0 或更新版本。

步驟 5:呼叫 Account Factory for Terraform 模組以部署 AFT

使用您為具有 AdministratorAccess 憑證的 AWS Control Tower 管理帳戶建立的角色呼叫 AFT 模組。AWS Control Tower 透過 AWS Control Tower 管理帳戶佈建 Terraform 模組,該帳戶會建立協調 AWS Control Tower 帳戶工廠請求所需的所有基礎設施。

您可以在 GitHub 上的 AFT 儲存庫中檢視 AFT 模組。整個 GitHub 儲存庫會被視為 AFT 模組。如需執行 AFT 模組和部署 AFT 所需的輸入相關資訊,請參閱 README 檔案。或者,您可以在 Terraform 登錄檔中檢視 AFT 模組。

AFT 模組包含 aft_enable_vpc 參數,指定 AWS Control Tower 是否在中央 AFT 管理帳戶中的虛擬私有雲端 (VPC) 中佈建帳戶資源。根據預設, 參數會設為 true。如果您將此參數設定為 false,AWS Control Tower 會部署 AFT,而無需使用 VPC 和私有聯網資源,例如 NAT Gateways 或 VPC 端點。停用aft_enable_vpc可能有助於降低某些使用模式的 AFT 操作成本。

注意

重新啟用 aft_enable_vpc 參數 (將值從 切換falsetrue) 可能需要您連續執行terraform apply命令兩次。

如果您的環境中有為管理 Terraform 而建立的管道,您可以將 AFT 模組整合到現有的工作流程中。否則,請從任何使用必要憑證進行驗證的環境執行 AFT 模組。

逾時會導致部署失敗。我們建議您使用 AWS Security Token Service (STS) 登入資料,以確保您的逾時足以進行完整部署。 AWS STS 憑證的最短逾時為 60 分鐘。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南中的 IAM 中的臨時安全登入資料。

注意

您可能會等待最多 30 分鐘讓 AFT 完成透過 Terraform 模組的部署。

步驟 6:管理 Terraform 狀態檔案

部署 AFT 時會產生 Terraform 狀態檔案。此成品說明 Terraform 建立的資源狀態。如果您打算更新 AFT 版本,請務必預先保存 Terraform 狀態檔案,或使用 Amazon S3 和 DynamoDB 設定 Terraform 後端。AFT 模組不會管理後端 Terraform 狀態。

注意

您有責任保護 Terraform 狀態檔案。某些輸入變數可能包含敏感值,例如私有ssh金鑰或 Terraform 字符。根據您的部署方法,這些值可以在 Terraform 狀態檔案中以純文字形式檢視。如需詳細資訊,請參閱 HashiCorp 網站上的狀態敏感資料