はじめに
- AWSが推奨しているマルチアカウント構成について改めて記事にしてみました
マルチアカウント構成とは
AWSが推奨しているアカウント構成になります
※アカウントとユーザーについての違いはこちら
例としてWebアプリケーションをdev・stg・prod環境と分けて構築するケースで考えます
シングルアカウント構成の場合
- アカウントは一つ
- ユーザーが利用するマネージメントコンソールのURLも一つ
- 各AWSリソースに対してタグや名前で区別する
メリット
- AWSサポートに加入する場合1アカウントで全てのリソースに対する具体的な質問ができる
デメリット
- 命名やタグ付けでの区別なのでミスが発生する可能性がある
- devを止めようとしたらprodを止めてしまったなど
- 請求が一つになるため、どの環境でいくらぐらい利用しているかの内訳が分かりにくい
- 企業によってはまとめることがメリットの場合もありますが。。
-
AWS Control Tower
を利用すれば、請求をまとめつつマルチアカウント構成にできます
イメージ
マルチアカウント構成の場合
- アカウントを環境ごとに作る
- ユーザーが利用するマネージメントコンソールのURLが環境ごとに分かれる
メリット
- アカウントが環境ごとに分かれるためシングルアカウント構成に比べて事故が起きにくい
- リソースを作って試したい場合にdev環境を利用するなど、用途ごとに使い分けができる
- アカウント毎に請求が来る
デメリット
- アカウント毎にAWSサポートに加入する必要がある
- 環境ごとにマネージメントコンソールのURLが異なるため切り替えが多少煩雑
イメージ
まとめ
ざっくりではありますが、マルチアカウント構成について書いてみました。誰かの参考になれば幸いです🙏
環境ごとにマネージメントコンソールのURLが異なるため切り替えが多少煩雑
こちらについてもIAM Identity Center(旧SSO)
とAWS Organizations
を設定すれば解決することができます。
また、上記2つを内包したAWS Control Tower
を使うのが個人的には一番早い&楽だと思うのでそちらについても記事にしたいと思います。