AWSのアカウント、いくつ管理していますか?
- 開発用
- 本番用
- 検証用
- 開発用 パート2
- 一時利用用
気づけばアカウントが増殖して、「また同じセキュリティ設定をイチからやらなきゃ」という経験、ありませんか?
チームが大きくなるほど、アカウント管理って大変ですよね。
しかも、毎回手作業だと設定ミスが起きやすいし、「誰がどのルールで作ったの?」という属人化も起きがちです。
そんな課題をすっきり解決してくれるのが、今回紹介する AWS AFT(Account Factory for Terraform)です。
「Terraformってよく聞くけど、AFTは初耳」という方も多いかもしれません。
そこでこの記事では、AFTが何をするサービスなのか、どんなときに使うのか、料金はどうなのか、を初心者の方向けにざっくり解説していきます。
AFTって何?
AFTの正式名称は Account Factory for Terraform。
AWS Control Towerと組み合わせて使う、AWSアカウントの「自動作成・カスタマイズ」の仕組みです。
少し言葉を整理しましょう。
AFTはTerraformベースのパイプラインをセットアップして、AWS Control Tower上でアカウントのプロビジョニングとカスタマイズを自動化してくれます。
ざっくりいうと、
「GitにTerraformファイルをpushするだけで、ルール通りのAWSアカウントが自動で出来上がる」
という仕組みです。
AFTで何ができるの?
アカウントの自動作成
AFTはGitOpsモデルに従って、AWS Control Tower上でのアカウントプロビジョニングとアップデートのプロセスを自動化します。
Gitリポジトリにアカウントリクエストファイルを作成してpushすると、それをトリガーにパイプラインが動き出し、アカウントが自動で作成されます。
セキュリティ設定の統一
作成したアカウントに、
といった、組織固有のセキュリティ設定を自動で付与することができます。
「全アカウントで必ずこのセキュリティルールを適用する」という設定も、コードで管理できるようになるんです。便利ですよね。
複数アカウントの一括管理
通常のControl TowerではAWSアカウントを一度に1つしか作れませんが、AFTなら複数のアカウントリクエストをまとめて処理できます。
カスタマイズの柔軟な管理
AFTには4つのGitリポジトリが作られます。
それぞれ
- アカウントリクエスト
- 全アカウント共通のカスタマイズ
- アカウント個別のカスタマイズ
- AFT自体の設定
という役割を持ちます。
これによって「本番アカウントには厳しいガードレールを」「サンドボックスには予算アラートを」という細かい使い分けも、コードで表現できるようになるんです。
どんなときに使うの?
AFTが向いているシーンはこんな感じです。
逆に、管理するアカウントが1〜2個だったり、Terraformの経験がないチームには、導入のコストが大きくなり、不便を感じるかもしれません。
料金は?
AFT自体に追加料金はかかりません。
ただし、AFTが内部で使用するAWSサービス(CodePipeline、CodeBuild、DynamoDB、S3など)の利用料金は発生します。
「無料じゃないんだ」と感じるかもしれません。
でも、手作業でのアカウント管理コストや、設定ミスによるセキュリティリスクを考えると、規模が大きくなるほど費用対効果が期待できるでしょう。
導入するには何が必要?
AFTの導入には、ある程度のTerraformとAWS Control Towerの知識が必要です。
事前に必要なのは、
です。
AFTのデプロイには最大30分ほどかかることがあります。
完了すると、GitにファイルをpushするだけでAWSアカウントが自動作成される仕組みが出来上がります。
なお、AFTのパイプラインは、EC2インスタンスなどのアプリケーション用リソースのデプロイには使いません。
あくまでAWS Control Towerアカウントのプロビジョニングとカスタマイズ専用の仕組みです。
Terraformを使っていなかったら?
という場合は、AFTではなく通常のAWS Control TowerのAccount Factoryを使うのが一般的です。
AFTはあくまで「Terraformユーザー向けの拡張機能」という位置づけです。
Terraformを組織的に使っている、あるいはこれから採用するという文脈でこそ力を発揮します。
「Gitにpushするだけ」ってどういうこと?
新しいプロジェクトチームに「開発用AWSアカウント」を渡す場面を考えます。
従来の手作業なら:
- AWSコンソールで新規アカウントを作成
- IAMロールを手動で設定
- セキュリティポリシーを確認しながら手動で適用
- 予算アラートや監査設定も手動で……
AFTなら:
- Terraformファイルに「アカウント名」「OU(組織単位)」「適用するカスタマイズ」を記述
- Gitにpush
- パイプラインが自動で動いて、ルール通りのアカウントが完成 ✅
しかも、このコードはGitに残るので「いつ・誰が・どんな設定で作ったか」が履歴として追跡できます。
これは、GitOpsと呼ばれる考え方のメリットです。
AWS AFTをざっくり振り返ると
最後に今回紹介したAFT(Account Factory for Terraform)のポイントをまとめますね。
| 項目 | 内容 |
|---|---|
| 何をするもの? | TerraformでAWSアカウントを自動作成・カスタマイズ |
| 組み合わせるもの | AWS Control Tower |
| 向いている人 | Terraformを使うマルチアカウント管理者 |
| 料金 | AFT自体は無料、使用サービス分は課金 |
| 注意点 | 導入にはTerraformとControl Towerの知識が必要 |
「AWSアカウントの管理を自動化したい」「Gitでインフラをコード管理したい」という方は、AFTという選択肢を頭に入れておくと、いつかきっと役に立つはずですよ!



うちはTerraformじゃなくてCloudFormationを使ってるんだけど