Slide 1

Slide 1 text

AWS Organizationsのユースケースで学ぶ AWSアカウント管理のベストプラクティス 
 クラスメソッド株式会社 AWS事業本部コンサルティング部
 
 菊池 聡規
 1

Slide 2

Slide 2 text

スライドは後で入手することが出来ますので 発表中の内容をメモする必要はありません。 写真撮影をする場合は フラッシュ・シャッター音が出ないようにご配慮ください

Slide 3

Slide 3 text

3 自己紹介 ● 【名前】 菊池 聡規 ● 【所属】 AWS 事業本部 コンサルティング部 ● 【キャリア】 金融機関向けオンプレのインフラエンジニア10年ほど→ 自社Webサービスをもつ企業で3年ほど→ クラスメソッドにジョイン ● 【Blog】 https://dev.classmethod.jp/author/tooti/ ● 【好きな技術】 コンテナ,Terraform,Amazon EventBridge, AWS Step Functions

Slide 4

Slide 4 text

4 AWSを使う上での悩み こんなお悩みありませんか?

Slide 5

Slide 5 text

5 よくある課題:混在するシステム ● システムが1AWSアカウントに混在

Slide 6

Slide 6 text

6 よくある課題:権限分割ができてない ● 本番環境、誰でも触れちゃう問題

Slide 7

Slide 7 text

7 これらの課題を解決するには マルチアカウント運用!

Slide 8

Slide 8 text

8 AWS Well-Architected Frameworkでも ● AWS Well-Architected Frameworkのセキュリティの柱においてもマル チアカウント戦略は強く推奨 ※SEC01-BP01 アカウントを使用してワークロードを分ける : - セキュリティの柱 より

Slide 9

Slide 9 text

9 マルチアカウント運用のメリット ● 権限の分離

Slide 10

Slide 10 text

10 マルチアカウント運用のメリット ● 請求単位の分離

Slide 11

Slide 11 text

11 マルチアカウント運用のメリット ● リソース管理単位の分離

Slide 12

Slide 12 text

12 マルチアカウント運用ならではの課題

Slide 13

Slide 13 text

13 マルチアカウント運用の課題 ● マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ○ アカウント管理 ■ 各アカウントへのログインと権限管理 ■ 各アカウントのベース設定の統一 ○ コスト管理 ■ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ○ セキュリティ統制 ■ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど

Slide 14

Slide 14 text

14 マルチアカウント運用の課題 ● マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ○ アカウント管理 ■ 各AWSアカウントへのログインと権限管理 ■ AWSアカウントのベース設定の統一 ○ コスト管理 ■ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ○ セキュリティ統制 ■ どうやって各AWSアカウントにルールを敷くか ・・・などなど これらの課題解決をサポートするのが

Slide 15

Slide 15 text

15 AWS Organizations

Slide 16

Slide 16 text

16 今日はこれらの課題を AWS Organizationsで どう解決するのかをお伝えします

Slide 17

Slide 17 text

17 その前にAWS Organizationsの概要 ● AWS Organizations(以後Organizasions)とは ※AWS Organizations terminology and concepts - AWS Organizations より

Slide 18

Slide 18 text

18 その前にAWS Organizationsの概要 ● AWS Organizations(以後Organizasions)の機能概要のおさらい ○ コスト一括管理 ■ 管理アカウントから全てのアカウントの請求情報にアクセス ○ AWSアカウントの階層的なグループ化 ■ OUという単位でアカウントをグループ化 ■ OU単位でSCPというポリシー制限をかけたり、 CloudFormationStackSetsを実行することが可能 ○ 他のAWSサービスとの統合 ■ Organizations対応しているAWSサービスで組織単位で設定を実 施したり、管理することが可能

Slide 19

Slide 19 text

19 マルチアカウント運用の課題(再掲) ● マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ○ アカウント管理 ■ 各アカウントへのログインと権限管理 ■ 各アカウントのベース設定の統一 ○ コスト管理 ■ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ○ セキュリティ統制 ■ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど

Slide 20

Slide 20 text

20 各AWSアカウントへのログインと権限管理 ● マルチアカウントでのID管理の課題 IDの統合をする必要がある

Slide 21

