
サービスの開発を進めるにあたり、AWSの初期構築を行いました。
今回は、AWS Organizationsを利用してマルチアカウント環境を構築し、今後TerraformによるIaC(Infrastructure as Code)やGitHub Actionsを利用したCI/CDを前提とした設計を採用しています。
この記事では、実際に構築した構成と、その設計意図をまとめます。
AWSでは1つのアカウントにすべてのリソースを作成することもできます。
しかし、開発が進むにつれて次のような問題が発生します。
AWSではこのような課題に対応するため、マルチアカウント構成を推奨しています。AWS Organizations ユーザーガイド
AWS Organizationsは、複数のAWSアカウントをまとめて管理するためのサービスです。
OrganizationsにはOU(Organizational Unit)という概念があります。
OUはEC2やS3を配置する場所ではなく、AWSアカウントを整理するためのフォルダのような存在です。
例えば、
Root
├── Infrastructure
└── Workloads
というようにOUを作成し、その中へAWSアカウントを配置していきます。
OUを利用することで、将来的にSCP(Service Control Policies)などのポリシーをまとめて適用できるようになります。AWS Organizations のベストプラクティス
今回はAWS Security Reference Architecture(AWS SRA)の考え方を参考にしつつ、小〜中規模の開発チーム向けにシンプルな構成を採用しました。AWS Security Reference Architecture (AWS SRA)
Root
├── Infrastructure
│ ├── Log
│ └── Security
├── Workloads
│ ├── Dev
│ ├── Stg
│ └── Prod
└── Management(管理アカウント)
インフラ運用に必要なAWSアカウントを配置します。
CloudTrailをはじめとする監査ログを集約するためのアカウントです。
AWSではCloudTrailのイベント履歴は標準で90日間参照できますが、長期間保持する場合はS3へ保存する構成が推奨されています。
さらに、一定期間経過後はS3 Glacierへ移行することで保管コストを抑えることができます。
今後はCloudTrailだけでなく、各種監査ログもこのアカウントへ集約する予定です。
Security HubやGuardDuty、AWS Configなどのセキュリティサービスを配置するためのアカウントです。
今回はまだ構築していませんが、
を集約する予定です。
AWS SRAでも、ログ管理アカウントとセキュリティアカウントを分離する構成が推奨されています。
アプリケーションを実際に動かす環境です。
今回は
の3つを作成しました。
Terraformの検証やアプリケーション開発を行う環境です。
本番リリース前の検証環境です。
本番環境です。
本番環境を別アカウントにすることで、誤操作や権限設定のミスによる影響範囲を限定できます。
Organizationsを作成した最初のAWSアカウントは、自動的にManagement Accountになります。
このアカウントでは、
などを行います。
アプリケーションをデプロイするアカウントではありません。
Organizationsで新しいAWSアカウントを作成する際は、それぞれ異なるメールアドレスが必要になります。
今回はプラスアドレスを利用しました。
これにより、実際には1つのメールボックスで管理しながら、AWSでは別々のアカウントとして扱えます。
従来はIAM Userを作成してAWSへログインする運用が一般的でした。
しかし現在AWSでは、IAM Identity Center(旧AWS SSO)を利用した認証が推奨されています。IAM Identity Center ユーザーガイド
今後は
という構成を採用する予定です。
Root Userは緊急時のみ利用します。
Organizationsの構築が完了したため、次は以下を進めます。
AWSは後からでも構成を変更できますが、アカウント構成や権限設計は最初に整えておくほど、運用コストを抑えられます。
今回構築したマルチアカウント構成は、AWSのベストプラクティスやAWS Security Reference Architectureを参考にしつつ、小〜中規模の開発チームでも運用しやすいようにシンプル化したものです。
今後はこの構成をベースに、Terraform・CI/CD・監査ログ・権限管理を組み合わせ、安全で継続的に運用できるAWS環境を構築していきます。
この記事をシェア
coiai
この記事もおすすめ
株式会社coiaiは、「想像できることを美しく実現」を掲げ、XR・Web・アプリ・システム開発およびDX支援を行う会社です。 創業2022年、東京都練馬区に本社を置き、要件のヒアリングからPoC(概念実証)、本番運用まで一貫して伴走します。 まずはお気軽にご相談ください。
主なご相談内容
詳しい会社情報は会社概要ページでご覧いただけます。