AWS Control Tower Account Factory for Terraform (AFT) のデプロイ - AWS Control Tower

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Control Tower Account Factory for Terraform (AFT) のデプロイ

このセクションは、既存の環境で Account Factory for Terraform (AFT) を設定する AWS Control Tower 環境の管理者を対象としています。ここでは、新しい専用の AFT 管理アカウントを使用して、Account Factory for Terraform (AFT) 環境を設定する方法について説明します。

注記

Terraform モジュールは AFT をデプロイします。このモジュールは の AFT リポジトリで使用でき GitHub、AFT リポジトリ全体がモジュールと見なされます。

AFT リポジトリのクローンを作成する代わりに、 の GitHub AFT モジュールを参照することをお勧めします。これにより、モジュールが利用可能になったときにその更新を管理して使用することができます。

AWS Control Tower Account Factory for Terraform (AFT) 機能の最新リリースの詳細については、この GitHub リポジトリのリリースファイルを参照してください。

デプロイの前提条件

AFT 環境を設定して起動する前に、次のものが必要です。

AWS Control Tower Account Factory for Terraform を設定して起動する

以下の手順は、Terraform のワークフローに精通していることを前提としています。また、AFT のデプロイの詳細については、 AWS Workshop Studio ウェブサイトの「AFT ラボの概要」を参照してください。

ステップ 1: AWS Control Tower ランディングゾーンを起動する

AWS Control Tower の開始方法」のステップを完了します。ここで、AWS Control Tower 管理アカウントを作成し、AWS Control Tower ランディングゾーンを設定します。

注記

AdministratorAccess 認証情報を持つ AWS Control Tower 管理アカウントのロールを必ず作成してください。詳細については、次を参照してください。

ステップ 2: AFT の新しい組織単位を作成する (推奨)

AWS 組織内に別の OU を作成することをお勧めします。ここに AFT 管理アカウントをデプロイします。AWS Control Tower 管理アカウントを使用して新しい OU を作成します。詳細については、「新しい OU を作成する」を参照してください。

ステップ 3: AFT 管理アカウントをプロビジョニングする

AFT では、AFT 管理オペレーション専用の AWS アカウントをプロビジョニングする必要があります。AWS Control Tower ランディングゾーンに関連付けられている AWS Control Tower 管理アカウントが、AFT 管理アカウントを発行します。詳細については、AWS Service Catalog 「Account Factory でアカウントをプロビジョニングする」を参照してください。

注記

AFT 用に別の OU を作成した場合は、AFT 管理アカウントを作成するときに必ずこの OU を選択してください。

AFT 管理アカウントを完全にプロビジョニングするには、最大 30 分かかる場合があります。

ステップ 4: Terraform 環境がデプロイに使用可能であることを検証する

このステップは、Terraform の使用経験があり、Terraform を実行するための手順を適切に行っていることを前提としています。詳細については、 HashiCorp デベロッパーウェブサイトの「 コマンド: init」を参照してください。

注記

AFT は Terraform バージョン 1.2.0 以降をサポートしています。

ステップ 5: Account Factory for Terraform モジュールを呼び出して AFT をデプロイする

AdministratorAccess 認証情報を持つ AWS Control Tower 管理アカウント用に作成したロールを使用して AFT モジュールを呼び出します。AWS Control Tower は、AWS Control Tower 管理アカウントを通じて、AWS Control Tower Account Factory リクエストをオーケストレーションするために必要なすべてのインフラストラクチャを確立する Terraform モジュールをプロビジョニングします。

AFT モジュールは、 の AFT リポジトリで表示できます GitHub。 GitHub リポジトリ全体が AFT モジュールと見なされます。AFT モジュールの実行と AFT のデプロイに必要な入力については、README ファイルを参照してください。または、Terraform レジストリで AFT モジュールを表示することもできます。

AFT モジュールには、AWS Control Tower が中央 AFT 管理アカウントの Virtual Private Cloud (VPC) 内にアカウントリソースをプロビジョニングするかどうかを指定するaft_enable_vpcパラメータが含まれています。デフォルトでは、 パラメータは に設定されていますtrue。このパラメータを に設定するとfalse、AWS Control Tower は VPC や NAT ゲートウェイや VPC エンドポイントなどのプライベートネットワークリソースを使用せずに AFT をデプロイします。を無効にすると、一部の使用パターンで AFT の運用コストを削減できるaft_enable_vpc場合があります。

注記

aft_enable_vpc パラメータを再度有効にする (値を から falseに切り替えるtrue) には、terraform applyコマンドを 2 回連続して実行する必要がある場合があります。

環境で Terraform を管理するために確立されたパイプラインを持っている場合は、この AFT モジュールを既存のワークフローに統合できます。それ以外の場合は、必要な認証情報で認証された環境から AFT モジュールを実行します。

タイムアウトするとデプロイが失敗します。 AWS Security Token Service (STS) 認証情報を使用して、完全なデプロイに十分なタイムアウトを確保することをお勧めします。 AWS STS 認証情報の最小タイムアウトは 60 分です。詳細については、「 AWS Identity and Access Management ユーザーガイド」の「IAM での一時的なセキュリティ認証情報」を参照してください。

注記

AFT が Terraform モジュールを使用してデプロイを完了するまで最大 30 分かかる場合があります。

ステップ 6: Terraform 状態ファイルを管理する

AFT をデプロイすると、Terraform 状態ファイルが生成されます。このアーティファクトは、Terraform が作成したリソースの状態を記述します。AFT バージョンを更新する予定がある場合は、必ず Terraform 状態ファイルを保存するか、Amazon S3 と DynamoDB を使用して Terraform バックエンドをセットアップします。AFT モジュールはバックエンドの Terraform 状態を管理しません。

注記

Terraform 状態ファイルを保護するのはユーザーの責任です。一部の入力変数には、プライベートの ssh キーまたは Terraform トークンなどの機密値が含まれる場合があります。デプロイ方法によって、これらの値は Terraform 状態ファイルにプレーンテキストとして表示されることがあります。詳細については、 HashiCorp ウェブサイトの「 状態の機密データ」を参照してください。