

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

# AFT アカウントプロビジョニングパイプライン
<a name="aft-provisioning-framework"></a>

パイプラインのアカウントプロビジョニングステージが完了した後も、AFT フレームワークは続行されます。これにより、一連のステップが自動的に実行され、[アカウントのカスタマイズ](aft-account-customization-options.md)ステージが開始される前に、新しくプロビジョニングされたアカウントに詳細が設定されるようになります。

**次に、AFT パイプラインが実行される次のステップを示します。**

1. アカウントリクエストの入力を検証します。

1. プロビジョニングされたアカウント (アカウント ID など) に関する情報を取得します。

1. アカウントメタデータを AFT 管理アカウントの DynamoDB テーブルに保存します。

1. 新しくプロビジョニングされたアカウントに **[AWSAFTExecution]** IAM ロールを作成します。AFT は、このロールが Account Factory ポートフォリオへのアクセスを許可するために、アカウントのカスタマイズステージを実行するこのロールを引き受けます。

1. アカウントリクエスト入力パラメータの一部として指定したアカウントタグを適用します。

1. AFT デプロイ時に選択した AFT 機能オプションを適用します。

1. 指定した AFT アカウントプロビジョニングのカスタマイズを適用します。次のセクションでは、`git` リポジトリで、AWS Step Functions ステートマシンを使用してこれらのカスタマイズを設定する方法の詳細について説明します。このステージは、アカウントプロビジョニングフレームワークステージと呼ばれることもあります。**これはコアプロビジョニングプロセスの一部ですが、アカウントプロビジョニングワークフローの一部としてカスタマイズされた統合を提供するフレームワークをあらかじめ設定してから、次のステージで追加のカスタマイズをアカウントに追加します。

1. プロビジョニングされたアカウントごとに、 AWS CodePipeline AFT 管理アカウントに が作成されます。これは (次のグローバル) [アカウントのカスタマイズ](aft-account-customization-options.md)ステージを実行するために実行されます。

1. プロビジョニングされた (およびターゲットの) アカウントごとに、アカウントカスタマイズパイプラインを呼び出します。

1. 成功または失敗の通知を SNS トピックに送信し、そこからメッセージを取得できます。

## ステートマシンを使用したアカウントプロビジョニングフレームワークのカスタマイズの設定
<a name="aft-customizations"></a>

アカウントをプロビジョニングする前に Terraform 以外のカスタム統合を設定した場合、これらのカスタマイズは AFT アカウントのプロビジョニングワークフローに含まれます。例えば、AFT によって作成されたすべてのアカウントがセキュリティ標準などの組織の標準やポリシーに準拠していることを確認するために、特定のカスタマイズが必要になる場合があります。これらの標準は、追加のカスタマイズの前にアカウントに追加できます。これらのアカウントプロビジョニングフレームワークのカスタマイズは、グローバルアカウントのカスタマイズステージが次に開始される前に、プロビジョニングされたすべてのアカウントに実装されます。**

**注記**  
このセクションで説明する AFT 機能は、AWS Step Functions の機能を理解している上級ユーザーを対象としています。代替として、アカウントのカスタマイズステージでグローバルヘルパーを操作することをお勧めします。

AFT アカウントプロビジョニングフレームワークは、ユーザーが定義した AWS Step Functions ステートマシンを呼び出して、カスタマイズを実装します。可能なステートマシン統合の詳細については、「[AWS Step Functions のドキュメント](https://docs.aws.amazon.com//step-functions/latest/dg/welcome.html)」を参照してください。

一般的な統合を次に示します。
+ 任意の言語での AWS Lambda 関数
+ Docker コンテナを使用した、AWS ECS または AWS Fargate タスク
+ AWS またはオンプレミスでホストされるカスタムワーカーを使用した AWS Step Functions アクティビティ
+ Amazon SNS または SQS 統合

AWS Step Functions ステートマシンが定義されていない場合、ステージはノーオペレーションで渡されます。AFT アカウントプロビジョニングのカスタマイズのステートマシンを作成するには、[AFT アカウントプロビジョニングのカスタマイズのステートマシンを作成する](#aft-create-customizations)の手順に従います。カスタマイズを追加する前に、前提条件を満たしていることを確認してください。

これらのタイプの統合は AWS Control Tower の一部ではないため、AFT アカウントカスタマイズのグローバルな事前 API ステージの間は追加できません。代わりに、AFT パイプラインを使用して、プロビジョニングプロセスの一部としてこれらのカスタマイズを設定できます。これらは、プロビジョニングワークフローで実行されます。次のセクションで説明するように、AFT アカウントプロビジョニングステージを開始する前に、事前にステートマシンを作成して、これらのカスタマイズを実装する必要があります。

**ステートマシンを作成するための前提条件**
+ AFT が完全にデプロイされていること。AFT デプロイの詳細については、「[AWS Control Tower Account Factory for Terraform (AFT) のデプロイ](aft-getting-started.md)」を参照してください。
+ AFT アカウントプロビジョニングのカスタマイズのために、環境に `git` リポジトリを設定します。詳細については、「[デプロイ後のステップ](aft-post-deployment.md)」を参照してください。

## AFT アカウントプロビジョニングのカスタマイズのステートマシンを作成する
<a name="aft-create-customizations"></a>

**ステップ 1: ステートマシンの定義を変更する**

例の `customizations.asl.json` ステートマシンの定義を変更します。この例は、[デプロイ後のステップ](https://docs.aws.amazon.com//controltower/latest/userguide/aft-post-deployment.html)において、AFT アカウントプロビジョニングのカスタマイズを保存するために設定した `git` リポジトリで使用できます。ステートマシンの定義の詳細については、「[AWS Step Functions デベロッパーガイド](https://docs.aws.amazon.com//step-functions/latest/dg/welcome.html)」を参照してください。

**ステップ 2: 対応する Terraform 構成を含める**

カスタム統合のためのステートマシンの定義を使用して、`.tf` 拡張子を持つ Terraform ファイルを同じ `git` リポジトリに含めます。例えば、ステートマシンのタスク定義で Lambda 関数を呼び出す場合は、`lambda.tf` ファイルを同じディレクトリに保存します。カスタム設定に必要な IAM ロールと許可を含めてください。

適切な入力を指定すると、AFT パイプラインは自動的にステートマシンを呼び出し、AFT アカウントプロビジョニングフレームワークステージの一部としてカスタマイズをデプロイします。

## AFT アカウントプロビジョニングのフレームワークとカスタマイズを再開するには
<a name="aft-provisioining-considerations"></a>

AFT は、AFT パイプラインを介して発行されたすべてのアカウントについて、アカウントプロビジョニングのフレームワークとカスタマイズの手順を実行します。アカウントプロビジョニングのカスタマイズを再開するには、次の 2 つの方法のいずれかを使用できます。

1. アカウントリクエストリポジトリの既存のアカウントに変更を加えます。

1. AFT で新しいアカウントをプロビジョニングします。