Slide 21 text

21 AWS Organizationsを使わない場合 ● Jumpアカウントを使ってログイン ※DevelopersIO:マルチアカウントな AWS環境のマネジメントコンソールへのアクセス方法をまとめてみた の図を元に一部改変 ➔ この方式の課題点 ◆ 利用者観点 ● AWSアカウント範囲でしかIDが統合できてない ● スイッチ先AWSアカウント等を各ユーザで管理 ◆ 管理者観点 ● AWSアカウントごとのIAM作成変更

Slide 22

Slide 22 text

22 AWS Organizationsを使わない場合 ● 外部IDプロバイダーを使ってログイン ➔ この方式の課題点 ◆ 利用者観点 ● AWS CLI使用に一工夫必要 ◆ 管理者観点 ● AWSアカウントごとのIAM作成変更 ● AWSアカウントごとにIdPとの信頼 関係を結ぶ必要あり ※DevelopersIO:マルチアカウントな AWS環境のマネジメントコンソールへのアクセス方法をまとめてみた の図を元に一部改変

Slide 23

Slide 23 text

23 AWS Organizationsを使うと ● 外部IDプロバイダーのIDを使ってIAM Identity Centerでログイン ➔ 便利になる点 ◆ 利用者観点 ● 普段使っているIDでログイン ● AWS CLIサポート ◆ 管理者観点 ● 各AWSアカウントへのIAMロール の作成・変更が不要 ➔ 設計が必要なポイント ◆ 許可セットの権限設計 ◆ ユーザ、アカウント、許可セットの関連 付け

Slide 24

Slide 24 text

24 AWSアカウントのベースライン設定の統一 ● マルチアカウントでの各AWSアカウント設定の課題 ➔ 以下のような設定は各アカウントで合わせておきたい(一例) ● Amazon GuardDuty設定 ● AWS Security Hub設定 ● AWS CloudTrail設定 ● AWS Config設定 ● Amazon S3ブロックパブリックアクセス AWSアカウント作成 時に毎回初期設定 する必要がある ● Amazon Detective設定 ● VPC設定 ● AWS Resource Access Manager ● AWS Backup設定 設定変更の検知 ・ 設定変更防止

Slide 25

Slide 25 text

25 AWS Organizationsを使わない場合 ● AWSアカウント作成時の初期設定 ○ IaCを使用してベースライン設定を構築 ■ AWSアカウント新規作成時にAWS CloudFormationやTerraform を手動実行 ■ ただしAWS CloudFormationでサポートされていないような設定も ある(AWS Security Hubのメンバーアカウント招待等) ● 自作スクリプト等 で対応する必要あり

Slide 26

Slide 26 text

26 AWS Organizationsを使わない場合 ● 設定変更の検知 ○ AWS Security Hub: ■ AWSアカウント内の危険なAWSリソース設定を監視 ○ AWS Config: ■ AWSアカウント内の各リソースの設定変更履歴を保持 ■ 設定変更内容を評価して通知等することも可能 ○ どちらも非AWS Organizations環境でも、一つの管理用AWSアカウ ントに情報集約することは可能 ➔ 課題点 ◆ 新規作成AWSアカウントごとに 有効化や招待等の設定をする必 要がある

Slide 27

Slide 27 text

27 AWS Organizationsを使うと 組織・OU単位で初 期設定を統一 組織・OU単位で設 定変更の検知や防 止を設定 組織という単位 で設 定ができるように OUという単位 で設 定ができるように

Slide 28

Slide 28 text

28 AWS Organizationsを使うと ● AWS Organizations連携サービスによる組織単位の設定 ○ 組織のメンバーアカウントとしてAWSアカウントを作成すれば自動で 有効化や招待を実行 ○ Security HubやAWS Config等ではメンバーアカウント側で一部の設 定変更が不可となるので設定変更防止効果もある ○ SCPを使って特定サービスの無効化を禁止するといった対策もとれ る

Slide 29

Slide 29 text

