AWS アカウント管理方針について、AWS Organizations と IAM スイッチロールのメリット・デメリットをご紹介します。
背景 AWS Organizations と IAM スイッチロール、どちらを利用すべきか?
開発プロジェクトの規模によって、「AWS Organizations と IAM Switch Role (スイッチロール)、どちらを利用すべきか?」 という疑問を持っていて、SRE の方に色々と教えてもらった内容をまとめたのが本記事です。
AWS Organizations のメリット・デメリット
メリット - AWS Organizations
✅ 権限の一元管理
ログインユーザの一元管理ができます。 また、ユーザごとにログイン可能なアカウントを設定できたり、細かな権限管理が可能です。
✅ 請求を一括管理できる
✅ AWS を階層的に管理できる
GCP のプロジェクトを AWS アカウントのようにするイメージです。
デメリット - AWS Organizations
❌ 設定が複雑なので設計が大変
- 開発工数がかかる
- マルチアカウントといっても使い方が production, staging レベルで分けるものには適していない
- 大規模向きなので、ユーザの一元管理をしたいぐらいの開発者数がいないと、コスパが悪い (例: 10個のAWSアカウントに一括で○○さんのIAMユーザを追加するとか)
IAM スイッチロールのメリット・デメリット
メリット - IAM スイッチロール
✅ 最小工数でマルチアカウント化できる
Switch Role をアカウントで準備すれば、すぐにマルチアカウント管理可能になります。
デメリット - IAM スイッチロール
❌ アカウント毎に Switch Role の設定をする必要がある
❌ アカウント管理はできない
請求を一括することはできません。
❌ 細かな権限管理をすることはできなそう
Switch Role するときに特定のユーザに権限を付与することはできないです。
以上、AWS アカウント設計・管理・運用のベストプラクティスを把握しておきたい、現場からお送りしました。