Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス

t-kikuchi
August 02, 2024

 AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス

AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス

t-kikuchi

August 02, 2024
Tweet

More Decks by t-kikuchi

Other Decks in Technology

Transcript

  1. 3 自己紹介 • 【名前】 菊池 聡規 • 【所属】 AWS 事業本部

    コンサルティング部 • 【キャリア】 金融機関向けオンプレのインフラエンジニア10年ほど→ 自社Webサービスをもつ企業で3年ほど→ クラスメソッドにジョイン • 【Blog】 https://dev.classmethod.jp/author/tooti/ • 【好きな技術】 コンテナ,Terraform,Amazon EventBridge, AWS Step Functions
  2. 13 マルチアカウント運用の課題 • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各アカウントへのログインと権限管理 ▪

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

    AWSアカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやって各AWSアカウントにルールを敷くか ・・・などなど これらの課題解決をサポートするのが
  4. 18 その前にAWS Organizationsの概要 • AWS Organizations(以後Organizasions)の機能概要のおさらい ◦ コスト一括管理 ▪ 管理アカウントから全てのアカウントの請求情報にアクセス

    ◦ AWSアカウントの階層的なグループ化 ▪ OUという単位でアカウントをグループ化 ▪ OU単位でSCPというポリシー制限をかけたり、 CloudFormationStackSetsを実行することが可能 ◦ 他のAWSサービスとの統合 ▪ Organizations対応しているAWSサービスで組織単位で設定を実 施したり、管理することが可能
  5. 19 マルチアカウント運用の課題(再掲) • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各アカウントへのログインと権限管理 ▪

    各アカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど
  6. 21 AWS Organizationsを使わない場合 • Jumpアカウントを使ってログイン ※DevelopersIO:マルチアカウントな AWS環境のマネジメントコンソールへのアクセス方法をまとめてみた の図を元に一部改変 ➔ この方式の課題点

    ◆ 利用者観点 • AWSアカウント範囲でしかIDが統合できてない • スイッチ先AWSアカウント等を各ユーザで管理 ◆ 管理者観点 • AWSアカウントごとのIAM作成変更
  7. 22 AWS Organizationsを使わない場合 • 外部IDプロバイダーを使ってログイン ➔ この方式の課題点 ◆ 利用者観点 •

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

    利用者観点 • 普段使っているIDでログイン • AWS CLIサポート ◆ 管理者観点 • 各AWSアカウントへのIAMロール の作成・変更が不要 ➔ 設計が必要なポイント ◆ 許可セットの権限設計 ◆ ユーザ、アカウント、許可セットの関連 付け
  9. 24 AWSアカウントのベースライン設定の統一 • マルチアカウントでの各AWSアカウント設定の課題 ➔ 以下のような設定は各アカウントで合わせておきたい(一例) • Amazon GuardDuty設定 •

    AWS Security Hub設定 • AWS CloudTrail設定 • AWS Config設定 • Amazon S3ブロックパブリックアクセス AWSアカウント作成 時に毎回初期設定 する必要がある • Amazon Detective設定 • VPC設定 • AWS Resource Access Manager • AWS Backup設定 設定変更の検知 ・ 設定変更防止
  10. 25 AWS Organizationsを使わない場合 • AWSアカウント作成時の初期設定 ◦ IaCを使用してベースライン設定を構築 ▪ AWSアカウント新規作成時にAWS CloudFormationやTerraform

    を手動実行 ▪ ただしAWS CloudFormationでサポートされていないような設定も ある(AWS Security Hubのメンバーアカウント招待等) • 自作スクリプト等 で対応する必要あり
  11. 26 AWS Organizationsを使わない場合 • 設定変更の検知 ◦ AWS Security Hub: ▪

    AWSアカウント内の危険なAWSリソース設定を監視 ◦ AWS Config: ▪ AWSアカウント内の各リソースの設定変更履歴を保持 ▪ 設定変更内容を評価して通知等することも可能 ◦ どちらも非AWS Organizations環境でも、一つの管理用AWSアカウ ントに情報集約することは可能 ➔ 課題点 ◆ 新規作成AWSアカウントごとに 有効化や招待等の設定をする必 要がある
  12. 28 AWS Organizationsを使うと • AWS Organizations連携サービスによる組織単位の設定 ◦ 組織のメンバーアカウントとしてAWSアカウントを作成すれば自動で 有効化や招待を実行 ◦

    Security HubやAWS Config等ではメンバーアカウント側で一部の設 定変更が不可となるので設定変更防止効果もある ◦ SCPを使って特定サービスの無効化を禁止するといった対策もとれ る
  13. 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 等のデプロイ手段 が用意されている メンバーズの 御客様 メンバーズ 以外の御客様
  14. 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/ メンバーズ 以外の御客様
  15. 31 AWS Control Tower • AWS Control Tower ◦ AWSアカウント作成時:組織に追加されるAWSアカウントを対象にロ

    グ集約を自動設定 ◦ 設定変更検知・防止:SCPで変更防止が可能に。組織やOU単位で AWS Confingのルールが簡単に適用可能 ※AWS Black Belt Online Seminar AWS Control Tower 基礎編 より引用
  16. 32 マルチアカウント運用の課題(再掲) • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各アカウントへのログインと権限管理 ▪

    各アカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど
  17. 33 Consolidating billing for AWS Organizations • AWS Organizations使用時のコスト観点でのメリット ◦

    組織内AWSアカウントの料金をまとめて請求※ ◦ ボリュームディスカウントが組織全体で計算される ◦ Reserved InstancesとSavings Plansの割引共有 ◦ 複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合は弊社 CMP上で設定したプロジェクト単位でのご請求となります
  18. • 超過防止に役立つ機能 ◦ Cost Anomaly Detection ▪ 機械学習によりコスト異常を検知し通知してくれるサービス ▪ Organizationsの場合、配下のアカウント全てを見てくれる

    ▪ モニター種別とアラートサブスクリプションの組み合わせで見るべ き対象と通知先を決定 36 複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合、誤検知の可能性がある点をご了承ください メンバーズの 御客様 メンバーズ 以外の御客様
  19. • 超過防止に役立つ機能 ◦ AWS Budgets ▪ 事前に予算を決めておいて超過した場合に通知 ▪ Organizationsの場合、配下のアカウント全てを一箇所で設定 37

    複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合、誤検知の可能性がある点をご了承ください メンバーズの 御客様 メンバーズ 以外の御客様
  20. • コスト見直しに役立つ機能 ◦ Cost Optimization Hub ▪ 特定のコスト最適化推奨事項をレコメンドするサービス ▪ Organizationsの場合、配下のアカウント全てを一括表示

    39 複数AWSアカウントのコストを一元管理 ※新しいコスト最適化ハブは、推奨アクションを一元化してコストを節約します | Amazon Web Services ブログ より ※メンバーズにてAWSアカウントを使用されている場合、 RI/SP推奨事項は利用不可 メンバーズの 御客様 メンバーズ 以外の御客様
  21. 40 マルチアカウント運用の課題(再掲) • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各アカウントへのログインと権限管理 ▪

    各アカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど
  22. • 主なセキュリティ対策 ◦ SCPによる予防的統制 ◦ Security Hubによる設定チェック ◦ Amazon GuardDutyによる脅威検出

    ◦ IAM Access Analyzerによるリソースのチェック ◦ CloudTrailによる監査ログ保管 ◦ Amazon Inspectorによる脆弱性情報収集 ・・・などなど 41 セキュリティ対策で出来ることはたくさん
  23. • SCP(Service Control Policy) ◦ OrganizationsではSCPで各メンバーアカウントに対して、IAMユー ザやIAMロールのアクションに制限をかけることが可能 ◦ OUやAWSアカウントに対してアタッチ ◦

    管理アカウントには影響しない点に注意 ◦ 主な使用例としてはリージョン制限等 ▪ ご参考:サービスコントロールポリシーの例 ▪ リージョン制限を行うだけでも全然違うのでまずはそこから ◦ SCPについて知るには以下のブログがオススメ ▪ AWS再入門2023 Organizations SCP編 | DevelopersIO 42 SCPによる予防的統制
  24. • AWS SecurityHubはOrganizations統合可能なサービス 43 AWS SecurityHub • 統合するとメンバーアカウントの 情報が一箇所に集約 •

    リージョン集約設定により各リー ジョンの結果も一箇所に ※マルチアカウント環境でセキュリティサービスの検出結果を全て Security Hubに集約して通知してみた | DevelopersIO より
  25. • 中央設定により更に便利に ◦ 2023/11のアップデートにより委任管理アカウントから各メンバーアカ ウントの設定を細かく設定可能に ▪ Security Hub の有効化/無効化 ▪

    どのセキュリティ標準を有効とするか ▪ どのコントロール有効/無効とするか ◦ 設定は全アカウント、OU、個別のアカウントと適用先を選べる ◦ リージョン集約設定をしていれば他リージョンにも設定が展開 ◦ 参考 ▪ [アップデート]AWS Security Hubの組織への展開がセキュリティ標準やコントロー ルなどをカスタマイズして設定できるようになりました! 44 AWS SecurityHub
  26. • GuardDutyもOrganizations統合可能なサービス ◦ 委任管理アカウントで設定を行えばアカウント追加時に自動で有効 化 ▪ S3保護、RDS保護等のオプションはアカウント毎に有効無効を選 べる ◦ ただしGuardDutyではSecurityHubのように他リージョンに設定を展

    開してくれないのでリージョン毎に設定を行う必要あり ◦ 設定方法は以下のブログを参照 ▪ Organizations 環境で Amazon GuardDuty を全リージョンへ簡 単セットアップしてみる 45 Amazon GuardDuty
  27. • 設定だけでなく通知して対処するのが大事 46 SecurityHub GuardDutyの通知 • SecurityHubはOrganization統合しており、リージョン集約設定もしていれば委任 管理アカウント上の一つのリージョンで通知を集約できる • GuardDutyはデフォルトでSecurityHubと統合されており、検知結果は自動的に

    SecurityHubに取り込まれる ◦ つまりSecurityHubで発生したイベントを通知する設定を行えば、GuardDutyの イベントも含めて通知が可能に ※【小ネタ】GuardDuty 通知は Security Hub 経由で行うとリージョン集約ができて便 利 より
  28. 49 AWS請求代行サービス(組織管理プランv2) 組織管理プラン v2のポイント • 2024/4より開始した新プラン、従来より更に割引率UP • AWS Organizationsの他、AWS Control

    Towerも使用可能※1 ※1 詳細については 弊社サイトにてご確認頂くか、弊社サイトのお問い合わせページよりお問い合わせください。 ※1 中国リージョン、GovCloudは除きます。AWS Marketplaceなど一部のサービスは対象外となります。 AWS全サービス・全リージョン利用料 一律4%OFF 組織管理プランv2
  29. 51 事例紹介(塩野義製薬株式会社 様) • 一定のセキュリティレベルを担保しつ柔軟性の高いAWS環境 を構築
 • 社内インフラを有効活用したネットワーク構成、ユーザ管理体制 
 •

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

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