29 カスタムのベースライン設定の選択肢 項目 IaC種類 AWS Control Tower要否 参考URL 備考 StepFunctions IaCではなく Lambda等でSDK やAPIを実行 不要 - アカウント発行イベントをトリ ガーにStepFunctionsを起動 するといったことも可 Terraform Terraform 不要 https://dev.classmethod .jp/articles/terraform-mu ltiple-provider-configura tion-using-aws-crossac count/ Multiple Provider Configurationsを使うこ とでマルチアカウントで の構築がやりやすくな る AWS CloudFormationSt acksets CloudFormation (CDKで記述するこ とも可能) 不要 https://dev.classmethod .jp/articles/baseline-aut o-deploy-by-cfn-stacks ets/ OU参加時に自動で実行で きる。git push等で自動更 新したい場合は作り込みの 必要あり Baseline Environment on AWS CDK マルチアカウント版 の場合、必要 https://github.com/aws- samples/baseline-envir onment-on-aws/blob/m ain/README_ja.md 手動,CDKPipeline 等のデプロイ手段 が用意されている メンバーズの 御客様 メンバーズ 以外の御客様

Slide 30

Slide 30 text

30 カスタムのベースライン設定の選択肢 項目 IaC種類 AWS Control Tower要否 参考URL 備考 AWS Control Towerのカスタマイ ズ CloudFormationと 設定用yaml 必要 https://dev.classmethod .jp/articles/customizatio ns-for-control-tower/ アカウントを発行した時やS3 等で管理する設定ファイルの 更新をトリガーに実行 Account Factory For Terraform Terraform 必要 https://dev.classmethod .jp/articles/ct-account-fa ctory-for-terraform/ git pushをトリガーにアカウン ト発行や既存アカウントの変 更を実施 Account Factory Customization Service Catalog(CloudFor mation) 必要 https://dev.classmethod .jp/articles/control-tower -account-factory-custo mization/ メンバーズ 以外の御客様

Slide 31

Slide 31 text

31 AWS Control Tower ● AWS Control Tower ○ AWSアカウント作成時:組織に追加されるAWSアカウントを対象にロ グ集約を自動設定 ○ 設定変更検知・防止:SCPで変更防止が可能に。組織やOU単位で AWS Confingのルールが簡単に適用可能 ※AWS Black Belt Online Seminar AWS Control Tower 基礎編 より引用

Slide 32

Slide 32 text

32 マルチアカウント運用の課題(再掲) ● マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ○ アカウント管理 ■ 各アカウントへのログインと権限管理 ■ 各アカウントのベース設定の統一 ○ コスト管理 ■ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ○ セキュリティ統制 ■ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど

Slide 33

Slide 33 text

33 Consolidating billing for AWS Organizations ● AWS Organizations使用時のコスト観点でのメリット ○ 組織内AWSアカウントの料金をまとめて請求※ ○ ボリュームディスカウントが組織全体で計算される ○ Reserved InstancesとSavings Plansの割引共有 ○ 複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合は弊社 CMP上で設定したプロジェクト単位でのご請求となります

Slide 34

Slide 34 text

ボリュームディスカウント 34 ● AWSではボリュームディスカウントという仕組みがあり使用量が増える ほど安くなるリソースが存在 ● Organizationsを使うとそれが組織全体に適用 メンバーズの 御客様 メンバーズ 以外の御客様

Slide 35

Slide 35 text

35 AWS OrganizationsでのRI/SP ● Organizationsなら余剰RI/SPを他アカウントに共有可能 メンバーズの 御客様 メンバーズ 以外の御客様

Slide 36

Slide 36 text

● 超過防止に役立つ機能 ○ Cost Anomaly Detection ■ 機械学習によりコスト異常を検知し通知してくれるサービス ■ Organizationsの場合、配下のアカウント全てを見てくれる ■ モニター種別とアラートサブスクリプションの組み合わせで見るべ き対象と通知先を決定 36 複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合、誤検知の可能性がある点をご了承ください メンバーズの 御客様 メンバーズ 以外の御客様

Slide 37

Slide 37 text

● 超過防止に役立つ機能 ○ AWS Budgets ■ 事前に予算を決めておいて超過した場合に通知 ■ Organizationsの場合、配下のアカウント全てを一箇所で設定 37 複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合、誤検知の可能性がある点をご了承ください メンバーズの 御客様 メンバーズ 以外の御客様

