AWS Organizationsでマルチアカウント環境の基盤を整えた後、次のステップとしてAWS Control Towerによるランディングゾーンの構築が推奨されます。Control Towerは、AWSのベストプラクティスに基づいたマルチアカウント環境を自動的にセットアップし、継続的なガバナンスを提供するサービスです。本記事では、Control Towerの概要から実際のセットアップ手順まで、ランディングゾーン構築に必要な知識を体系的に解説します。

AWS Control Towerとは

AWS Control Towerは、安全でコンプライアンスに準拠したマルチアカウントAWS環境(ランディングゾーン)を自動的にセットアップ・管理するサービスです。AWS Organizations、AWS IAM Identity Center、AWS Service Catalog、AWS CloudTrailなど複数のサービスを統合し、ベストプラクティスに基づいた環境を提供します。

Control Towerの位置づけ

Control TowerはAWS Organizationsの上位レイヤーとして機能し、マルチアカウント管理を自動化・簡素化します。

flowchart TB
    subgraph "AWS Control Tower"
        CT[Control Tower<br/>ランディングゾーン管理]
        AF[Account Factory<br/>アカウントプロビジョニング]
        GR[ガードレール<br/>コンプライアンス制御]
        DS[ダッシュボード<br/>一元的な可視化]
    end
    
    subgraph "基盤サービス"
        ORG[AWS Organizations]
        SSO[IAM Identity Center]
        SC[Service Catalog]
        CT_TRAIL[CloudTrail]
        CFG[AWS Config]
    end
    
    CT --> ORG
    CT --> SSO
    AF --> SC
    GR --> CFG
    GR --> ORG
    CT --> CT_TRAIL

Control Towerを使用するメリット

Control Towerを導入することで、以下のメリットが得られます。

メリット 説明
自動化されたセットアップ ベストプラクティスに基づいたマルチアカウント環境を数時間で構築
事前設定されたガードレール 必須のセキュリティ・コンプライアンス制御が標準で適用
統合されたダッシュボード 組織全体のコンプライアンス状態を一元的に可視化
標準化されたアカウント作成 Account Factoryによる一貫性のあるアカウントプロビジョニング
シングルサインオン IAM Identity Centerとの統合による認証の一元化
ログの集約 CloudTrailログの自動集約と保護

Organizations単体との違い

AWS Organizations単体でもマルチアカウント管理は可能ですが、Control Towerを使用することでより包括的なガバナンスが実現できます。

flowchart LR
    subgraph "Organizations単体"
        O1[OU構造の手動設計]
        O2[SCPの手動作成]
        O3[監査設定の手動構築]
        O4[SSO設定の手動連携]
    end
    
    subgraph "Control Tower"
        C1[OU構造の自動作成]
        C2[ガードレールの自動適用]
        C3[監査アカウントの自動設定]
        C4[IAM Identity Centerの自動統合]
    end
    
    O1 -.-> C1
    O2 -.-> C2
    O3 -.-> C3
    O4 -.-> C4
比較項目 Organizations単体 Control Tower
初期構築 手動でOU、ポリシー、監査設定を構築 自動で推奨構成をセットアップ
ガードレール SCPを手動で設計・適用 事前定義されたガードレールを選択・適用
アカウント作成 CreateAccount APIまたはコンソール Account Factoryによる標準化されたプロビジョニング
コンプライアンス監視 AWS Configルールを手動設定 検出的ガードレールで自動監視
ログ管理 CloudTrail、S3を手動設定 ログアーカイブアカウントに自動集約
運用負荷 高い(すべて手動設計) 低い(自動化・標準化済み)

ランディングゾーンとは

ランディングゾーン(Landing Zone)は、AWSにおけるマルチアカウント環境のベースラインアーキテクチャです。セキュリティ、コンプライアンス、運用のベストプラクティスを組み込んだ環境基盤として機能します。

ランディングゾーンの概念

ランディングゾーンは「飛行機が安全に着陸できる場所」に例えられます。新しいワークロードやアプリケーションが安全かつ一貫した環境に「着陸」できるよう、基盤となるインフラストラクチャとガバナンスを提供します。

