DEVELOPER’s BLOG
技術ブログ
AWS Organizationsから考えるマルチアカウント戦略
はじめに
AWSのアカウント管理を実施するにあたり「Well-Architected Framework」への考慮は必要不可欠です! 私たちAWSユーザは、AWS Organizationsを利用したマルチアカウント戦略の実践を、AWSからベストプラクティスとして推奨されています。 今回は、AWS Organizationsを利用したマルチアカウント戦略の実践により、AWSアカウント管理でよくある課題を解決する方法をいくつかご紹介いたします。
目次
- AWSアカウント管理でよくある課題
- AWS Organizationsによるマルチアカウント戦略
- AWS Organizationsのみで実現
- AWS Organizations + AWSマネージドサービスの組み合わせで実現
- まとめ
AWSアカウント管理でよくある課題
まずはじめに、
- アカウント管理
- セキュリティ
- コスト
の3つの観点から、AWSアカウントを利用する上でお客様からよく伺う課題を見ていきます。
観点 | 現状 | 課題 |
アカウント管理 |
・複数のシステム管理に伴いAWSアカウント数が(開発/検証/本番を含めると)20〜30個ある ・AWSアカウントは社内担当者もしくは社外ベンダーが管理している ・開発会社は複数に渡り、運用もベンダーに一任している |
・AWSアカウント数が多く管理できていない ・アクセス権が細かく適切に付与できていない ・設定内容がセキュリティ要件を満たしているのかをチェックする機能が無い ・チェックする機能はあるがコストがかかっている |
セキュリティ |
・導入必須なミドルウェアやツールの指定がある ・システム毎に個別の要件やルールがある |
・ミドルウェアやツールの導入率が低い ・上記未導入時の検知 → 改善・運用が構築されていない ・個別の要件やルールの適用確認が困難である ・不正アクセス等の検知ができていない |
コスト |
・AWSアカウント毎に請求が個別である ・AWSのコストは月1度の請求で確認している |
・個々の請求処理が手間である ・AWSの急激なコスト上昇を把握できていない ・不要なリソースの放置による微細なコスト上昇に気付いていない ・AWSの予算オーバーを請求段階でしか検知できていない |
これらの課題の多くは、AWSアカウントの 個別管理 に起因しています。 では、上記課題の解決策を、AWS Organizationsを利用したマルチアカウント戦略の観点から確認したいと思います。
AWS Organizationsによるマルチアカウント戦略
まずは、AWS Organizationsの機能について確認します。
AWS Organizationsとは、AWSアカウントを統合・管理・制御するためのAWSサービスであり、追加料金は不要です。1つのAWSアカウントを管理アカウントとして指定することで組織を作成します。その組織へのAWSアカウントの作成または追加により、階層構造を実現します。この階層構造により、システムやプロジェクト毎にAWSアカウントを分けて管理することが可能です。これが、AWS Organizationsを利用したマルチアカウント戦略です。さらには、AWS OrganizationsとAWSマネージドサービスを組み合わせることにより、一層ハイレベルなAWSアカウントの管理を実現します。
以下では、AWS Organizationsを利用した具体的な課題の解決方法を見ていきます。
AWS Organizationsのみで実現
観点 | 課題 | 解決方法 |
アカウント管理 |
・AWSアカウント数が多く管理できていない ・アクセス権が細かく適切に付与できていない |
・OU(Organization Unit)単位でAWSアカウントをグループ化する ・AWS Organizationsに対応しているAWSサービスに対してOU単位で設定を実施する ・IAMグループごとにアクセス可能なAWSアカウントやAWSリソースへの権限の範囲を指定する |
セキュリティ | ※AWS Organizations + AWSマネージドサービスの組み合わせで実現 | |
コスト | ・個々の請求処理が手間である | ・管理アカウントにて全てのAWSアカウントのコストを一括支払いする |
AWS Organizations + AWSマネージドサービスの組み合わせで実現
観点 | 課題 | 解決方法 |
アカウント管理 |
・設定内容がセキュリティ要件を満たしているのかをチェックする機能が無い ・チェックする機能はあるがコストがかかっている |
・AWS Configを組み合わせることで複数のAWSアカウントのAWS Configデータを管理アカウントに一元的に集約し、AWSリソースの設定と関係を継続的に監査・評価する |
セキュリティ |
・ミドルウェアやツールの導入率が低い ・上記未導入時の検知 → 改善・運用が構築されていない ・個別の要件やルールの適用確認が困難である ・不正アクセス等の検知ができていない |
・AWS Systems Managerを組み合わせることで各AWSアカウントのインスタンスに対してセキュリティパッチを一元適用する ・Amazon S3を組み合わせることで各AWSアカウントのセキュリティログを一元的に集約する ・Amazon Athenaを組み合わせることで集約されたセキュリティログに対してクエリを一括に実行し、セキュリティインシデントの兆候を漏れ無く分析する |
コスト |
・AWSの急激なコスト上昇を把握できていない ・不要なリソースの放置による微細なコスト上昇に気付いていない ・AWSの予算オーバーを請求段階でしか検知できていない |
・AWS Cost Anomaly Detectionを組み合わせることで各AWSアカウントの急激なコスト上昇を一元的にキャッチする ・AWS Budgetsを組み合わせることで予算逸脱時に通知を受け取る |
このようにAWS Organizationsにおけるマルチアカウント戦略を最大限活用することで、
- アカウント一元管理 : 複数AWSアカウントの統合管理
- セキュリティ強化 : 漏れのない完全なるセキュリティポリシー
- コスト追跡 : AWS組織全体でのコスト最適化
これらを実現し、AWSアカウントを管理する上での多くの課題を網羅的に解決することができます!
まとめ
ここまで「AWS Organizationsによるマルチアカウント戦略」について見てきました。 ご自身が利用されているAWSアカウントの管理状況と比較していただき、改善点など見つかりましたでしょうか? AWS Organizationsやその他のAWSマネージドサービスとの組み合わせを採用し、AWSのベストプラクティスに沿ったAWSアカウント管理を実践しましょう!ご精読いただきありがとうございます。