Slide 38

Slide 38 text

● 超過防止に役立つ機能 ○ ClassmethodMembersPortalの料金アラーム機能 ■ 事前に予算を決めておいて超過した場合に通知 ■ 3段階で設定可能 38 複数AWSアカウントのコストを一元管理 メンバーズの 御客様

Slide 39

Slide 39 text

● コスト見直しに役立つ機能 ○ Cost Optimization Hub ■ 特定のコスト最適化推奨事項をレコメンドするサービス ■ Organizationsの場合、配下のアカウント全てを一括表示 39 複数AWSアカウントのコストを一元管理 ※新しいコスト最適化ハブは、推奨アクションを一元化してコストを節約します | Amazon Web Services ブログ より ※メンバーズにてAWSアカウントを使用されている場合、 RI/SP推奨事項は利用不可 メンバーズの 御客様 メンバーズ 以外の御客様

Slide 40

Slide 40 text

40 マルチアカウント運用の課題(再掲) ● マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ○ アカウント管理 ■ 各アカウントへのログインと権限管理 ■ 各アカウントのベース設定の統一 ○ コスト管理 ■ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ○ セキュリティ統制 ■ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど

Slide 41

Slide 41 text

● 主なセキュリティ対策 ○ SCPによる予防的統制 ○ Security Hubによる設定チェック ○ Amazon GuardDutyによる脅威検出 ○ IAM Access Analyzerによるリソースのチェック ○ CloudTrailによる監査ログ保管 ○ Amazon Inspectorによる脆弱性情報収集 ・・・などなど 41 セキュリティ対策で出来ることはたくさん

Slide 42

Slide 42 text

● SCP(Service Control Policy) ○ OrganizationsではSCPで各メンバーアカウントに対して、IAMユー ザやIAMロールのアクションに制限をかけることが可能 ○ OUやAWSアカウントに対してアタッチ ○ 管理アカウントには影響しない点に注意 ○ 主な使用例としてはリージョン制限等 ■ ご参考:サービスコントロールポリシーの例 ■ リージョン制限を行うだけでも全然違うのでまずはそこから ○ SCPについて知るには以下のブログがオススメ ■ AWS再入門2023 Organizations SCP編 | DevelopersIO 42 SCPによる予防的統制

Slide 43

Slide 43 text

● AWS SecurityHubはOrganizations統合可能なサービス 43 AWS SecurityHub ● 統合するとメンバーアカウントの 情報が一箇所に集約 ● リージョン集約設定により各リー ジョンの結果も一箇所に ※マルチアカウント環境でセキュリティサービスの検出結果を全て Security Hubに集約して通知してみた | DevelopersIO より

Slide 44

Slide 44 text

● 中央設定により更に便利に ○ 2023/11のアップデートにより委任管理アカウントから各メンバーアカ ウントの設定を細かく設定可能に ■ Security Hub の有効化/無効化 ■ どのセキュリティ標準を有効とするか ■ どのコントロール有効/無効とするか ○ 設定は全アカウント、OU、個別のアカウントと適用先を選べる ○ リージョン集約設定をしていれば他リージョンにも設定が展開 ○ 参考 ■ [アップデート]AWS Security Hubの組織への展開がセキュリティ標準やコントロー ルなどをカスタマイズして設定できるようになりました! 44 AWS SecurityHub

Slide 45

Slide 45 text

● GuardDutyもOrganizations統合可能なサービス ○ 委任管理アカウントで設定を行えばアカウント追加時に自動で有効 化 ■ S3保護、RDS保護等のオプションはアカウント毎に有効無効を選 べる ○ ただしGuardDutyではSecurityHubのように他リージョンに設定を展 開してくれないのでリージョン毎に設定を行う必要あり ○ 設定方法は以下のブログを参照 ■ Organizations 環境で Amazon GuardDuty を全リージョンへ簡 単セットアップしてみる 45 Amazon GuardDuty

Slide 46

Slide 46 text

