

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

# ブートストラップパイプラインを使用して Account Factory for Terraform (AFT) を実装する
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline"></a>

*Amazon Web Services、Vinicius Elias と Edgar Costa Filho*

## 概要
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-summary"></a>

このパターンは、 の管理アカウントから AWS Control Tower Account Factory for Terraform (AFT) をデプロイするためのシンプルで安全な方法を提供します AWS Organizations。このソリューションの中核となるのは、Terraform パイプラインを作成して AFT 設定を自動化する CloudFormation テンプレートです。このパイプラインは、最初のデプロイやその後の更新に簡単に適応できるように設計されています。

セキュリティとデータの整合性が最優先事項であるため AWS、マネージドインフラストラクチャと設定の状態を追跡する重要なコンポーネントである Terraform 状態ファイルは、Amazon Simple Storage Service (Amazon S3) バケットに安全に保存されます。このバケットには、サーバー側の暗号化やパブリックアクセスをブロックするポリシーなど、いくつかのセキュリティ対策が設定されており、Terraform の状態を不正アクセスやデータ侵害から保護するのに役立ちます。

管理アカウントは環境全体をオーケストレーションおよび監視するため、重要なリソースです AWS Control Tower。このパターンは AWS ベストプラクティスに従っており、デプロイプロセスが効率的であるだけでなく、セキュリティとガバナンスの標準にも準拠し、 AWS 環境に AFT をデプロイするための包括的で安全で効率的な方法を提供します。

AFT の詳細については、[AWS Control Tower のドキュメント](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html)を参照してください。

## 前提条件と制限
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-prereqs"></a>

**前提条件**
+ 少なくとも管理アカウント、ログアーカイブアカウント、監査アカウント、および AFT 管理用の 1 つの追加アカウントを持つ基本的な AWS マルチアカウント環境。
+ 確立された AWS Control Tower 環境。CloudFormation テンプレートが管理アカウント内にデプロイされるため、管理アカウントが適切に設定されている必要があります。
+  AWS 管理アカウントに必要なアクセス許可。S3 バケット、 AWS Lambda 関数、 AWS Identity and Access Management (IAM) ロール、 AWS CodePipeline プロジェクトなどのリソースを作成および管理するには、十分なアクセス許可が必要です。
+ Terraform に精通していること。デプロイには Terraform 設定の生成と管理が含まれるため、Terraform の主要な概念とワークフローを理解していることが重要です。

**制限事項**
+ アカウントの [AWS リソースクォータ](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)に注意してください。デプロイでは複数のリソースが作成され、サービスクォータに達するとデプロイプロセスが妨げられる可能性があります。
+ テンプレートは、Terraform および AWS のサービスの特定のバージョン用に設計されています。バージョンのアップグレードまたは変更のために、テンプレートの変更が必要になる場合があります。
+ テンプレートは、GitHub Enterprise などのセルフマネージド型バージョン管理システム (VCS) サービスには対応していません。

**製品バージョン**
+ Terraform バージョン 1.6.6 以降
+ AFT バージョン 1.11 以降

## アーキテクチャ
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-architecture"></a>

**ターゲットテクノロジースタック**
+ CloudFormation
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodePipeline
+ Amazon EventBridge
+ IAM
+ AWS Lambda
+ Amazon S3

**ターゲットアーキテクチャ**

以下の図に、このパターンで説明する実装を示します。

![ブートストラップパイプラインを使用して AFT を実装するためのワークフロー。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/944f9912-87c7-4cc5-8478-7070cf67f7ee/images/4ee74757-940d-4d92-a7f0-fb0db1476247.png)


ワークフローを構成する 3 つの主要なタスクは、リソースの作成、コンテンツの生成、パイプラインの実行です。

*リソースの作成*