flowchart TB
    subgraph "ランディングゾーン"
        subgraph "アカウント構造"
            MA[管理アカウント]
            LA[ログアーカイブアカウント]
            AA[監査アカウント]
        end
        
        subgraph "OU構造"
            SECURITY[Security OU]
            SANDBOX[Sandbox OU]
            PROD[Production OU]
        end
        
        subgraph "ガバナンス"
            GR[ガードレール]
            SSO[シングルサインオン]
            LOG[ログ集約]
        end
    end
    
    MA --> SECURITY
    MA --> SANDBOX
    MA --> PROD
    LA --> SECURITY
    AA --> SECURITY

ランディングゾーンの構成要素

Control Towerのランディングゾーンは、以下の要素で構成されます。

1. 組織構造

  • 管理アカウント:Organizations全体を管理するルートアカウント
  • 共有アカウント:ログアーカイブと監査のための専用アカウント
  • 組織単位(OU):アカウントをグループ化する論理的な単位

2. セキュリティ基盤

  • ガードレール:予防的・検出的なセキュリティ制御
  • IAM Identity Center:シングルサインオンとアクセス管理
  • AWS Config:リソース設定の記録と監視

3. ログ・監査基盤

  • CloudTrail:API呼び出しのログ記録
  • AWS Config:リソース変更の追跡
  • ログアーカイブ:すべてのアカウントのログを一元保存

Control Towerが自動作成するリソース

Control Towerをセットアップすると、以下のリソースが自動的に作成されます。

共有アカウント

Control Towerは2つの共有アカウントを自動作成します。

flowchart TB
    subgraph "Control Tower 共有アカウント"
        subgraph "Log Archive Account"
            LA_S3[S3バケット<br/>CloudTrailログ]
            LA_CFG[S3バケット<br/>AWS Configログ]
            LA_POL[バケットポリシー<br/>書き込み専用]
        end
        
        subgraph "Audit Account"
            AU_SNS[SNSトピック<br/>通知配信]
            AU_ROLE[クロスアカウントロール<br/>監査アクセス]
            AU_CFG[AWS Config<br/>アグリゲーター]
        end
    end
    
    LA_S3 --> LA_POL
    LA_CFG --> LA_POL
    AU_ROLE --> LA_S3
    AU_CFG --> AU_SNS
アカウント 目的 自動作成されるリソース
ログアーカイブアカウント すべてのアカウントのログを一元保存 CloudTrail用S3バケット、Config用S3バケット、バケットポリシー
監査アカウント セキュリティ監査とコンプライアンス確認 SNSトピック、クロスアカウントIAMロール、Config集約機能

ログアーカイブアカウントの特徴

  • すべてのメンバーアカウントからCloudTrailログを受信
  • AWS Configの設定スナップショットを保存
  • ログは変更防止のためのバケットポリシーで保護
  • 最小権限の原則に基づきアクセスを制限

監査アカウントの特徴

  • セキュリティチームがすべてのアカウントにアクセス可能
  • 読み取り専用とプログラムによる監査アクセスの2種類のロール
  • AWS Configの集約ダッシュボードを提供
  • SNS通知による検出結果のアラート配信

OU構造

Control Towerは基本的なOU構造を自動作成します。

flowchart TB
    ROOT[Root]
    
    ROOT --> SECURITY[Security OU<br/>共有アカウント用]
    ROOT --> SANDBOX[Sandbox OU<br/>開発・実験用]
    
    SECURITY --> LA[Log Archive<br/>Account]
    SECURITY --> AA[Audit<br/>Account]
    
    SANDBOX --> DEV1[開発アカウント1]
    SANDBOX --> DEV2[開発アカウント2]
    
    subgraph "カスタム追加"
        ROOT --> PROD[Production OU]
        ROOT --> STAGING[Staging OU]
    end
OU名 目的 含まれるアカウント
Security OU セキュリティ・監査機能の集約 ログアーカイブ、監査アカウント
Sandbox OU 開発・実験用の環境(デフォルト) Account Factoryで作成されたアカウント

IAM Identity Centerの設定

