😎

【AWS】マルチアカウント戦略と管理の基礎

2025/01/17に公開

1. マルチアカウント戦略とは

  • 概要:

    • 特定の基準でAWSアカウントを分割し、環境やプロジェクトを分離して運用。
    • 例: 本番環境用アカウントと開発環境用アカウントを分ける。
  • 主な基準:

    • 環境ごと: 本番環境と開発環境を分ける。
    • プロジェクトや部署ごと: 各プロジェクトや部門に専用のアカウントを作成。
    • ワークロードごと: 外部向けサービスと内部向けサービスを分離。

2. マルチアカウント戦略のメリット

  1. 環境の分離

    • 本番環境と開発環境を別アカウントに分けることで、オペレーションミスを防ぐ。
    • 開発環境のリソースが本番環境に影響を与えるリスクを低減。
  2. 請求の可視化

    • アカウントごとに利用料金が分かるため、コストの管理が簡単。
    • 例: プロジェクトごとの予算管理が明確化。
  3. セキュリティとコンプライアンス

    • アカウント単位で権限を制御。
    • ガードレール(共通のポリシー)を導入して、全社的なルールを適用可能。
  4. ワークロードの分離

    • 外部向けサービスと内部向けサービスを分離して、セキュリティを強化。

3. マルチアカウント戦略の課題

  1. 管理の複雑さ

    • 各アカウントごとにIAMポリシーやリソースの管理が必要。
    • アカウントが増えると、手作業での管理が困難になる。
  2. 請求の一元化

    • 明細を分離する一方で、請求は一本化したいニーズへの対応。

その課題を解決するのがAWS Organizations

4. AWS Organizationsで課題解決

Organizationsの特徴

  • 複数アカウントの管理サービス:

    • アカウントを「組織(Organization)」としてまとめて管理。
    • 管理アカウント: 組織全体を管理する特別なアカウント。
    • メンバーアカウント: 管理される各アカウント。
  • 主なメリット:

    1. 請求の一本化:
      • 各アカウントの明細を分離しつつ、請求は管理アカウントに集約。
    2. OU(Organizational Unit)での管理:
      • 環境別、プロジェクト別にアカウントをグループ化。
    3. SCP(サービスコントロールポリシー):
      • ガードレールとして、禁止する操作や設定を一括で管理可能。

5. IAM Identity Center(旧 SSO)

特徴

  • 複数アカウント間のシングルサインオン(SSO)を実現するサービス。
  • IAM Identity Centerを使用すると、各アカウントで個別にIAMユーザーを作成する必要がなくなる。

仕組み

  1. ユーザー管理:

    • IAM Identity Centerでユーザー情報を一元管理。
    • IDとパスワードで一度ログインすると、複数のアカウントにアクセス可能。
  2. アクセス許可セット:

    • ユーザーごとに各アカウントでの権限を定義。
    • 許可セットを基にIAMロールが動的に作成される。
    • IAMロールの設計書のようなもの

メリット

  • 開発者は1回のログインで複数アカウントに簡単アクセス。
  • 管理者は許可セットを使い、権限を一元管理。

6. 活用例

  1. プロジェクト分割

    • 「Webアプリ開発」と「機械学習モデル開発」を別アカウントで管理。
    • 各プロジェクトのコストと権限を独立させ、効率的に運用。
  2. ガードレールの導入

    • 本番環境アカウントでは「インスタンス削除」を禁止するSCPを適用。
    • すべてのアカウントに「パブリックアクセスの設定変更」を禁止するポリシーを適用。
  3. シンプルなログイン管理

    • IAM Identity Centerを使い、チーム全員が1回のログインで本番・開発環境にアクセス可能。

7. まとめ

  • マルチアカウント戦略はセキュリティ、コスト管理、効率化に有効。
  • AWS OrganizationsとIAM Identity Centerを組み合わせることで、管理負荷を大幅に軽減。
  • 最小権限の原則とガードレールを活用し、安全で効率的な運用を実現。

Discussion