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 --> GR

Account 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コンソールからセットアップにアクセスします。

  1. AWSマネジメントコンソールにサインイン
  2. Control Towerコンソールを開く
  3. 左側メニューから「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[カスタム設定を構成]
    end

VPC作成を無効化すべきケース

  • 既存のネットワークアーキテクチャがある
  • Transit Gatewayで集中管理する設計
  • 厳密なIPアドレス管理が必要
  • Infrastructure as Codeで別途プロビジョニングする

新規アカウントのプロビジョニング手順

実際にAccount Factoryを使用して新規アカウントをプロビジョニングする手順を解説します。

前提条件

アカウントプロビジョニングには以下が必要です。

要件 詳細
新規アカウント用メールアドレス 他のAWSアカウントに関連付けられていない一意のメールアドレス
IAM Identity Centerユーザー情報 SSO用のメールアドレスとユーザー名(既存または新規)
配置先OU Control Towerに登録されたOU
適切な権限 AWSControlTowerServiceRolePolicy相当の権限

手順1:Control Towerコンソールからの起動

Control Towerコンソールからアカウントを作成する最も一般的な方法です。

  1. Control Towerコンソールの「Account Factory」を開く
  2. 「アカウントの作成」をクリック
  3. 以下の情報を入力
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
  1. Service Catalogコンソールを開く
  2. 「製品」から「AWS Control Tower Account Factory」を選択
  3. 「製品の起動」をクリック
  4. 必要なパラメータを入力
  5. 「製品の起動」を確認

手順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:プロビジョニング完了後の確認

アカウントのプロビジョニングが完了したら、以下を確認します。

1
2
3
4
5
6
7
8
# 新規アカウントの確認
aws organizations list-accounts --query "Accounts[?Name=='prod-app-team-a']"

# OUへの配置確認
aws organizations list-accounts-for-parent --parent-id ou-xxxx-xxxxxxxx

# IAM Identity Centerでのアクセス確認
# IAM Identity Centerポータルにログインして新規アカウントへのアクセスを確認

確認チェックリスト

確認項目 確認方法
アカウントの作成 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 --> SCP

CfCTでは以下のカスタマイズが可能です。

カスタマイズ 説明
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ファイルを準備します。

1
2
3
4
AccountName,AccountEmail,SSOUserEmail,SSOUserFirstName,SSOUserLastName,ManagedOrganizationalUnit
dev-team-alpha,aws-dev-alpha@example.com,admin@example.com,Account,Admin,Development
dev-team-beta,aws-dev-beta@example.com,admin@example.com,Account,Admin,Development
prod-app-main,aws-prod-main@example.com,admin@example.com,Account,Admin,Production

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ユーザー名が既に存在 別のユーザー名を指定するか既存ユーザーを使用

プロビジョニング失敗時の確認手順

プロビジョニングが失敗した場合の調査手順です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Service Catalogでプロビジョニング履歴を確認
aws servicecatalog describe-provisioned-product \
    --id pp-xxxxxxxxx

# CloudWatch Logsでエラー詳細を確認
aws logs filter-log-events \
    --log-group-name /aws/controltower/logs \
    --filter-pattern "ERROR"

# Control Towerイベントを確認
aws cloudtrail lookup-events \
    --lookup-attributes AttributeKey=EventName,AttributeValue=CreateManagedAccount

失敗したプロビジョニングのクリーンアップ

プロビジョニングが途中で失敗した場合、リソースが不完全な状態で残ることがあります。

確認項目 クリーンアップ方法
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活用のポイントを以下にまとめます。

  1. Service Catalog統合:Account FactoryはService Catalogを基盤とし、セルフサービス型のプロビジョニングを提供
  2. 自動ガバナンス適用:作成されるすべてのアカウントにガードレール、Config、CloudTrailが自動設定
  3. ネットワーク設定:VPCの自動作成設定をカスタマイズ可能、または無効化して独自設計を適用
  4. 一括作成の自動化:大規模環境では自動化ソリューションを活用して効率的にアカウントを作成
  5. 命名規則とタグ戦略:一貫した命名とタグ付けで管理を効率化

次のステップとして、ガードレールの詳細設定やControl Towerのカスタマイズオプション(CfCT、AFT)について学ぶことで、組織の要件に最適化されたマルチアカウント環境を構築できます。

参考リンク