Control Towerは、IAM Identity Center(旧AWS SSO)を自動的に設定し、以下のリソースを作成します。

  • AWSアカウントへのシングルサインオン
  • 事前定義された権限セット
  • ユーザーポータルURL
flowchart LR
    USER[ユーザー]
    PORTAL[IAM Identity Center<br/>ポータル]
    
    USER --> PORTAL
    PORTAL --> ACC1[アカウント1<br/>Admin権限]
    PORTAL --> ACC2[アカウント2<br/>ReadOnly権限]
    PORTAL --> ACC3[アカウント3<br/>開発者権限]

AWS Config の設定

Control Towerは各メンバーアカウントでAWS Configを自動的に有効化し、以下を設定します。

  • リソース設定の記録
  • 設定変更の追跡
  • ログアーカイブアカウントへの配信

セットアップの前提条件

Control Towerをセットアップする前に、以下の前提条件を確認してください。

必須要件

1. AWSアカウントの準備

flowchart TB
    subgraph "セットアップ前の確認"
        REQ1[管理アカウントの準備<br/>Organizationsの管理者]
        REQ2[新規メールアドレス2件<br/>共有アカウント用]
        REQ3[IAMユーザーまたはロール<br/>AdministratorAccess権限]
    end
    
    REQ1 --> CHECK1{既存Organizations<br/>は存在する?}
    CHECK1 -->|はい| OPT1[既存Organizationsに統合]
    CHECK1 -->|いいえ| OPT2[新規Organizations作成]
要件 詳細
管理アカウント Control TowerをデプロイするAWSアカウント(Organizationsの管理アカウントとなる)
メールアドレス ログアーカイブアカウントと監査アカウント用に2つの未使用メールアドレス
IAM権限 AdministratorAccessポリシーを持つIAMユーザーまたはロール
リージョン ホームリージョンとして設定するリージョンを決定

2. 既存リソースの確認

既存のAWS環境がある場合、以下を確認してください。

1
2
3
4
5
6
7
8
# 既存Organizationsの確認
aws organizations describe-organization

# 既存のCloudTrailの確認
aws cloudtrail describe-trails

# 既存のAWS Configの確認
aws configservice describe-configuration-recorders

3. 注意事項

  • 管理アカウントでは本番ワークロードを実行しない
  • Control Towerが作成するリソースを手動で変更しない
  • ホームリージョンは後から変更できない

推奨される準備

セットアップをスムーズに進めるため、以下の準備を推奨します。

OU設計の計画

flowchart TB
    ROOT[Root]
    
    ROOT --> SECURITY[Security OU]
    ROOT --> INFRA[Infrastructure OU]
    ROOT --> WORKLOADS[Workloads OU]
    ROOT --> SANDBOX[Sandbox OU]
    ROOT --> SUSPENDED[Suspended OU]
    
    WORKLOADS --> PROD[Production OU]
    WORKLOADS --> DEV[Development OU]
    WORKLOADS --> STAGING[Staging OU]
計画項目 内容
OU構造 セキュリティ、インフラ、ワークロード、サンドボックスなどの論理分類
ネーミング規則 アカウント名、メールアドレス、タグの命名規則
ガードレール戦略 必須、強く推奨、選択的ガードレールの適用方針
アクセス権限設計 IAM Identity Centerの権限セット設計

ランディングゾーンのセットアップ手順

Control Towerのランディングゾーンをセットアップする手順を解説します。

手順1:Control Towerコンソールへのアクセス

まず、AWSマネジメントコンソールにサインインし、Control Towerサービスにアクセスします。

  1. 管理アカウントにAdministratorAccess権限を持つユーザーでサインイン
  2. サービス検索で「Control Tower」を入力
  3. 「AWS Control Tower」をクリック

手順2:ランディングゾーンの設定

「ランディングゾーンの設定」をクリックし、以下の項目を設定します。