[このパターンで提供する CloudFormation テンプレート](https://github.com/aws-samples/aft-bootstrap-pipeline/blob/main/code/aft-deployment-pipeline.yaml)は、テンプレートのデプロイ時に選択するパラメータに応じて、必要なすべてのリソースを作成してセットアップします。少なくとも、このテンプレートは次のリソースを作成します。
+ AFT を実装するための CodePipeline パイプライン
+ AFT 実装に関連付けられている Terraform ステートファイルを保存するための S3 バケット
+ Terraform プランを実装し、パイプラインのさまざまな段階でコマンドを適用するための 2 つの CodeBuild プロジェクト
+ CodeBuild および CodePipeline サービスのための IAM ロール
+ パイプラインランタイムアーティファクトを保存するための 2 番目の S3 バケット

選択した VCS プロバイダー (CodeCommit または外部 VCS) に応じて、テンプレートは次のリソースを作成します。
+ **CodeCommit** の場合:
  + AFT Terraform ブートストラップコードを保存するための CodeCommit リポジトリ
  + `main` ブランチで CodeCommit リポジトリの変更をキャプチャするための EventBridge ルール
  + EventBridge ルール用の別の IAM ロール
+ GitHub といった他の**外部 VCS プロバイダー**の場合:
  +  AWS CodeConnections 接続

また、VCS プロバイダーとして CodeCommit を選択した場合、`Generate AFT Files` パラメータに `true` を設定すると、テンプレートは次のコンテンツを生成するためにこれらの追加リソースを作成します。
+ 生成されたコンテンツを保存し、CodeCommit リポジトリのソースとして使用するための S3 バケット
+ 指定されたパラメータを処理し、適切なコンテンツを生成するための Lambda 関数
+ Lambda 関数を実行するための IAM 関数
+ テンプレートがデプロイされたときに Lambda 関数を実行する CloudFormation カスタムリソース

*コンテンツの生成*

AFT ブートストラップファイルとそのコンテンツを生成するために、ソリューションは Lambda 関数と S3 バケットを使用します。関数はバケット内にフォルダを作成し、フォルダ内に 2 つのファイル、つまり `main.tf` と `backend.tf` を作成します。関数は、提供された CloudFormation パラメータも処理し、これらのファイルに事前定義されたコードを入力し、それぞれのパラメータ値を置き換えます。

ファイルを生成するためのテンプレートとして使用されるコードを表示するには、ソリューションの [GitHub リポジトリ](https://github.com/aws-samples/aft-bootstrap-pipeline)を参照してください。基本的に、ファイルは次のように生成されます。

**main.tf**

```
module "aft" {
  source = "github.com/aws-ia/terraform-aws-control_tower_account_factory?ref=<aft_version>"

  # Required variables
  ct_management_account_id  = "<ct_management_account_id>"
  log_archive_account_id    = "<log_archive_account_id>"
  audit_account_id          = "<audit_account_id>"
  aft_management_account_id = "<aft_management_account_id>"
  ct_home_region            = "<ct_home_region>"

  # Optional variables
  tf_backend_secondary_region = "<tf_backend_secondary_region>"
  aft_metrics_reporting       = "<false|true>"

  # AFT Feature flags
  aft_feature_cloudtrail_data_events      = "<false|true>"
  aft_feature_enterprise_support          = "<false|true>"
  aft_feature_delete_default_vpcs_enabled = "<false|true>"

  # Terraform variables
  terraform_version      = "<terraform_version>"
  terraform_distribution = "<terraform_distribution>"

  # VCS variables (if you have chosen an external VCS)
  vcs_provider                                  = "<github|githubenterprise|gitlab|gitlabselfmanaged|bitbucket>"
  account_request_repo_name                     = "<org-name>/aft-account-request"
  account_customizations_repo_name              = "<org-name>/aft-account-customizations"
  account_provisioning_customizations_repo_name = "<org-name>/aft-account-provisioning-customizations"
  global_customizations_repo_name               = "<org-name>/aft-global-customizations"

}
```

**backend.tf**

```
terraform {
  backend "s3" {
    region = "<aft-main-region>"
    bucket = "<s3-bucket-name>"
    key    = "aft-setup.tfstate"
  }
}
```

CodeCommit リポジトリの作成中に `Generate AFT Files` パラメータを `true` に設定すると、テンプレートは、生成されたコンテンツを格納する S3 バケットを `main` ブランチのソースとして使用し、リポジトリを自動的に入力します。

*パイプラインの実行*

リソースが作成され、ブートストラップファイルが設定されると、パイプラインが実行されます。最初のステージ (*ソース*) ではリポジトリのメインブランチからソースコードを取得し、2 番目のステージ (*ビルド*) では Terraform plan コマンドの実行と、確認すべき結果の生成を行います。3 番目のステージ (*承認*) では、パイプラインは手動アクションが最後のステージ (*デプロイ*) を承認または拒否するまで待機します。最後のステージでは、パイプラインは前の Terraform `apply` コマンドの結果を入力として使用して Terraform `plan` コマンドを実行します。最後に、クロスアカウントロールと管理アカウントのアクセス許可を使用して、AFT 管理アカウントで AFT リソースを作成します。

**注記**  
外部 VCS プロバイダーを選択する場合は、VCS プロバイダー認証情報との接続を承認する必要があります。セットアップを完了するには、 AWS 「 デベロッパーツールコンソールドキュメント[」の「保留中の接続の更新](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html)」のステップに従います。

## ツール
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-tools"></a>

**AWS サービス**
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) は、AWS リソースをセットアップし、迅速かつ一貫してプロビジョニングし、 AWS アカウント および リージョン全体のライフサイクルを通じて管理するために役立ちます。
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) は完全マネージド型の構築サービスです。ソースコードのコンパイル、ユニットテストの実行、すぐにデプロイできるアーティファクトの生成を行います。 
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) は、独自のソースコントロールシステムを管理することなく、Git リポジトリを非公開で保存および管理できるバージョン管理サービスです。
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) は、ソフトウェアリリースのさまざまな段階を迅速にモデル化および設定し、ソフトウェアの変更を継続的にリリースするために必要なステップを自動化するのに役立ちます。
+ [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html) では、CodePipeline などの AWS リソースとサービスが GitHub などの外部コードリポジトリに接続できます。
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) は、イベントに応じてコードを実行し、コンピューティングリソースを自動的に管理するコンピューティングサービスであり、本番稼働用の最新のサーバーレスアプリケーションをすばやく作成できます。
+ [AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) は、Python アプリケーション、ライブラリ、またはスクリプトを と統合するのに役立つソフトウェア開発キットです AWS のサービス。

