本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Terraform 和 AFT 版本
Account Factory for Terraform (AFT) 支援 Terraform 版本 1.6.0
或更新版本。您必須提供 Terraform 版本做為 AFT 部署程序的輸入參數,如以下範例所示。
terraform_version = "1.6.0"
Terraform 分佈
AFT 支援三種 Terraform 分佈:
-
Terraform Community Edition
-
Terraform 雲端
-
Terraform Enterprise
這些分佈會在以下各節中說明。在 AFT 引導程序期間,提供您選擇的 Terraform 分佈做為輸入參數。如需 AFT 部署和輸入參數的詳細資訊,請參閱 部署適用於 Terraform (AFT) 的 AWS Control Tower 帳戶工廠 。
如果您選擇 Terraform Cloud 或 Terraform Enterprise 分佈,您為 指定的 API 權terraform_token
必須是使用者或團隊 API 權杖。並非所有必要的 APIs都支援 Organization 權杖。基於安全考量,您必須藉由指派 terraform 變數
# Sensitive variable managed in Terraform Cloud: terraform_token = var.terraform_cloud_token
Terraform Community Edition
當您選取 Terraform Community Edition 做為分佈時,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 Community Edition,請參閱 Terraform 文件
若要選取 Terraform OSS 做為分佈,請提供下列輸入參數:
terraform_distribution = "oss"
Terraform 雲端
當您選取 Terraform Cloud 做為分佈時,AFT 會在 Terraform Cloud 組織中為下列元件建立工作區,這會啟動 API 驅動的工作流程。
-
帳戶請求
-
AFT 佈建之帳戶的 AFT 自訂
-
AFT 佈建之帳戶的帳戶自訂
-
AFT 佈建之帳戶的全域自訂
Terraform Cloud 會管理產生的 Terraform 狀態組態。
當您選取 Terraform Cloud 做為分佈時,請提供下列輸入參數:
-
terraform_distribution = "tfc"
-
terraform_token
– 此參數包含 Terraform Cloud 字符的值。AFT 會將 標記為敏感,並將值儲存為 AFT 管理帳戶中 SSM 參數存放區中的安全字串。我們建議您根據公司的安全政策和合規準則定期輪換 Terraform 字符的值。Terraform 權杖應該是使用者或團隊層級 API 權杖。不支援組織字符。 -
terraform_org_name
– 此參數包含 Terraform Cloud 組織的名稱。
注意
不支援單一 Terraform Cloud 組織中的多個 AFT 部署。
如需有關如何設定 Terraform Cloud 的資訊,請參閱 Terraform 文件
Terraform Enterprise
當您選取 Terraform Enterprise 做為分佈時,AFT 會在 Terraform Enterprise 組織中為下列元件建立工作區,並觸發產生 Terraform 執行的 API 驅動工作流程。
-
帳戶請求
-
由 AFT 佈建之帳戶的 AFT 帳戶佈建自訂
-
AFT 佈建的帳戶的帳戶自訂
-
AFT 佈建之帳戶的全域自訂
產生的 Terraform 狀態組態是由您的 Terraform Enterprise 設定管理。
若要選取 Terraform Enterprise 做為分佈,請提供下列輸入參數:
-
terraform_distribution = "tfe"
-
terraform_token
– 此參數包含 Terraform Enterprise 字符的值。AFT 將其值標記為敏感,並將其儲存為 SSM 參數存放區 AFT 管理帳戶中的安全字串。我們建議您根據公司的安全政策和合規準則,定期輪換 Terraform 字符的值。 -
terraform_org_name
– 此參數包含 Terraform Enterprise 組織的名稱。 -
terraform_api_endpoint
– 此參數包含 Terraform Enterprise 環境的 URL。此參數的值格式必須為:https://{fqdn}/api/v2/
請參閱 Terraform 文件