sequenceDiagram
    participant User as 管理者
    participant CT as Control Tower
    participant ORG as Organizations
    participant SSO as IAM Identity Center
    
    User->>CT: ランディングゾーン設定開始
    CT->>CT: リージョン選択
    CT->>CT: OU名設定
    CT->>CT: 共有アカウント情報入力
    User->>CT: 設定確認・開始
    CT->>ORG: Organizations作成/設定
    CT->>SSO: IAM Identity Center設定
    CT->>CT: 共有アカウント作成
    CT->>CT: ガードレール適用
    CT-->>User: セットアップ完了

設定項目一覧

設定項目 説明 推奨設定
ホームリージョン Control Towerの管理リージョン 主要なワークロードリージョン(例:ap-northeast-1)
追加のリージョン ガバナンスを適用する追加リージョン 使用予定のリージョンを選択
Foundational OU名 共有アカウント用OUの名前 Security
Additional OU名 追加OU(旧Sandbox OU)の名前 Sandbox
ログアーカイブアカウント メールアドレスとアカウント名 log-archive@example.com
監査アカウント メールアドレスとアカウント名 audit@example.com

リージョン選択の注意点

flowchart TB
    subgraph "リージョン設定"
        HOME[ホームリージョン<br/>ap-northeast-1]
        GOV1[ガバナンス対象<br/>ap-northeast-3]
        GOV2[ガバナンス対象<br/>us-east-1]
    end
    
    HOME --> NOTE1[変更不可<br/>慎重に選択]
    GOV1 --> NOTE2[後から追加可能]
    GOV2 --> NOTE2

手順3:ログ保存設定

CloudTrailとAWS Configのログ保存に関する設定を行います。

設定項目 説明 推奨設定
ログ保持期間 CloudTrailログの保持期間 1年以上(コンプライアンス要件に応じて)
アクセスログ S3バケットへのアクセスログ 有効化推奨
KMS暗号化 ログのKMS暗号化 有効化推奨(既存キーまたは新規作成)

手順4:セットアップの実行

すべての設定を確認し、「ランディングゾーンの設定」をクリックしてセットアップを開始します。

gantt
    title Control Towerセットアップ進行
    dateFormat  HH:mm
    axisFormat %H:%M
    
    section 初期設定
    Organizations設定        :a1, 00:00, 10m
    
    section アカウント作成
    ログアーカイブアカウント :a2, after a1, 15m
    監査アカウント          :a3, after a2, 15m
    
    section サービス設定
    IAM Identity Center     :a4, after a3, 10m
    AWS Config設定          :a5, after a4, 10m
    CloudTrail設定          :a6, after a5, 10m
    
    section ガードレール
    必須ガードレール適用    :a7, after a6, 15m

セットアップには通常60分から90分程度かかります。進行状況はダッシュボードで確認できます。

手順5:セットアップ完了の確認

セットアップが完了したら、以下を確認します。

1. ダッシュボードの確認

Control Towerダッシュボードで以下の項目を確認します。

  • ランディングゾーンのステータス:「アクティブ」
  • 登録済みアカウント数:3(管理、ログアーカイブ、監査)
  • 有効なガードレール数

2. 共有アカウントの確認

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Organizations内のアカウント一覧
aws organizations list-accounts

# 出力例
# {
#     "Accounts": [
#         {"Name": "Management Account", "Id": "111111111111", ...},
#         {"Name": "Log Archive", "Id": "222222222222", ...},
#         {"Name": "Audit", "Id": "333333333333", ...}
#     ]
# }

3. OU構造の確認

1
2
3
4
5
6
7
# OUの一覧
aws organizations list-organizational-units-for-parent \
    --parent-id r-xxxx

# 各OUの詳細
aws organizations describe-organizational-unit \
    --organizational-unit-id ou-xxxx-xxxxxxxx

4. IAM Identity Centerの確認

IAM Identity Centerコンソールで以下を確認します。

  • ユーザーポータルURL
  • 設定された権限セット
  • AWSアカウントの割り当て

セットアップ後の初期設定

ランディングゾーンのセットアップ完了後、以下の初期設定を行います。

IAM Identity Centerユーザーの作成

管理者ユーザーを作成し、適切な権限を割り当てます。

flowchart TB
    subgraph "IAM Identity Center設定"
        U1[管理者ユーザー作成]
        U2[グループ作成]
        U3[権限セット割り当て]
        U4[MFA設定]
    end
    
    U1 --> U2 --> U3 --> U4
