翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Terraform と AFT バージョン
Account Factory for Terraform (AFT) は、Terraform バージョン 1.6.0
以降をサポートしています。次の例に示すように、AFT デプロイプロセスの入力パラメータとして Terraform のバージョンを指定する必要があります。
terraform_version = "1.6.0"
Terraform ディストリビューション
AFT は、次の 3 つの Terraform ディストリビューションをサポートしています。
-
Terraform Community Edition
-
Terraform Cloud
-
Terraform Enterprise
これらのディストリビューションについては、以降のセクションで説明します。AFT ブートストラッププロセス中に、選択した Terraform ディストリビューションを入力パラメータとして指定します。AFT デプロイと入力パラメータの詳細については、「Terraform 用の AWS Control Tower Account Factory をデプロイする (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 は、AFT デプロイメントおよび AFT パイプラインフェーズ中に実行する、指定された Terraform バージョンの terraform-cli
をダウンロードします。結果の Terraform 状態設定は、次の形式の名前で Simple Storage Service (Amazon S3) バケットに格納されます。
aft-backend-
[account_id]
-primary-region
AFT は、ディザスタリカバリの目的で AWS リージョン、別の に Terraform 状態設定をレプリケートする Amazon S3 バケットも作成します。名前は次の形式で指定します。
aft-backend-
[account_id]
-secondary-region
これらの Terraform 状態の Simple Storage Service (Amazon S3) バケットの削除機能に対しては、多要素認証 (MFA、Multi-Factor Authentication) を有効にすることをお勧めします。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 パラメータストアに Secure String として保存します。会社のセキュリティポリシーとコンプライアンスガイドラインに従って、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 は、その値を機密としてマークし、AFT 管理アカウントの SSM パラメータストアに secure string として保存します。会社のセキュリティポリシーとコンプライアンスガイドラインに従って、Terraform トークンの値を定期的にローテーションすることをお勧めします。 -
terraform_org_name
— このパラメータには、Terraform Enterprise 組織の名前が含まれます。 -
terraform_api_endpoint
— このパラメータには、Terraform Enterprise 環境の URL が含まれます。このパラメータの値は、次の形式であることが必要です。https://{fqdn}/api/v2/
Terraform Enterprise の設定方法の詳細については、Terraform のドキュメント