AWS Control Towerのランディングゾーンを構築したら、次のステップは実際にワークロード用のAWSアカウントをプロビジョニングすることです。Account Factoryは、標準化されたアカウントを迅速かつ一貫性を持って作成するための機能であり、Control Towerの中核を担うコンポーネントです。本記事では、Account Factoryの仕組みから実際のプロビジョニング手順、カスタマイズオプション、一括作成の自動化まで詳しく解説します。
Account Factoryとは
Account Factoryは、AWS Control Tower内でセルフサービス型のアカウントプロビジョニングを実現する機能です。AWS Service Catalogを基盤として動作し、ガードレールが適用された状態で新規アカウントを自動的に作成します。
Account Factoryの位置づけ
Account FactoryはControl Towerとその基盤サービスを連携させ、標準化されたアカウント作成ワークフローを提供します。
flowchart TB
subgraph "Account Factory"
AF[Account Factory<br/>プロビジョニングエンジン]
TEMPLATE[アカウントテンプレート<br/>設定テンプレート]
BLUEPRINT[アカウントブループリント<br/>ネットワーク/セキュリティ設定]
end
subgraph "AWS Service Catalog"
SC_PRODUCT[Account Factory製品]
SC_PROVISION[プロビジョニングされた製品]
end
subgraph "Control Tower基盤"
CT[Control Tower]
ORG[AWS Organizations]
SSO[IAM Identity Center]
GR[ガードレール]
end
AF --> SC_PRODUCT
SC_PRODUCT --> SC_PROVISION
AF --> TEMPLATE
AF --> BLUEPRINT
SC_PROVISION --> CT
CT --> ORG
CT --> SSO
CT --> GRAccount Factoryのメリット
Account Factoryを使用することで、以下のメリットが得られます。
| メリット | 説明 |
|---|---|
| 標準化されたプロビジョニング | すべてのアカウントが一貫した設定で作成される |
| セルフサービス対応 | 適切な権限を持つユーザーが自らアカウントを作成可能 |
| ガバナンスの自動適用 | ガードレール、AWS Config、CloudTrailが自動設定 |
| IAM Identity Center統合 | SSOユーザーとアクセス権限が自動設定 |
| 監査証跡の確保 | Service Catalogでプロビジョニング履歴を追跡 |
アカウント作成の方法比較
AWSアカウントを作成する方法は複数ありますが、Control Tower環境ではAccount Factoryが推奨されます。
| 作成方法 | ガバナンス | 自動化 | 推奨度 |
|---|---|---|---|
| Account Factory(Control Tower) | ガードレール自動適用 | Service Catalog連携 | 最も推奨 |
| Organizations CreateAccount API | SCP適用のみ | API/CLI対応 | 限定的 |
| AWSコンソールから手動作成 | なし | なし | 非推奨 |
Account Factoryの仕組み
Account Factoryがアカウントをプロビジョニングする際の内部動作を理解することで、トラブルシューティングやカスタマイズが容易になります。
プロビジョニングワークフロー
Account Factoryによるアカウント作成は、以下のステップで実行されます。
sequenceDiagram
participant User as 管理者
participant SC as Service Catalog
participant AF as Account Factory
participant ORG as Organizations
participant CT as Control Tower
participant SSO as IAM Identity Center
User->>SC: プロビジョニング開始
SC->>AF: Account Factory製品を起動
AF->>ORG: 新規アカウント作成
ORG-->>AF: アカウントID返却
AF->>ORG: 指定OUへアカウント移動
AF->>CT: ガードレール適用
CT->>CT: AWS Config有効化
CT->>CT: CloudTrail設定
AF->>SSO: SSOユーザー作成
SSO->>SSO: 権限セット割り当て
AF-->>SC: プロビジョニング完了
SC-->>User: 完了通知プロビジョニングに要する時間
Account Factoryによるアカウントプロビジョニングには、通常20〜35分程度かかります。この間、Control Towerは以下の処理を順次実行します。
gantt
title Account Factory プロビジョニングタイムライン
dateFormat mm:ss
axisFormat %M:%S
section アカウント作成
Organizations アカウント作成 :a1, 00:00, 5m
section OU設定
指定OUへの移動 :a2, after a1, 2m
section ガバナンス適用
ガードレール適用 :a3, after a2, 8m
AWS Config有効化 :a4, after a3, 5m
CloudTrail設定 :a5, after a4, 3m
section IAM設定
IAM Identity Center設定 :a6, after a5, 5m
権限セット割り当て :a7, after a6, 2m| フェーズ | 所要時間 | 内容 |
|---|---|---|
| アカウント作成 | 約5分 | Organizationsで新規アカウントを作成 |
| OU設定 | 約2分 | 指定されたOUにアカウントを移動 |
| ガバナンス適用 | 約16分 | ガードレール、Config、CloudTrailの設定 |
| IAM設定 | 約7分 | IAM Identity Centerユーザーと権限の設定 |
Account Factoryの設定
Account Factoryを使用する前に、基本設定を確認・調整します。
Account Factory設定へのアクセス
Control Towerコンソールからセットアップにアクセスします。
- AWSマネジメントコンソールにサインイン
- Control Towerコンソールを開く
- 左側メニューから「Account Factory」を選択
ネットワーク設定
Account Factoryでは、新規アカウントに自動的に作成されるVPCのデフォルト設定を指定できます。
flowchart TB
subgraph "Account Factory ネットワーク設定"
VPC[VPC設定]
CIDR[CIDRブロック]
SUBNET[サブネット構成]
REGION[リージョン設定]
end
subgraph "作成されるリソース"
VPC_R[VPC]
PUB[パブリックサブネット]
PRIV[プライベートサブネット]
IGW[インターネットゲートウェイ]
NAT[NATゲートウェイ]
end
VPC --> VPC_R
CIDR --> VPC_R
SUBNET --> PUB
SUBNET --> PRIV
REGION --> VPC_R
VPC_R --> IGW
VPC_R --> NATネットワーク設定項目
| 設定項目 | 説明 | 推奨設定 |
|---|---|---|
| VPC作成の有効/無効 | 新規アカウントにVPCを自動作成するか | 要件に応じて選択 |
| VPC CIDRブロック | VPCのIPアドレス範囲 | /16〜/24(例:10.0.0.0/16) |
| パブリックサブネット | インターネット接続用サブネット | 必要に応じて有効化 |
| プライベートサブネット | 内部リソース用サブネット | 有効化推奨 |
| リージョン | VPCを作成するリージョン | ホームリージョンと追加リージョン |
VPC設定の注意点
Account FactoryのVPC自動作成機能を使用する際の注意点を解説します。
flowchart TB
subgraph "VPC設定の判断"
Q1{既存のネットワーク<br/>設計がある?}
Q1 -->|はい| OPT1[VPC作成を無効化<br/>独自設計を適用]
Q1 -->|いいえ| Q2{標準的な構成で<br/>十分?}
Q2 -->|はい| OPT2[デフォルト設定を使用]
Q2 -->|いいえ| OPT3[カスタム設定を構成]
endVPC作成を無効化すべきケース
- 既存のネットワークアーキテクチャがある
- Transit Gatewayで集中管理する設計
- 厳密なIPアドレス管理が必要
- Infrastructure as Codeで別途プロビジョニングする
新規アカウントのプロビジョニング手順
実際にAccount Factoryを使用して新規アカウントをプロビジョニングする手順を解説します。
前提条件
アカウントプロビジョニングには以下が必要です。
| 要件 | 詳細 |
|---|---|
| 新規アカウント用メールアドレス | 他のAWSアカウントに関連付けられていない一意のメールアドレス |
| IAM Identity Centerユーザー情報 | SSO用のメールアドレスとユーザー名(既存または新規) |
| 配置先OU | Control Towerに登録されたOU |
| 適切な権限 | AWSControlTowerServiceRolePolicy相当の権限 |
手順1:Control Towerコンソールからの起動
Control Towerコンソールからアカウントを作成する最も一般的な方法です。
- Control Towerコンソールの「Account Factory」を開く
- 「アカウントの作成」をクリック
- 以下の情報を入力
flowchart TB
subgraph "アカウント作成フォーム"
section1[アカウント情報]
section2[IAM Identity Center設定]
section3[組織設定]
end
section1 --> |入力| F1[アカウント名<br/>アカウントメールアドレス]
section2 --> |入力| F2[SSOユーザーメール<br/>SSOユーザー名<br/>姓・名]
section3 --> |選択| F3[配置先OU]入力項目の詳細
| フィールド | 説明 | 入力例 |
|---|---|---|
| アカウント名 | 識別用のわかりやすい名前 | prod-app-team-a |
| アカウントメールアドレス | ルートユーザー用メールアドレス | aws-prod-app-team-a@example.com |
| IAM Identity Centerユーザーメール | SSOログイン用メールアドレス | admin@example.com |
| IAM Identity Centerユーザー名 | SSOユーザーの表示名 | admin |
| 姓 | ユーザーの姓 | Admin |
| 名 | ユーザーの名 | Account |
| 組織単位 | アカウントを配置するOU | Production |
手順2:Service Catalogからの起動
Service Catalogを直接使用してアカウントをプロビジョニングすることもできます。
flowchart LR
SC[Service Catalog<br/>コンソール]
PRODUCT[Account Factory<br/>製品]
LAUNCH[製品の起動]
PROVISION[プロビジョニング<br/>された製品]
SC --> PRODUCT --> LAUNCH --> PROVISION- Service Catalogコンソールを開く
- 「製品」から「AWS Control Tower Account Factory」を選択
- 「製品の起動」をクリック
- 必要なパラメータを入力
- 「製品の起動」を確認
手順3:プロビジョニングの監視
アカウントのプロビジョニング状況は複数の場所で確認できます。
Control Towerダッシュボード
Control Towerコンソールの「アクティビティ」ページで進行状況を確認します。
flowchart TB
subgraph "監視ポイント"
CT_DASH[Control Tower<br/>ダッシュボード]
SC_PP[Service Catalog<br/>プロビジョニングされた製品]
CW_EVENTS[CloudWatch<br/>Events]
end
CT_DASH --> STATUS1[アクティビティログ<br/>進行状況]
SC_PP --> STATUS2[製品ステータス<br/>出力パラメータ]
CW_EVENTS --> STATUS3[ライフサイクルイベント<br/>CreateManagedAccount]Service Catalogでの確認
Service Catalogコンソールの「プロビジョニングされた製品」で以下を確認します。
| ステータス | 説明 |
|---|---|
| UNDER_CHANGE | プロビジョニング進行中 |
| AVAILABLE | プロビジョニング完了 |
| ERROR | エラー発生(詳細を確認) |
手順4:プロビジョニング完了後の確認
アカウントのプロビジョニングが完了したら、以下を確認します。
|
|
確認チェックリスト
| 確認項目 | 確認方法 |
|---|---|
| アカウントの作成 | Organizationsコンソールでアカウント一覧を確認 |
| OUへの配置 | 指定したOUにアカウントが存在することを確認 |
| ガードレール適用 | Control TowerダッシュボードでCompliant状態を確認 |
| IAM Identity Centerアクセス | SSOポータルからアカウントにアクセス可能か確認 |
| AWS Config有効化 | 新規アカウントでConfigが有効になっていることを確認 |
アカウントのカスタマイズ
Account Factoryで作成されるアカウントは、追加のカスタマイズを適用することができます。
Account Factory Customization(AFC)
AFCを使用すると、アカウント作成時に追加のリソースやカスタマイズを自動適用できます。
flowchart TB
subgraph "Account Factory Customization"
AFC[AFC設定]
BLUEPRINT[ブループリント<br/>カスタマイズテンプレート]
HOOK[ライフサイクルフック<br/>作成後処理]
end
subgraph "カスタマイズ内容"
IAM[追加IAMロール]
VPC_C[カスタムVPC設定]
SEC[セキュリティ設定]
TAG[タグ付け]
end
AFC --> BLUEPRINT
AFC --> HOOK
BLUEPRINT --> IAM
BLUEPRINT --> VPC_C
BLUEPRINT --> SEC
BLUEPRINT --> TAGブループリントの活用
ブループリントは、アカウントに適用する設定テンプレートです。
| ブループリントタイプ | 用途 | 適用内容 |
|---|---|---|
| ネットワークブループリント | VPC設計の標準化 | カスタムVPC、サブネット、ルートテーブル |
| セキュリティブループリント | セキュリティベースライン | IAMロール、セキュリティグループ、暗号化設定 |
| ロギングブループリント | ログ設定の標準化 | CloudWatch Logs、S3バケット設定 |
Customizations for AWS Control Tower(CfCT)
より高度なカスタマイズには、CfCTソリューションを使用します。
flowchart TB
subgraph "CfCT アーキテクチャ"
S3[S3バケット<br/>設定ファイル格納]
PIPELINE[CodePipeline<br/>デプロイパイプライン]
CFN[CloudFormation<br/>StackSets]
end
subgraph "カスタマイズ適用"
MANIFEST[マニフェストファイル<br/>適用対象定義]
TEMPLATES[テンプレート<br/>リソース定義]
SCP[カスタムSCP]
end
S3 --> MANIFEST
S3 --> TEMPLATES
MANIFEST --> PIPELINE
TEMPLATES --> PIPELINE
PIPELINE --> CFN
CFN --> SCPCfCTでは以下のカスタマイズが可能です。
| カスタマイズ | 説明 |
|---|---|
| CloudFormation StackSets | 複数アカウントへのリソース一括デプロイ |
| カスタムSCP | 追加のサービスコントロールポリシー |
| AWS Config Rules | カスタムコンプライアンスルール |
| Lambda関数 | アカウント作成後の自動処理 |
複数アカウントの一括作成
大規模な環境では、複数のアカウントを一括でプロビジョニングする必要があります。Account Factoryはシングルスレッドで動作するため、自動化ソリューションを活用します。
一括作成のアーキテクチャ
flowchart TB
subgraph "入力"
CSV[CSVファイル<br/>アカウント情報]
S3[S3バケット]
end
subgraph "処理エンジン"
LAMBDA1[NewAccountHandler<br/>入力検証]
DDB[DynamoDB<br/>状態管理]
LAMBDA2[CreateManagedAccount<br/>アカウント作成]
end
subgraph "Account Factory"
SC[Service Catalog]
AF[Account Factory]
end
subgraph "通知"
CW[CloudWatch Events<br/>ライフサイクルイベント]
SNS[SNS<br/>メール通知]
end
CSV --> S3
S3 --> LAMBDA1
LAMBDA1 --> DDB
DDB --> LAMBDA2
LAMBDA2 --> SC
SC --> AF
AF --> CW
CW --> SNS
CW --> LAMBDA2入力ファイルの準備
一括作成用のCSVファイルを準備します。
|
|
CSVフィールドの説明
| フィールド | 説明 | 制約 |
|---|---|---|
| AccountName | アカウント名 | 一意、わかりやすい名前 |
| AccountEmail | アカウントメールアドレス | 一意、未使用のメールアドレス |
| SSOUserEmail | SSOユーザーメール | 既存または新規ユーザー |
| SSOUserFirstName | ユーザーの名 | 必須 |
| SSOUserLastName | ユーザーの姓 | 必須 |
| ManagedOrganizationalUnit | 配置先OU | Control Towerに登録済みのOU |
一括作成の実行
CloudFormationスタックをデプロイして一括作成を開始します。
sequenceDiagram
participant Admin as 管理者
participant S3 as S3バケット
participant CFN as CloudFormation
participant Lambda as Lambda関数
participant DDB as DynamoDB
participant AF as Account Factory
Admin->>S3: CSVファイルアップロード
Admin->>CFN: スタックデプロイ
CFN->>Lambda: リソース作成
CFN->>DDB: テーブル作成
Lambda->>S3: CSVファイル読み込み
Lambda->>DDB: アカウント情報登録
loop 各アカウント
Lambda->>AF: アカウント作成開始
AF-->>Lambda: ライフサイクルイベント
Lambda->>DDB: 状態更新
end
Lambda-->>Admin: 完了通知一括作成の注意事項
一括作成を実行する際の重要な注意点です。
| 注意点 | 詳細 |
|---|---|
| 実行タイミング | 夜間や週末など、Control Towerの使用が少ない時間帯を推奨 |
| 所要時間 | 1アカウントあたり20〜35分、シーケンシャル実行 |
| 同時実行制限 | Account Factoryは同時に1アカウントのみ作成可能 |
| 他の操作制限 | 作成中はOUの作成やガードレールの有効化が不可 |
| エラー処理 | DynamoDBで状態を追跡し、失敗時は原因を記録 |
Account Factoryのトラブルシューティング
Account Factoryでアカウントプロビジョニング時に発生しやすい問題と解決方法を解説します。
よくあるエラーと対処法
flowchart TB
ERROR[プロビジョニングエラー]
ERROR --> E1[メールアドレス重複]
ERROR --> E2[OU未登録]
ERROR --> E3[権限不足]
ERROR --> E4[制限超過]
E1 --> S1[一意のメールアドレスを使用]
E2 --> S2[Control TowerでOUを登録]
E3 --> S3[必要な権限を付与]
E4 --> S4[サービスクォータの引き上げ申請]| エラー | 原因 | 解決方法 |
|---|---|---|
| メールアドレス重複 | 指定したメールが他のAWSアカウントで使用済み | 未使用の一意のメールアドレスを使用 |
| OU未登録 | 指定したOUがControl Towerに登録されていない | Control TowerコンソールでOUを登録 |
| 権限不足 | 実行ユーザーに必要な権限がない | AWSControlTowerServiceRolePolicy相当の権限を付与 |
| アカウント数上限 | Organizationsのアカウント数上限に達している | サービスクォータの引き上げを申請 |
| SSOユーザー競合 | 指定したSSOユーザー名が既に存在 | 別のユーザー名を指定するか既存ユーザーを使用 |
プロビジョニング失敗時の確認手順
プロビジョニングが失敗した場合の調査手順です。
|
|
失敗したプロビジョニングのクリーンアップ
プロビジョニングが途中で失敗した場合、リソースが不完全な状態で残ることがあります。
| 確認項目 | クリーンアップ方法 |
|---|---|
| Service Catalog製品 | 「プロビジョニングされた製品」から終了 |
| 中途半端なアカウント | Organizations APIでアカウントをクローズ |
| SSOユーザー | IAM Identity Centerから削除 |
Account Factoryのベストプラクティス
Account Factoryを効果的に運用するためのベストプラクティスを紹介します。
命名規則の標準化
一貫した命名規則を採用することで、アカウント管理が容易になります。
flowchart LR
subgraph "命名規則の例"
PATTERN[環境-チーム-用途]
EXAMPLE1[prod-platform-networking]
EXAMPLE2[dev-team-alpha-app]
EXAMPLE3[sandbox-experiment-ai]
end
PATTERN --> EXAMPLE1
PATTERN --> EXAMPLE2
PATTERN --> EXAMPLE3| 項目 | 命名規則例 | 説明 |
|---|---|---|
| アカウント名 | {env}-{team}-{purpose} | 環境、チーム、用途を含む |
| メールアドレス | aws-{account-name}@example.com | アカウント名を含む一意のアドレス |
| SSOユーザー | admin-{account-name} | アカウントに紐づく管理者 |
タグ戦略
アカウントレベルのタグを活用してコスト配分と管理を効率化します。
| タグキー | 用途 | 値の例 |
|---|---|---|
| Environment | 環境識別 | production, development, sandbox |
| Team | チーム識別 | platform, app-team-a, security |
| CostCenter | コスト配分 | CC-001, CC-002 |
| Project | プロジェクト識別 | project-alpha, infrastructure |
アカウントライフサイクル管理
アカウントの作成から廃止までのライフサイクルを管理します。
flowchart LR
REQUEST[アカウント<br/>リクエスト]
APPROVE[承認<br/>プロセス]
PROVISION[プロビジョニング]
ACTIVE[運用中]
DECOMMISSION[廃止処理]
CLOSE[アカウント<br/>クローズ]
REQUEST --> APPROVE
APPROVE --> PROVISION
PROVISION --> ACTIVE
ACTIVE --> DECOMMISSION
DECOMMISSION --> CLOSE| フェーズ | 実施内容 |
|---|---|
| リクエスト | 申請フォームによる標準化された依頼 |
| 承認 | 適切な承認者によるレビュー |
| プロビジョニング | Account Factoryによる自動作成 |
| 運用中 | ガードレールによる継続的なガバナンス |
| 廃止処理 | リソースのクリーンアップ、データバックアップ |
| クローズ | Organizationsからのアカウント削除 |
まとめ
AWS Control TowerのAccount Factoryは、標準化されたアカウントプロビジョニングを実現する強力な機能です。本記事では、Account Factoryの仕組みからプロビジョニング手順、カスタマイズ、一括作成まで解説しました。
Account Factory活用のポイントを以下にまとめます。
- Service Catalog統合:Account FactoryはService Catalogを基盤とし、セルフサービス型のプロビジョニングを提供
- 自動ガバナンス適用:作成されるすべてのアカウントにガードレール、Config、CloudTrailが自動設定
- ネットワーク設定:VPCの自動作成設定をカスタマイズ可能、または無効化して独自設計を適用
- 一括作成の自動化:大規模環境では自動化ソリューションを活用して効率的にアカウントを作成
- 命名規則とタグ戦略:一貫した命名とタグ付けで管理を効率化
次のステップとして、ガードレールの詳細設定やControl Towerのカスタマイズオプション(CfCT、AFT)について学ぶことで、組織の要件に最適化されたマルチアカウント環境を構築できます。