こんばんは。
AWSを使っていると、開発環境・検証環境・本番環境を分けたり、部署ごとにAWSアカウントを分けたりすることがあります。
しかし、アカウントが増えてくると、
IAM設定がバラバラ
ログ取得の設定漏れ
セキュリティポリシーが統一されない
新しいアカウントを作るたびに同じ設定を繰り返す
といった運用負荷が大きくなります。
今回は、そのような複数アカウント管理を効率化する AWS Control Tower について整理してみます。
AWS Control Towerとは
AWS Control Towerは、AWS Organizationsを基盤として、複数のAWSアカウントを安全かつ統一的に管理するためのサービスです。
AWSのマルチアカウント環境をベストプラクティスに沿って構築・運用できるよう支援するサービスになります。
例えば
会社
│
├── 開発アカウント
├── 検証アカウント
├── 本番アカウント
├── 監査アカウント
└── ログアーカイブアカウント
このような構成を簡単に作成できます。
なぜ必要なのか
会社で新しいプロジェクトが始まるたびに
- AWSアカウント作成
- CloudTrail設定
- Config設定
- IAM設定
- ログ保存先設定
- ガードレール適用
これらを毎回手作業で設定するのは大変です。
さらに設定漏れがあると、
- ログが取得されない
- セキュリティ基準を満たさない
- コンプライアンス違反
などのリスクがあります。
Control Towerなら新しいAWSアカウントを作成した瞬間から、統一された設定を自動適用できます。
Control Towerの構成
AWS Control Tower
│
┌──────────────────┼──────────────────┐
│ │ │
AWS Organizations Account Factory Guardrails
│ │ │
OU管理 アカウント作成 制御・監視
Control Towerは複数のAWSサービスを組み合わせて、マルチアカウント環境を構築・管理します。
主な機能
① AWS Organizationsの管理
Organizationsを利用して
- OU(Organizational Unit)
- AWSアカウント管理
- SCP(Service Control Policy)
などをまとめて管理します。
Root
│
├── Production
│ ├── App1
│ └── App2
│
├── Development
│ ├── Dev1
│ └── Dev2
│
└── Security
② Account Factory
新しいAWSアカウントを標準化された設定で自動作成できる機能です。
- メールアドレス準備
- Organizations参加
- IAM設定
- ログ設定
申請
↓
数クリック
↓
AWSアカウント完成
しかも
- CloudTrail
- AWS Config
- IAM Identity Center
- ログ設定
なども自動で構成されます。
③ Guardrails(ガードレール)
ガードレールは「組織で守るべきルール」を強制または監視する仕組みです。
- CloudTrailを無効化できない
- AWS Configを停止できない
- S3バケットの意図しない公開を防ぐ
- 利用リージョンを制限する
などのルールを適用できます。
Preventive Guardrails
禁止するタイプです。
ユーザー
↓
S3公開設定
↓
拒否
SCP(Service Control Policy)を利用し、ポリシー違反となる操作そのものを実行できなくします。
Detective Guardrails
実行自体はできますが、違反すると検知します。
ユーザー
↓
設定変更
↓
AWS Config
↓
違反検知
内部的にはAWS Config RulesやAWS Lambdaを利用して評価されますが、利用者は「設定違反を検知するガードレール」として利用できます。
Proactive Guardrails
設定変更前にチェックし、不適切な構成を未然に防ぐ仕組みです。
CloudFormation Hooksを利用しており、CloudFormation経由でリソースをデプロイする際に、ガードレール違反となる構成を事前に評価し、デプロイをブロックできます。
注意
Proactive GuardrailsはCloudFormation Hooksによる評価が対象です。そのため、すべてのAPI操作や他のIaCツール経由の作成を一律に防ぐものではありません。
Landing Zone
Control Towerでは最初にLanding Zoneを構築します。
Landing Zoneとは企業向けマルチアカウントAWS環境の土台です。
会社
↓
Landing Zone
↓
開発
本番
監査
ログアーカイブ
ここに
- 監査アカウント(Audit account)
- ログアーカイブアカウント(Log Archive account)
などの共有アカウントが自動的に構成されます。
Control Towerが構築するもの
代表的には
- AWS Organizations
- IAM Identity Center
- AWS CloudTrail
- AWS Config
- ログアーカイブアカウント
- 監査アカウント
- Guardrails
- Account Factory
などがまとめて構築・設定されます。
よく比較されるサービス
| サービス | 役割 |
|---|---|
| AWS Organizations | AWSアカウントをグループ管理するための基盤サービス |
| AWS Control Tower | Organizationsを利用してマルチアカウント環境をベストプラクティスに沿って自動構築・運用するサービス |
| AWS Config | リソース構成の記録・監査 |
| AWS CloudTrail | API操作ログの記録 |
| IAM Identity Center | 複数AWSアカウントへのシングルサインオン |