● 設定だけでなく通知して対処するのが大事 46 SecurityHub GuardDutyの通知 ● SecurityHubはOrganization統合しており、リージョン集約設定もしていれば委任 管理アカウント上の一つのリージョンで通知を集約できる ● GuardDutyはデフォルトでSecurityHubと統合されており、検知結果は自動的に SecurityHubに取り込まれる ○ つまりSecurityHubで発生したイベントを通知する設定を行えば、GuardDutyの イベントも含めて通知が可能に ※【小ネタ】GuardDuty 通知は Security Hub 経由で行うとリージョン集約ができて便 利 より

Slide 47

Slide 47 text

47 マルチアカウントいいね 😀 ってなりましたよね?

Slide 48

Slide 48 text

48 AWS Organizationsに興味が出てきたという方

Slide 49

Slide 49 text

49 AWS請求代行サービス(組織管理プランv2) 組織管理プラン v2のポイント • 2024/4より開始した新プラン、従来より更に割引率UP • AWS Organizationsの他、AWS Control Towerも使用可能※1 ※1 詳細については 弊社サイトにてご確認頂くか、弊社サイトのお問い合わせページよりお問い合わせください。 ※1 中国リージョン、GovCloudは除きます。AWS Marketplaceなど一部のサービスは対象外となります。 AWS全サービス・全リージョン利用料 一律4%OFF 組織管理プランv2

Slide 50

Slide 50 text

50 マルチアカウントにしたい、 でもどこから手をつけたらいいか・・・ という方

Slide 51

Slide 51 text

51 事例紹介(塩野義製薬株式会社 様) • 一定のセキュリティレベルを担保しつ柔軟性の高いAWS環境 を構築
 • 社内インフラを有効活用したネットワーク構成、ユーザ管理体制 
 • 組織的なAWS運用体制を構築 。クラスメソッドはチームで支援 
 • 社内の複数の部署で契約したAWSアカウントが点在 
 • 分散管理によってBCP、セキュリティリスクを懸念 
 • 属人的な管理体制からAWS運用の社内リソースが不足 
 マルチアカウントご支援ポイント • 塩野義製薬全体のAWSアカウントを横断す るセキュリティ監視の一元化 • IAM Identity Centerを使って組織的なア カウントの一元管理と権限分割を実現 お客様の声 「既存の運用や構成を考慮して変更したいも のや追加したい要件・要望などをこちらから 伝え、その都度柔軟に応えていただけまし た。要望を伝えたあとのレスポンスの速さに も驚きましたね。IAMポリシーに関しても丁 寧に教えていただいたことで細かく作り込む ことができました。満足のいくものになり、 大変感謝しております」 before after

Slide 52

Slide 52 text

52 事例紹介(株式会社アイスタイル 様) • AWSのベストプラクティスに沿った構成 を設計・構築
 • 3カ月でマルチアカウント構成やオンプレミスとのネットワーク接続等を実現 
 • TerraformによるIaC化でインフラ構築・運用やアカウント設定を自動化 • AWS移行のファーストステップとなる共通基盤の設計・構築ノウハウが欲し い
 • AWSへの早期移行に向けて短期間で共通基盤を構築したい 
 • インフラ構築・運用の負荷を軽減したい マルチアカウントご支援ポイント • AWS Control Towerによるマルチアカウン ト構成設計・構築 • AWS IAM Identity Centerによるユーザー 管理設計・構築 • AWS Transit Gatewayによるオンプレミス 環境とのネットワーク接続設計・構築 お客様の声 「内製開発を中心に進めていたものの、内部 のエンジニアだけでは判断できないことも多 く、折に触れてレビューをいただいたり、的 確な助言をいただいたりできたことは、自信 を持って前に進むうえでも心強い味方となり ました。トラブルシューティングや、最新技 術の調査においてもクラスメソッドからの知 見の提供によって乗り切ることができまし た」 before after

Slide 53

Slide 53 text

53 自分たちで頑張ってみるぞ! という方

Slide 54

Slide 54 text

54 Classmethod Cloud Guidebook ● マルチアカウント関連ナレッジの他にもAWSガイドラインサンプル等、様々なコンテンツを 掲載 AWS活用のノウハウが詰まったナレッジ集 クラスメソッドの「 AWS請求代行」をご利用の御客様に無料公開 例
 例


Slide 55

Slide 55 text

55