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) 環境を設定する方法について説明します。

注記

AFT は、AFT リポジトリで使用可能な Terraform モジュールでデプロイされます。GitHub ソースから AFT Terraform モジュールを参照し、クローンを作成しないことをお勧めします。これにより、使用可能なモジュールの更新を制御して使用できるようになります。

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

デプロイの前提条件

AFT には、インストールと実行の前提条件があります。このガイドでは、AFT ソリューションのデプロイに必要な次の各リソースを作成して操作できることを前提としています。

  • AWS Control Tower ランディングゾーン。

  • Terraform のバージョンとディストリビューション。互換性のある AFT Terraform ディストリビューションの詳細については、「Terraform と AFT バージョン」を参照してください。

  • AWS Control Tower ランディングゾーンのホームリージョン。

  • AWS CodeCommit を選択していない場合に、サードパーティーのバージョン管理システム (VCS) を使用する予定がある場合は、使用可能な git ベースのリポジトリを設定する必要があります。これらのリポジトリを環境で設定する方法については、「AFT での代替のソースコードバージョン管理」を参照してください。

  • AFT をインストールする Terraform モジュールを実行するランタイム環境。

  • AFT デプロイの一部として選択できる AFT 機能オプション。詳細については、「機能オプションの有効化」を参照してください。

注記

AFT にとって最も簡単なデプロイは、VCS として AWS CodeCommit を選択し、ディストリビューションとして Terraform OSS を選択することです。別の VCS または Terraform ディストリビューションを選択した場合は、このガイドの他のセクションに記載されているカスタマイズ手順を必ずお読みください。

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

AFT 環境を設定して起動するには、5 つのステップが必要です。

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

AFT を起動する前に、AWS アカウントで機能する AWS Control Tower ランディングゾーンが必要です。AWS Control Tower 管理アカウントから AFT を設定して起動します。

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

AWS 組織で別の OU を作成し、AFT 管理アカウントをデプロイすることをお勧めします。AWS Control Tower 管理アカウントを使用して OU を作成します。OU の作成方法については、「AWS Organizations ユーザーガイド」の「組織を作成する」を参照してください。

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

AFT では、独自のリクエストを管理およびオーケストレートするために、別の AWS アカウントが必要です。AWS Control Tower ランディングゾーン に関連付けられた AWS Control Tower 管理アカウントから、このアカウントを AFT にプロビジョニングします。

AFT 管理アカウントをプロビジョニングするには、「AWS Service Catalog で Account Factory アカウントをプロビジョニングする」を参照してください。OU を指定するときは、ステップ 2 で作成した OU を必ず選択してください。名前を指定するときは、AFT-Management を使用してください。

注記

アカウントが完全にプロビジョニングされるには、最大 30 分かかる場合があります。AFT 管理アカウントにアクセスできることを検証します。

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

このステップは、Terraform の使用経験があり、Terraform を実行するための手順を適切に行っていることを前提としています。AFT は Terraform バージョン 0.15.x 以降をサポートしています。

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

Account Factory for Terraform モジュールは、AWS Control Tower 管理アカウントの [AdministratorAccess] 認証情報で認証されている間に呼び出さなければなりません。

AWS Control Tower は、AWS Control Tower 管理アカウントを通じて、AWS Control Tower Account Factory リクエストをオーケストレートするために必要なすべてのインフラストラクチャを確立する Terraform モジュールを提供します。AFT リポジトリでモジュールを表示できます。モジュールの実行と AFT のデプロイに必要な入力については、モジュールの README ファイルを参照してください。

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

注記

AFT Terraform モジュールはバックエンドの Terraform 状態を管理しません。モジュールを適用した後に生成された Terraform 状態ファイルを必ず保持するか、Simple Storage Service (Amazon S3) と DynamoDB を使用して Terraform バックエンドを設定してください。

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

注記

Terraform モジュールを介して AFT をデプロイするには、数分かかります。初期デプロイには、最大 30 分かかる場合があります。タイムアウトによってデプロイが失敗するため、ベストプラクティスとして、AWS Security Token Service (STS) 認証情報を使用して、認証情報に完全なデプロイに十分なタイムアウトがあることを確認します。AWS STS 認証情報の最小タイムアウトは 60 分以上です。または、AWS Control Tower 管理アカウントで [AdministratorAccess] 許可を持つ IAM ユーザーを利用することもできます。