本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 Cloud
-
Terraform Enterprise
这些发行版将在以下部分详细介绍。在 AFT 引导过程中,提供您选择的 Terraform 发行版作为输入参数。有关 AFT 部署和输入参数的更多信息,请参阅 部署 AWS Control Tower Account Factory for Terraform(AFT)。
如果您选择 Terraform Cloud 或 Terraform Enterprise 发行版,则为 terraform_token
指定的 API 令牌
# Sensitive variable managed in Terraform Cloud: terraform_token = var.terraform_cloud_token
Terraform Community Edition
如果选择 Terraform Community Edition 作为发行版,AFT 会在 AFT 管理账户中为您管理 Terraform 后端。AFT 会下载您指定的 Terraform 版本的 terraform-cli
,以便在 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 Cloud
如果选择 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 Parameter Store 中。我们建议您根据公司的安全策略和合规性准则定期轮换 Terraform 令牌的值。Terraform 令牌应是 User 或 Team 级别的 API 令牌。不支持 Organization 令牌。 -
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 将其值标记为敏感值,并将其作为安全字符串存储在 AFT 管理账户的 SSM Parameter Store 中。我们建议您根据公司的安全策略和合规性准则定期轮换 Terraform 令牌的值。 -
terraform_org_name
- 此参数包含您的 Terraform Enterprise 组织的名称。 -
terraform_api_endpoint
- 此参数包含您的 Terraform Enterprise 环境的 URL。此参数的值必须采用以下格式:https://{fqdn}/api/v2/
有关如何设置 Terraform Enterprise 的更多信息,请参阅 Terraform 文档