$30 off During Our Annual Pro Sale. View Details »

AWS Organizations で始めるマルチアカウント管理

AWS Organizations で始めるマルチアカウント管理

スケールするAWS環境を管理する手法としてマルチアカウント戦略は主流になりつつあります。
そのマルチアカウント戦略に役立つ AWS Organizations の概要や使い方のポイントを説明します。

MasahiroKawahara

October 11, 2021
Tweet

More Decks by MasahiroKawahara

Other Decks in Technology

Transcript

  1. AWS Organizations で始める

    マルチアカウント管理

    川原 征大

    https://dev.classmethod.jp/author/kawahara-masahiro/


    View Slide

  2. 目次
    1. なぜ AWS Organizations が必要か
    2. AWS Organizations の主要機能
    3. AWS Organizations を使いこなそう

    View Slide

  3. 1. なぜ AWS Organizations が必要か
    2. AWS Organizations の主要機能
    3. AWS Organizations を使いこなそう

    View Slide

  4. AWSアカウント構成の 2つの戦略
    ● シングルアカウント戦略
    ● マルチアカウント戦略

    View Slide

  5. シングルアカウント戦略
    全ての ネットワークインフラ、コンピューティングリソースを 1
    アカウント内で取り扱う
    シンプルで手早い導入が可能

    View Slide

  6. マルチアカウント戦略
    ワークロードやステージごとにアカウントを分割する
    シングルアカウント戦略と比較してガバナンスや課金、セ
    キュリティ面でメリットが多い

    View Slide

  7. マルチアカウント戦略のメリット
    ● ガバナンス
    ○ 明確な権限の分離
    ● 課金
    ○ コスト分類
    ● セキュリティ
    ○ 問題発生時の影響範囲を絞る

    View Slide

  8. マルチアカウント戦略のデメリット
    ● マルチアカウント戦略のデメリット
    ○ アカウントごとのアクセス・権限管理
    ○ アカウントごとのコスト管理、取りまとめ
    ○ 構築、運用のオーバーヘッド

    View Slide

  9. マルチアカウント戦略のデメリット
    ● マルチアカウント戦略のデメリット
    ○ アカウントごとのアクセス・権限管理
    ○ アカウントごとのコスト管理、取りまとめ
    ○ 構築、運用のオーバーヘッド
    これらマルチアカウント戦略の
    負担を軽減する手段が AWS Organizations

    View Slide

  10. 1. なぜ AWS Organizations が必要か
    2. AWS Organizations の主要機能
    3. AWS Organizations を使いこなそう

    View Slide

  11. AWS Organizations とは?
    複数アカウントを組織化して
    色々できるようにするサービス

    View Slide

  12. ● 管理アカウント/メンバーアカウント
    ● 組織単位(Organizational Unit)
    ● サービスコントロールポリシー(SCP)
    ● Organizations 連携サービス
    AWS Organizations の主要機能

    View Slide

  13. AWS Organizations の主要機能
    ● 管理アカウント/メンバーアカウント ⇠
    ● 組織単位(Organizational Unit)
    ● サービスコントロールポリシー(SCP)
    ● Organizations 連携サービス

    View Slide

  14. 管理アカウント/メンバーアカウント
    AWS Organizations で取り扱うアカウントの種類は 2つ
    ● 管理アカウント(1つだけ)
    ● メンバーアカウント(複数)

    View Slide

  15. 管理アカウント
    ● 組織全体の設定、管理を行うための代表アカウント
    ● 全アカウントのAWS利用料が管理アカウントへ請求され
    る (一括請求 機能)
    ✍ 一括請求のメリット
    ● コスト管理: 請求簡素化。アカウントごとの利用状況を集計
    /管理
    ● コスト最適化: 「組織を 1アカウントとして扱い」利用料が計算されるためボ
    リュームディスカウントの恩恵有

    View Slide

  16. メンバーアカウント
    ● 実際のワークロードなどを稼働させるアカウント群
    ● (Tips) 特定の組織管理業務を行うアカウントを作ることが
    多いです

    View Slide

  17. Tips:「特定の管理業務」の代表例
    ● 監査(Audit)アカウント
    ○ 組織全体のセキュリティ管理を行う役割を持つ
    ○ AWSのセキュリティ系サービス(AWS Security Hub, Amazon
    GuardDuty等) を活用する
    ● ログアーカイブ(Log Archive)アカウント
    ○ 組織全体のログを集約する役割を持つ
    ○ 各種ログ(CloudTrail, VPC Flow Logs 等)を集約、管理する

    View Slide

  18. AWS Organizations の主要機能
    ● 管理アカウント/メンバーアカウント
    ● 組織単位(Organizational Unit) ⇠
    ● サービスコントロールポリシー(SCP)
    ● Organizations 連携サービス

    View Slide

  19. 組織単位(Organizational Unit: OU)
    階層構造を作るための AWSアカウントのコンテナ

    View Slide

  20. 組織単位(Organizational Unit: OU)
    ● よくあるOU種別、分け方
    ○ ワークロード種別単位で OUを作成
    ○ 本番/非本番 単位でOUを作成
    ○ セキュリティ管理用 OUを作成
    ✍ OU構成は最初の大事な設計。ベストプラクティスを参考にしよう
    → AWS Organizations における組織単位のベストプラクティス | Amazon
    Web Services

    View Slide

  21. AWS Organizations の主要機能
    ● 管理アカウント/メンバーアカウント
    ● 組織単位(Organizational Unit)
    ● サービスコントロールポリシー(SCP) ⇠
    ● Organizations 連携サービス

    View Slide

  22. サービスコントロールポリシー(SCP)
    ● ルート/OU/アカウントにアタッチするIAMポリシー
    ● OU配下のアカウントを一括制御できる
    ● 予防的ガードレールの役割
    ▲ デフォルトで全てのルート/OU/アカウント
    に “FullAWSAccess” がアタッチされている

    View Slide

  23. Tips: SCPの継承
    ● OUにアタッチした SCPは その配下の要素(OU/アカウント)
    にも適用される (SCPの継承)
    ● SCP設計の際の重要な考慮点
    参考: [Organizations] SCP(サービスコントロールポリシー )
    の継承の仕組みを学ぼう | DevelopersIO

    View Slide

  24. AWS Organizations の主要機能
    ● 管理アカウント/メンバーアカウント
    ● 組織単位(Organizational Unit)
    ● サービスコントロールポリシー(SCP)
    ● Organizations 連携サービス ⇠

    View Slide

  25. AWS Organizations 連携が “前提” のサービス
    いくつかのサービスは AWS Organizations 利用が前提
    ● AWS Control Tower → 後述
    ● AWS Single Sign-On (SSO) → 後述
    ● AWS Firewall Manager
    ○ WAFルールや Security Group をアカウント横断で管理

    View Slide

  26. AWS Control Tower
    ● ベストプラクティスに基づいた Organizations環境のセット
    アップ/管理を可能にするサービス
    ● ベストプラクティス構成を簡単に構築
    ○ ※カスタマイズ性は高くない
    画像: AWS マルチアカウント管理を実現する
    ベストプラクティスとは ?:
    https://aws.amazon.com/jp/builders-flash/202
    007/multi-accounts-best-practice/
    ✍ 参考になるので利用の有無に関わらず調
    べてみましょう
    ● ベストプラクティス構成
    ● セキュリティガードレール など

    View Slide

  27. AWS Single Sign-On(SSO)
    ● 組織内アカウントへのログインの仕組みを作る機能
    ● ユーザーのアカウントへのアクセスを一元管理

    View Slide

  28. AWS Organizations 連携のサービス
    ● 20以上あり、アップデートで日々増え続けている
    ○ AWS services that you can use with AWS Organizations - AWS
    Organizations
    ● よく使うサービスピックアップ
    ○ CloudFormation StackSets → 後述
    ○ GuardDuty → 後述
    ○ CloudTrail ... 組織全体の証跡を集約
    ○ Resource Access Manager ... AWSリソースの組織内共有

    View Slide

  29. CloudFormation StackSets
    ● 複数リージョン/複数アカウントに CFnスタックを展開でき
    る機能
    ● Organizations 連携で 「OU単位で簡単に展開」できるよう
    になる
    ○ + 自動デプロイ/削除機能も利用可能
    ● 汎用的に使える

    View Slide

  30. GuardDuty
    ● マネージドな脅威検出サービス
    ● Organizations 連携で 組織全体の GuardDuty 一括設定
    と検出イベントの集中管理が可能に
    ● 特定メンバーアカウントを委任管理者とできる
    ○ 委任先アカウントで集中管理

    View Slide

  31. ● 管理アカウント/メンバーアカウント
    ○ 管理アカウントが組織全体を統制する
    ● 組織単位(Organizational Unit)
    ○ メンバーアカウントを階層化して管理する
    ● サービスコントロールポリシー(SCP)
    ○ AWS環境の予防的ガードレール
    ● Organizations 連携サービス
    ○ たくさんある
    AWS Organizations 主要機能まとめ

    View Slide

  32. 1. なぜ AWS Organizations が必要か
    2. AWS Organizations の主要機能
    3. AWS Organizations を使いこなそう

    View Slide

  33. どう使いこなしていくか
    1. まずは アカウント分割/OU設計
    2. SCPで予防的ガードレールを敷こう
    3. AWS SSOでアクセスを管理しよう
    4. Organizations 連携を活用していこう

    View Slide

  34. まずは アカウント分割/OU設計
    ● アカウント分割の方針をまず定めて、それに合わせた
    OU構成を考えていく
    ● OU設計のベストプラクティスを参考にしよう
    ○ AWS Organizations における組織単位のベストプラクティス | Amazon Web Services

    View Slide

  35. SCPで予防的ガードレールを敷こう
    ● 『OU単位で制御したい内容』を書く
    ○ 「(ヒトに関係なく)絶対にやっちゃだめ!」なアクションを洗い
    出すと良い
    ● SCP設計の際に知っておいたほうが良いキーワード
    ○ 継承/許可リスト/拒否リスト/暗黙のDeny
    [Organizations] SCP(サービスコントロールポリシー )の継承
    の仕組みを学ぼう | Developers.IO

    View Slide

  36. AWS SSO でアクセスを管理しよう
    ● AWS SSOが使えることは大きなメリット
    ○ ※ AWS SSOが出るまでは、「Jumpアカウントからのスイッチ
    ロール」戦略が主に採用 (もしくは 3rd party SSO)
    画像: AWS におけるマルチアカウント管理の手法とベストプラクティス | AWS
    Jumpアカウントからのス
    イッチロール構成 →

    View Slide

  37. AWS SSO でアクセス管理しよう
    ● Jumpアカウント戦略はリソース管理が大変
    ○ Jumpアカウントで IAMユーザー管理
    ○ 各アカウントへ IAMロール管理
    ● AWS SSO は管理アカウント内で完結する
    ○ ユーザー管理
    ■ ※ AWS SSO提供 IDストア or 既存AD or 既存外部プロバイダー
    ○ ユーザーがどのアカウントにどの権限でアクセスできるか割
    り当て
    参考: AWS SSOを図解してみた | DevelopersIO

    View Slide

  38. Organizations 連携を活用していこう
    ● 全てを活用していく必要はない
    ● 最低限セットアップしておきたいサービス
    ○ CloudTrail
    ○ Security Hub/GuardDuty
    ○ Config (with SSM Quick Setup)

    View Slide

  39. 【やっておこう!】CloudTrail の証跡を集約
    【Organizations】組織レベルで CloudTrailの証跡を有効化、S3バケットへ集約する | DevelopersIO

    View Slide

  40. 【やっておこう!】セキュリティ集中管理
    ▼GuardDuty参考
    【Organizations】組織内すべてのアカウント・すべてのリージョンへの GuardDuty設定を簡単に
    行う | DevelopersIO
    ▼Security Hub参考
    【アップデート】Security Hubが AWS Organizations と統合!組織内セキュリティチェック環境を
    簡単にセットアップ/管理できるようになりました | DevelopersIO

    View Slide

  41. 【やっておこう!】Configセットアップ
    SSM Quick Setup で超カンタンにセットアップ
    SSM Quick Setup で Configの記録 / 適合パックが AWSアカウント単位 / Organizations全体で
    超カンタンデプロイ可能に!(全リージョン対応) | DevelopersIO

    View Slide

  42. まとめ
    AWS Organizations の主要機能
    ● 管理アカウント/メンバーアカウント
    ● 組織単位(Organizational Unit)
    ● サービスコントロールポリシー(SCP)
    ● Organizations 連携サービス
    AWS Organizations を使いこなそう
    1. まずは アカウント分割/OU設計
    2. SCPで予防的ガードレールを敷こう
    3. AWS SSOでアクセスを管理しよう
    4. Organizations 連携を活用していこう

    View Slide