地形和 AFT 版本 - AWS Control Tower

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

地形和 AFT 版本

地形(AFT)的 Account Factory 支持地形版本或更高版本。1.2.0您必須提供 Terraform 版本做為 AFT 部署程序的輸入參數,如下列範例所示。

terraform_version = "1.2.0"

地形分佈

AFT 支持三種地形分佈:

  • 地形社區版

  • 地形雲

  • 地形企業

這些發行版將在以下各節中進行說明。在 AFT 引導過程中,提供您選擇的 Terraform 分佈作為輸入參數。如需 AFT 部署和輸入參數的詳細資訊,請參閱部署適用於地形 (AFT) 的 AWS Control Tower Account Factory

如果您選擇 Terraform 雲端或 Terraform 企業發行版,則您指定的 API 權杖terraform_token 必須是使用者或團隊 API 權杖。並非所有必要的 API 都支援組織權杖。基於安全性考量,您必須透過指定 terraform 變數來避免將此權杖的值簽入版本控制系統 (VCS),如下列範例所示。

# Sensitive variable managed in Terraform Cloud: terraform_token = var.terraform_cloud_token

地形社區版

當您選擇 Terraform 社區版作為您的發行版時,AFT 會在 AFT 管理帳戶中為您管理 Terraform 後端。AFT 會下載您指定terraform-cli的 Terraform 版本,以便在 AFT 部署和 AFT 管道階段執行。產生的 Terraform 狀態組態會存放在 Amazon S3 儲存貯體中,以下列格式命名:

aft-backend-[account_id]-primary-region

AFT 還會建立一個 Amazon S3 儲存貯體,將您的 Terraform 狀態組態複製到另一個儲存貯體中 AWS 區域,以災難復原目的,並以下列格式命名:

aft-backend-[account_id]-secondary-region

我們建議您針對這些 Terraform 狀態 Amazon S3 儲存貯體上的刪除功能啟用多因素身份驗證 (MFA)。要了解有關地形社區版的更多信息,請參閱地形文檔。

若要選取 Terraform OSS 作為您的發行版本,請提供下列輸入參數:

terraform_distribution = "oss"

地形雲

當您選取 Terraform 雲端作為發佈時,AFT 會在 Terraform Cloud 組織中為下列元件建立工作區,以啟動 API 導向的工作流程。

  • 帳戶請求

  • AFT 規定之帳戶的 AFT 自訂

  • AFT 規定之帳戶的帳戶自訂

  • AFT 佈建之帳戶的全域自訂

地形雲管理產生的地形狀態配置。

當您選取 Terraform 雲端作為您的發佈時,請提供下列輸入參數:

  • terraform_distribution = "tfc"

  • terraform_token— 此參數包含地形雲端權杖的值。AFT 會將值標記為機密,並將值儲存為 AFT 管理帳戶的 SSM 參數存放區中的安全字串。我們建議您根據公司的安全性原則和合規性準則,定期輪換 Terraform 權杖的值。地形令牌應該是用戶或團隊級別的 API 令牌。不支援組織權杖。

  • terraform_org_name— 此參數包含您的地形雲端組織的名稱。

注意

不支援單一 Terraform 雲端組織中的多個 AFT 部署。

如需如何設定地形雲端的詳細資訊,請參閱地形文件

地形企業

當您選取 Terraform 企業版作為您的發佈時,AFT 會為您的 Terraform 企業組織中的下列元件建立工作區,並觸發 API 導向的工作流程,以便產生的 Terraform 執行。

  • 帳戶請求

  • AFT 佈建之帳戶的 AFT 帳戶佈建自訂

  • AFT 佈建之帳戶的帳戶自訂

  • AFT 佈建之帳戶的全域自訂

產生的地形表單狀態配置由您的地形企業安裝管理。

若要選取 Terraform 企業作為您的發行版,請提供下列輸入參數:

  • terraform_distribution = "tfe"

  • terraform_token— 此參數包含您的地形企業權杖的值。AFT 會將其值標記為機密值,並將其儲存為安全字串在 SSM 參數存放區的 AFT 管理帳戶中。我們建議您根據貴公司的安全性原則和合規性準則,定期輪換 Terraform 權杖的值。

  • terraform_org_name— 此參數包含您的 Terraform 企業組織的名稱。

  • terraform_api_endpoint— 此參數包含您的地形企業環境的 URL。此參數的值必須是格式:

    https://{fqdn}/api/v2/

請參閱 Terraform 文件以進一步了解如何設定地形企業版。