手順 内容
ユーザー作成 管理者のユーザー名、メールアドレス、表示名を設定
グループ作成 Administrators、Developers、Auditorsなどのグループを作成
権限セット割り当て 各グループに適切な権限セット(AdministratorAccess、ReadOnlyAccessなど)を割り当て
MFA設定 すべてのユーザーに多要素認証を必須化

追加OUの作成

組織の要件に応じて追加のOUを作成します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Production OUの作成
aws organizations create-organizational-unit \
    --parent-id r-xxxx \
    --name "Production"

# Development OUの作成
aws organizations create-organizational-unit \
    --parent-id r-xxxx \
    --name "Development"

# OUをControl Towerに登録
# Control Towerコンソールから「OUの登録」を実行

ガードレールの追加設定

必須ガードレールに加えて、組織の要件に応じたガードレールを有効化します。

ガードレールカテゴリ 説明 適用推奨
強く推奨 AWSが強く推奨するセキュリティ制御 すべてのOUに適用
選択的 特定の要件に応じた制御 要件に応じて選択

ランディングゾーン運用の注意点

Control Towerのランディングゾーンを安定して運用するための注意点を解説します。

ドリフト検出と修復

Control Towerは、設定が意図せず変更された場合(ドリフト)を検出し、アラートを発行します。

flowchart TB
    subgraph "ドリフト検出"
        D1[SCPの変更検出]
        D2[共有アカウント設定変更]
        D3[OU構造の変更]
        D4[IAM Identity Center設定変更]
    end
    
    D1 --> ALERT[ダッシュボードでアラート表示]
    D2 --> ALERT
    D3 --> ALERT
    D4 --> ALERT
    ALERT --> REPAIR[修復アクション実行]
ドリフトタイプ 原因 修復方法
SCP変更 手動でのSCP編集 Control Towerダッシュボードから「修復」を実行
OU構造変更 手動でのOU削除・移動 影響を確認し、手動またはダッシュボードから修復
共有アカウント アカウントの登録解除 共有アカウントの再登録

バージョンアップ対応

Control Towerは定期的に新機能やセキュリティ改善がリリースされます。

flowchart LR
    CHECK[新バージョン確認]
    REVIEW[リリースノート確認]
    TEST[テスト環境で検証]
    UPDATE[ランディングゾーン更新]
    VERIFY[動作確認]
    
    CHECK --> REVIEW --> TEST --> UPDATE --> VERIFY

バージョンアップの際は以下に注意してください。

  • リリースノートで変更内容を確認
  • 可能であればテスト環境で事前検証
  • メンテナンスウィンドウを設定して更新
  • 更新後のダッシュボード確認

やってはいけないこと

Control Towerで管理される環境では、以下の操作を避けてください。

禁止操作 理由
Control Towerが作成したSCPの直接編集 ドリフトが発生し、ガバナンスが破壊される
共有アカウントの手動削除 ログ集約・監査機能が失われる
管理アカウントでの本番ワークロード実行 セキュリティリスクと管理複雑化
ホームリージョン設定の回避 ガバナンスの一貫性が失われる

まとめ

AWS Control Towerは、マルチアカウント環境のベストプラクティスを自動化し、継続的なガバナンスを提供するサービスです。本記事では、Control Towerの概要からランディングゾーンのセットアップ手順までを解説しました。

Control Tower導入のポイントを以下にまとめます。

  1. ランディングゾーンの理解:セキュリティ、コンプライアンス、運用のベストプラクティスを組み込んだ環境基盤
  2. 自動作成されるリソース:ログアーカイブアカウント、監査アカウント、OU構造、IAM Identity Center設定
  3. セットアップの準備:メールアドレス、IAM権限、OU設計の計画
  4. 運用の注意点:ドリフト検出への対応、バージョンアップ、禁止操作の理解

次のステップとして、Account Factoryによるアカウントプロビジョニング、ガードレールの詳細設定、カスタマイズオプションについて学ぶことで、組織の要件に最適化されたマルチアカウント環境を構築できます。

参考リンク