運用工数削減！AWSで効率的なマルチアカウント管理をするには(1/3)

# はじめに
複数のAWSアカウントを利用するうえで、組織全体で一貫したセキュリティポリシーを適用し、AWSが推奨するベストプラクティスを維持した状態でアカウントを統括することが大切になります。弊社でも複数のアカウントを利用しており、環境を横断してアカウントを統括・管理することが課題となっています。

この課題を解決するために現在AWS Control Towerの導入を検討しています。
AWS Control Towerは、Organizationsやその他AWSのセキュリティサービスと連携することで、AWSのベストプラクティスに基づいた設定を各アカウントに適用・制御できるサービスです。

AWS Control Towerを活用した弊社の取り組みを全３回の連載形式で公開します！

|     |   コンテンツ(予定)  | 
| --- | --- | 
|  第１回   | Control Towerの概要    |  
|  第2回    | 私達の運用方法の紹介    | 
|  第3回    |  導入後の効果と今後の展望   | 

今回は、第１回目ですので弊社で利用しておりますControl Towerというサービスの概要を改めてまとめたいと思います。

# AWS Control Towerの概要

AWS Control Towerとは、AWSのセキュリティサービス（AWS Config、AWS GuardDuty、AWS CloudTrailなど）を用いて、AWSのベストプラクティスに沿った設定を行うことで、統制されたアカウントを構成することができるサービスです。

主な機能として以下のようなものが挙げられます。
- 対応サービス（AWS OrganizationsやAWS CloudTrailなど）の統合管理が可能
- ベストプラクティスに則ってルールを設定できる
- 管理下にあるアカウントのログを集約できる
- ポリシー適用による操作制限
- 変更情報の通知・IDの一元管理
- AWSアカウントの作成

自社に合わせたガバナンスルールにカスタマイズできるため、複数のアカウントを効率良く管理できるメリットがあります。

https://aws.amazon.com/jp/controltower/

# AWS Control Tower の主要な機能

Control Towerは以下の機能から構成されています。
### **コントロール（ガードレール）**
コントロールとは、Control Tower配下のAWSアカウントに対して、セキュリティ的に問題がある操作を防ぐために監視をする機能です。
以下の3種類のタイプが用意されており、適切な設定を行うことでセキュリティとガバナンスを確保できます。
|No.|名称|概要|
|----|----|----|
|1|予防コントロール|問題がある操作を防ぐために事前に適用されるルール
|2|検出コントロール|問題が発生した際にそれを検出するルール
|3|プロアクティブコントロール|問題が発生する前に予測し、事前に対策を講じるルール

また上記のコントロールは、「必須」「強く推奨」「選択的」の3種類のカテゴリがあり
そのうち「必須」は、Control Tower導入時、自動的に環境に適用されます。

https://docs.aws.amazon.com/ja_jp/controltower/latest/controlreference/mandatory-controls.html

### **Landing Zone**

ランディングゾーンとは、AWSのベストプラクティスに基づいたセキュアなマルチアカウントAWS環境を提供する仕組みの総称です。
ランディングゾーンを展開することで、環境内のAWSアカウントのリソースに対して一元的に管理および監視できる環境になります。

Control Towerのセットアップ時にランディングゾーンの設定が必要となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333262/b1e58937-0dec-b58a-9ba0-1ada5041490f.png)



セットアップ時、以下のアカウントおよびOUがデフォルトで作成されます。

|No.|名称|概要|
|----|----|----|
|1|監査アカウント|Landing Zone内のアカウントに対して横断的なロールを持ち、設定変更などを監視し、通知できるアカウント
|2|ログアーカイブ|Landing Zone内のアカウントのすべての AWS CloudTrail および AWS Config ログファイルのコピーを保存するためのアカウント

|No.|名称|概要|
|----|----|----|
|1|Security OU|セットアップ時に作成する監査アカウントとログアーカイブアカウントが所属するOU
|2|Sandbox OU|AWS Control Tower 内で作成されたアカウントがデフォルトで所属するOU

目的に応じて（検証やワークロード環境など）OUを追加し、適切なコントロールを適用することで
セキュリティを維持した状態で運用することが可能となります。

### **Account Factory**

Account Factory は、新規アカウントのプロビジョニングを標準化し、設定可能なアカウントテンプレートです。コントロールが有効化された状態のアカウント作成ができ、ワークフローを自動化できる機能があるため、効率よくマルチアカウント環境の構築が可能です。

### **ダッシュボード**

ダッシュボードでは、ランディングゾーンをコンソール上で管理できます。
以下のように有効なコントロール数や非準拠リソースなどを確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333262/44bcebe4-9d5f-0bfa-d3f2-cd3e059ffe21.png)


# AWS Control Towerを利用して感じたこと

新規アカウントの環境設定が自動で行われることが1番の利点と感じました。

監査アカウントによる検知および通知、ログアーカイブアカウントによるログの集約
AWS Configの初期設定などが、Account Factoryからアカウントを作成することで、
これらが自動的にセットアップされます。またログを一元管理できることで、アカウントを横断した確認をする必要が無いというメリットもあります。

本来であれば個々のアカウントごとに設定する部分を短縮し、アカウント統制もできるサービスであるため、マルチアカウントを設計する際は必須で導入すべきサービスと考えています。



# 次回予告


次回以降の記事でControl Towerの運用や管理について書いて行きますので
ぜひフォローして頂きまして次の記事をお待ちください！:sunny:

# 弊社では一緒に働く仲間を募集中です!
現在、様々な職種を募集しております。
カジュアル面談も可能ですので、ご連絡お待ちしております！

募集内容等詳細は、是非採用サイトをご確認ください。

https://engineer.po-holdings.co.jp/