**その他のツール**
+ [Terraform](https://developer.hashicorp.com/terraform?product_intent=terraform) は、インフラストラクチャを安全かつ効率的に構築、変更、およびバージョニングできる Infrastructure as Code (IaC) ツールです。このツールには、コンピューティングインスタンス、ストレージ、ネットワークなどの下位レベルのコンポーネントと、DNS エントリや SaaS 機能などの上位レベルのコンポーネントが含まれます。
+ [Python](https://docs.python.org/3.9/tutorial/index.html) は、学習しやすく強力なプログラミング言語です。効率的な高レベルのデータ構造を備え、シンプルで効果的なアプローチによるオブジェクト指向プログラミングが可能です。

**コードリポジトリ**

このパターンのコードは GitHub 内の [AFT bootstrap pipeline](https://github.com/aws-samples/aft-bootstrap-pipeline) リポジトリで入手できます。

公式 AFT リポジトリについては、GitHub の「[AWS Control Tower Account Factory for Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main)」を参照してください。

## ベストプラクティス
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-best-practices"></a>

提供された CloudFormation テンプレートを使用して AFT をデプロイする場合は、安全かつ効率的に実装を完了するために、ベストプラクティスに従うことが推奨されます。AFT の実装と運用に関する主要なガイドラインおよび推奨事項は次のとおりです。
+ **パラメータの詳細な確認**: CloudFormation テンプレートの各パラメータを慎重に確認し、理解します。AFT が正しくセットアップされ、機能するには、正確なパラメータ設定が不可欠です。
+ テンプレートの**定期的な更新**: テンプレートを最新の AWS 機能と Terraform バージョンで更新します。定期的に更新することで、新機能の活用やセキュリティの維持が可能になります。
+ **バージョニング**: AFT モジュールのバージョンを固定し、可能であれば別の AFT デプロイを使用してテストします。
+ **スコープ**: AFT は、インフラストラクチャのガードレールとカスタマイズをデプロイするためにのみ使用します。アプリケーションのデプロイには使用しないでください。
+ **リンティングと検証**: AFT パイプラインには、リンティングされ検証された Terraform 設定が必要です。この設定を AFT リポジトリにプッシュする前に、リンティング、検証、テストを実行します。
+ **Terraform モジュール**: 再利用可能な Terraform コードをモジュールとして構築し、常に組織の要件に合わせて Terraform と AWS プロバイダーのバージョンを指定します。

## エピック
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-epics"></a>

### AWS 環境のセットアップと設定
<a name="set-up-and-configure-the-aws-environment"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
|  AWS Control Tower 環境を準備します。 |  AWS Control Tower AWS 環境で をセットアップして設定し、 の一元化された管理とガバナンスを確保します AWS アカウント。詳細については、 AWS Control Tower ドキュメント[の「 の開始方法 AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html)」を参照してください。 | クラウド管理者 | 
| AFT 管理アカウントを作成します。 |  AWS Control Tower Account Factory を使用して、AFT 管理アカウント AWS アカウント として機能する新しい を起動します。詳細については、 AWS Control Tower ドキュメントの[AWS Service Catalog 「Account Factory でアカウントをプロビジョニング](https://docs.aws.amazon.com/controltower/latest/userguide/provision-as-end-user.html)する」を参照してください。 | クラウド管理者 | 

### 管理アカウントに CloudFormation テンプレートをデプロイする
<a name="deploy-the-cfnshort-template-in-the-management-account"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| CloudFormation のテンプレートを起動します。 | このエピックでは、このソリューションに付属の CloudFormation テンプレートをデプロイして、 AWS 管理アカウントに AFT ブートストラップパイプラインを設定します。パイプラインは、前のエピックで設定した AFT 管理アカウントに AFT ソリューションをデプロイします。<br />**ステップ 1: CloudFormation コンソールを開く**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 2: 新しいスタックを作成する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 3: スタックパラメータを設定する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 4: ファイル生成設定を決定する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 5: アカウント AWS Control Tower の詳細と AFT アカウントの詳細を入力する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 6: AFT オプションを設定する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 7: バージョンを指定する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 8: スタックを確認して作成する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 9: スタックの作成をモニタリングする**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 10: デプロイを検証する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | クラウド管理者 | 

### AFT ブートストラップリポジトリとパイプラインの入力、検証をする
<a name="populate-and-validate-the-aft-bootstrap-repository-and-pipeline"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| オプション 1: 外部 VCS の AFT ブートストラップリポジトリを設定します。 | VCS プロバイダーを外部 VCS (CodeCommit ではなく) に設定する場合は、以下の手順に従います。<br />(オプション) CloudFormation テンプレートをデプロイした後、新しく作成した AFT ブートストラップリポジトリの内容を設定または検証し、パイプラインが正常に実行されたかどうかをテストできます。<br />**ステップ 1: 接続を更新する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 2: リポジトリに入力する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 2: 変更をコミットおよびプッシュする**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | クラウド管理者 | 
| オプション 2: CodeCommit の AFT ブートストラップリポジトリを設定します。 | VCS プロバイダーに CodeCommit を設定する場合は、以下の手順に従います。<br />(オプション) CloudFormation テンプレートをデプロイした後、新しく作成した AFT ブートストラップリポジトリの内容を設定または検証し、パイプラインが正常に実行されたかどうかをテストできます。<br />`Generate AFT Files` パラメータを `true` に設定した場合は、次のストーリー (パイプラインの検証) に進みます。<br />**ステップ 1: リポジトリに入力する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 2: 変更をコミットおよびプッシュする**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | クラウド管理者 | 
| AFT ブートストラップパイプラインを検証します。 | **ステップ 1: パイプラインを表示する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 2: Terraform プランの結果を承認する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 3: デプロイを待機する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**ステップ 4: 作成されたリソースを確認する**[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | クラウド管理者 | 

## トラブルシューティング
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-troubleshooting"></a>


| 問題 | ソリューション | 
| --- | --- | 
| CloudFormation テンプレートに含まれるカスタム Lambda 関数がデプロイ中に失敗します。 | Lambda 関数の Amazon CloudWatch Logs をチェックして、エラーを特定します。ログは詳細情報を提供し、問題を特定するのに役立ちます。Lambda 関数に必要なアクセス許可が付与されていて、環境変数が正しく設定されていることを確認してください。 | 
| アクセス許可が不十分であることが原因で、リソースの作成または管理で障害が発生します。 | Lambda 関数、CodeBuild、およびデプロイに関連するその他のサービスにアタッチされている IAM ロールとポリシーを確認します。必要なアクセス許可が付与されていることを確認します。アクセス権限に問題がある場合は、IAM ポリシーを調整して必要なアクセス許可を付与します。 | 
| CloudFormation テンプレートの古いバージョンを新しいバージョン AWS のサービス または Terraform バージョンで使用している。 | CloudFormation テンプレートを定期的に更新して、最新の AWS および Terraform リリースと互換性を持たせます。バージョン固有の変更や要件については、リリースノートまたはドキュメントを確認してください。 | 
| デプロイ中に AWS のサービス クォータに達します。 | パイプラインをデプロイする前に、S3 AWS のサービス バケット、IAM ロール、Lambda 関数などのリソースのクォータを確認します。必要に応じてクォータの引上げをリクエストします。詳細については、 AWS ウェブサイトの[AWS のサービス 「クォータ](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照してください。 | 
| CloudFormation テンプレートの入力パラメータが正しくないためにエラーが発生します。 | タイプミスや値の誤りがないか、すべての入力パラメータを再確認します。アカウント ID やリージョン名などのリソース識別子が正確であることを確認してください。 | 

## 関連リソース
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-resources"></a>

このパターンを正常に実装するには、次のリソースを確認してください。これらのリソースは、 CloudFormationを使用して AFT をセットアップおよび管理する際の貴重な追加情報とガイダンスを提供します。

**AWS** **ドキュメント:**
+ [AWS Control Tower ユーザーガイド](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)には、 のセットアップと管理に関する詳細情報が記載されています AWS Control Tower。
+ [CloudFormation ドキュメント](https://docs.aws.amazon.com/cloudformation/index.html)は、CloudFormation テンプレート、スタック、リソース管理に関するインサイトを提供します。

**IAM ポリシーとベストプラクティス:**
+ [IAM のセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)では、IAM ロールとポリシーを使用して AWS リソースを保護する方法について説明します。

**Terraform オン AWS:**
+ [Terraform AWS プロバイダードキュメント](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)には、 での Terraform の使用に関する包括的な情報が記載されています AWS。

**AWS のサービス クォータ:**
+ [AWS のサービス クォータ](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)は、 AWS のサービス クォータの表示方法と引き上げをリクエストする方法に関する情報を提供します。