Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス
Search
t-kikuchi
August 02, 2024
Technology
1
510
AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス
AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス
t-kikuchi
August 02, 2024
Tweet
Share
More Decks by t-kikuchi
See All by t-kikuchi
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
360
塩野義製薬様のAWS統合管理戦略:Organizations設計と運用の具体例
tkikuchi
0
380
JAWSPANKRATION2024-ECS Best Practice All on board(english)
tkikuchi
0
560
JAWSPANKRATION2024-ECS Best Practice All on board(japanese)
tkikuchi
0
360
AWS Organizationsありなしパターン別AWSのマルチアカウント管理Tips
tkikuchi
1
350
GuardDutyとSysdigのランタイムセキュリティ機能を比較してみる
tkikuchi
1
1.4k
AWS Healthの通知の実装について考えてみた
tkikuchi
0
1.8k
developersio-2023-aws-api-publication-checklist
tkikuchi
11
9.1k
「クラスメソッドメンバーズ」で AWSをよりお得に! 活用のコツをまとめてみた
tkikuchi
0
1.8k
Other Decks in Technology
See All in Technology
地理情報データをデータベースに格納しよう~ GPUを活用した爆速データベース PG-Stromの紹介 ~
sakaik
1
130
인디 앱 개발자와 Flutter
tinyjin
0
150
いろんなものと両立する Kaggleの向き合い方
go5paopao
2
1.1k
2024年グライダー曲技世界選手権参加報告/2024 WGAC report
jscseminar
0
280
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
490
TypeScript、上達の瞬間
sadnessojisan
26
7.6k
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
120
Microsoft Fabric OneLake の実体について
ryomaru0825
0
200
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
2
1.1k
mikroBus HAT を用いた簡易ベアメタル開発
tarotene
0
320
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
データの信頼性を支える仕組みと技術
chanyou0311
6
1.7k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Building Applications with DynamoDB
mza
90
6.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Embracing the Ebb and Flow
colly
84
4.5k
Why Our Code Smells
bkeepers
PRO
334
57k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
What's in a price? How to price your products and services
michaelherold
243
12k
Designing Experiences People Love
moore
138
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Practical Orchestrator
shlominoach
186
10k
Designing for Performance
lara
604
68k
Transcript
AWS Organizationsのユースケースで学ぶ AWSアカウント管理のベストプラクティス クラスメソッド株式会社 AWS事業本部コンサルティング部 菊池 聡規 1
スライドは後で入手することが出来ますので 発表中の内容をメモする必要はありません。 写真撮影をする場合は フラッシュ・シャッター音が出ないようにご配慮ください
3 自己紹介 • 【名前】 菊池 聡規 • 【所属】 AWS 事業本部
コンサルティング部 • 【キャリア】 金融機関向けオンプレのインフラエンジニア10年ほど→ 自社Webサービスをもつ企業で3年ほど→ クラスメソッドにジョイン • 【Blog】 https://dev.classmethod.jp/author/tooti/ • 【好きな技術】 コンテナ,Terraform,Amazon EventBridge, AWS Step Functions
4 AWSを使う上での悩み こんなお悩みありませんか?
5 よくある課題:混在するシステム • システムが1AWSアカウントに混在
6 よくある課題:権限分割ができてない • 本番環境、誰でも触れちゃう問題
7 これらの課題を解決するには マルチアカウント運用!
8 AWS Well-Architected Frameworkでも • AWS Well-Architected Frameworkのセキュリティの柱においてもマル チアカウント戦略は強く推奨 ※SEC01-BP01
アカウントを使用してワークロードを分ける : - セキュリティの柱 より
9 マルチアカウント運用のメリット • 権限の分離
10 マルチアカウント運用のメリット • 請求単位の分離
11 マルチアカウント運用のメリット • リソース管理単位の分離
12 マルチアカウント運用ならではの課題
13 マルチアカウント運用の課題 • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各アカウントへのログインと権限管理 ▪
各アカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど
14 マルチアカウント運用の課題 • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各AWSアカウントへのログインと権限管理 ▪
AWSアカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやって各AWSアカウントにルールを敷くか ・・・などなど これらの課題解決をサポートするのが
15 AWS Organizations
16 今日はこれらの課題を AWS Organizationsで どう解決するのかをお伝えします
17 その前にAWS Organizationsの概要 • AWS Organizations(以後Organizasions)とは ※AWS Organizations terminology and
concepts - AWS Organizations より
18 その前にAWS Organizationsの概要 • AWS Organizations(以後Organizasions)の機能概要のおさらい ◦ コスト一括管理 ▪ 管理アカウントから全てのアカウントの請求情報にアクセス
◦ AWSアカウントの階層的なグループ化 ▪ OUという単位でアカウントをグループ化 ▪ OU単位でSCPというポリシー制限をかけたり、 CloudFormationStackSetsを実行することが可能 ◦ 他のAWSサービスとの統合 ▪ Organizations対応しているAWSサービスで組織単位で設定を実 施したり、管理することが可能
19 マルチアカウント運用の課題(再掲) • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各アカウントへのログインと権限管理 ▪
各アカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど
20 各AWSアカウントへのログインと権限管理 • マルチアカウントでのID管理の課題 IDの統合をする必要がある
21 AWS Organizationsを使わない場合 • Jumpアカウントを使ってログイン ※DevelopersIO:マルチアカウントな AWS環境のマネジメントコンソールへのアクセス方法をまとめてみた の図を元に一部改変 ➔ この方式の課題点
◆ 利用者観点 • AWSアカウント範囲でしかIDが統合できてない • スイッチ先AWSアカウント等を各ユーザで管理 ◆ 管理者観点 • AWSアカウントごとのIAM作成変更
22 AWS Organizationsを使わない場合 • 外部IDプロバイダーを使ってログイン ➔ この方式の課題点 ◆ 利用者観点 •
AWS CLI使用に一工夫必要 ◆ 管理者観点 • AWSアカウントごとのIAM作成変更 • AWSアカウントごとにIdPとの信頼 関係を結ぶ必要あり ※DevelopersIO:マルチアカウントな AWS環境のマネジメントコンソールへのアクセス方法をまとめてみた の図を元に一部改変
23 AWS Organizationsを使うと • 外部IDプロバイダーのIDを使ってIAM Identity Centerでログイン ➔ 便利になる点 ◆
利用者観点 • 普段使っているIDでログイン • AWS CLIサポート ◆ 管理者観点 • 各AWSアカウントへのIAMロール の作成・変更が不要 ➔ 設計が必要なポイント ◆ 許可セットの権限設計 ◆ ユーザ、アカウント、許可セットの関連 付け
24 AWSアカウントのベースライン設定の統一 • マルチアカウントでの各AWSアカウント設定の課題 ➔ 以下のような設定は各アカウントで合わせておきたい(一例) • Amazon GuardDuty設定 •
AWS Security Hub設定 • AWS CloudTrail設定 • AWS Config設定 • Amazon S3ブロックパブリックアクセス AWSアカウント作成 時に毎回初期設定 する必要がある • Amazon Detective設定 • VPC設定 • AWS Resource Access Manager • AWS Backup設定 設定変更の検知 ・ 設定変更防止
25 AWS Organizationsを使わない場合 • AWSアカウント作成時の初期設定 ◦ IaCを使用してベースライン設定を構築 ▪ AWSアカウント新規作成時にAWS CloudFormationやTerraform
を手動実行 ▪ ただしAWS CloudFormationでサポートされていないような設定も ある(AWS Security Hubのメンバーアカウント招待等) • 自作スクリプト等 で対応する必要あり
26 AWS Organizationsを使わない場合 • 設定変更の検知 ◦ AWS Security Hub: ▪
AWSアカウント内の危険なAWSリソース設定を監視 ◦ AWS Config: ▪ AWSアカウント内の各リソースの設定変更履歴を保持 ▪ 設定変更内容を評価して通知等することも可能 ◦ どちらも非AWS Organizations環境でも、一つの管理用AWSアカウ ントに情報集約することは可能 ➔ 課題点 ◆ 新規作成AWSアカウントごとに 有効化や招待等の設定をする必 要がある
27 AWS Organizationsを使うと 組織・OU単位で初 期設定を統一 組織・OU単位で設 定変更の検知や防 止を設定 組織という単位 で設
定ができるように OUという単位 で設 定ができるように
28 AWS Organizationsを使うと • AWS Organizations連携サービスによる組織単位の設定 ◦ 組織のメンバーアカウントとしてAWSアカウントを作成すれば自動で 有効化や招待を実行 ◦
Security HubやAWS Config等ではメンバーアカウント側で一部の設 定変更が不可となるので設定変更防止効果もある ◦ SCPを使って特定サービスの無効化を禁止するといった対策もとれ る
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 等のデプロイ手段 が用意されている メンバーズの 御客様 メンバーズ 以外の御客様
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/ メンバーズ 以外の御客様
31 AWS Control Tower • AWS Control Tower ◦ AWSアカウント作成時:組織に追加されるAWSアカウントを対象にロ
グ集約を自動設定 ◦ 設定変更検知・防止:SCPで変更防止が可能に。組織やOU単位で AWS Confingのルールが簡単に適用可能 ※AWS Black Belt Online Seminar AWS Control Tower 基礎編 より引用
32 マルチアカウント運用の課題(再掲) • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各アカウントへのログインと権限管理 ▪
各アカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど
33 Consolidating billing for AWS Organizations • AWS Organizations使用時のコスト観点でのメリット ◦
組織内AWSアカウントの料金をまとめて請求※ ◦ ボリュームディスカウントが組織全体で計算される ◦ Reserved InstancesとSavings Plansの割引共有 ◦ 複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合は弊社 CMP上で設定したプロジェクト単位でのご請求となります
ボリュームディスカウント 34 • AWSではボリュームディスカウントという仕組みがあり使用量が増える ほど安くなるリソースが存在 • Organizationsを使うとそれが組織全体に適用 メンバーズの 御客様 メンバーズ
以外の御客様
35 AWS OrganizationsでのRI/SP • Organizationsなら余剰RI/SPを他アカウントに共有可能 メンバーズの 御客様 メンバーズ 以外の御客様
• 超過防止に役立つ機能 ◦ Cost Anomaly Detection ▪ 機械学習によりコスト異常を検知し通知してくれるサービス ▪ Organizationsの場合、配下のアカウント全てを見てくれる
▪ モニター種別とアラートサブスクリプションの組み合わせで見るべ き対象と通知先を決定 36 複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合、誤検知の可能性がある点をご了承ください メンバーズの 御客様 メンバーズ 以外の御客様
• 超過防止に役立つ機能 ◦ AWS Budgets ▪ 事前に予算を決めておいて超過した場合に通知 ▪ Organizationsの場合、配下のアカウント全てを一箇所で設定 37
複数AWSアカウントのコストを一元管理 ※メンバーズにてAWSアカウントを使用されている場合、誤検知の可能性がある点をご了承ください メンバーズの 御客様 メンバーズ 以外の御客様
• 超過防止に役立つ機能 ◦ ClassmethodMembersPortalの料金アラーム機能 ▪ 事前に予算を決めておいて超過した場合に通知 ▪ 3段階で設定可能 38 複数AWSアカウントのコストを一元管理
メンバーズの 御客様
• コスト見直しに役立つ機能 ◦ Cost Optimization Hub ▪ 特定のコスト最適化推奨事項をレコメンドするサービス ▪ Organizationsの場合、配下のアカウント全てを一括表示
39 複数AWSアカウントのコストを一元管理 ※新しいコスト最適化ハブは、推奨アクションを一元化してコストを節約します | Amazon Web Services ブログ より ※メンバーズにてAWSアカウントを使用されている場合、 RI/SP推奨事項は利用不可 メンバーズの 御客様 メンバーズ 以外の御客様
40 マルチアカウント運用の課題(再掲) • マルチアカウントで運用すると今度はマルチアカウントならではの悩み が・・・ ◦ アカウント管理 ▪ 各アカウントへのログインと権限管理 ▪
各アカウントのベース設定の統一 ◦ コスト管理 ▪ 各アカウントのコスト管理が複雑になり全体のコスト最適化が難し くなる ◦ セキュリティ統制 ▪ どうやってAWSアカウント全体のセキュリティを統制するか ・・・などなど
• 主なセキュリティ対策 ◦ SCPによる予防的統制 ◦ Security Hubによる設定チェック ◦ Amazon GuardDutyによる脅威検出
◦ IAM Access Analyzerによるリソースのチェック ◦ CloudTrailによる監査ログ保管 ◦ Amazon Inspectorによる脆弱性情報収集 ・・・などなど 41 セキュリティ対策で出来ることはたくさん
• SCP(Service Control Policy) ◦ OrganizationsではSCPで各メンバーアカウントに対して、IAMユー ザやIAMロールのアクションに制限をかけることが可能 ◦ OUやAWSアカウントに対してアタッチ ◦
管理アカウントには影響しない点に注意 ◦ 主な使用例としてはリージョン制限等 ▪ ご参考:サービスコントロールポリシーの例 ▪ リージョン制限を行うだけでも全然違うのでまずはそこから ◦ SCPについて知るには以下のブログがオススメ ▪ AWS再入門2023 Organizations SCP編 | DevelopersIO 42 SCPによる予防的統制
• AWS SecurityHubはOrganizations統合可能なサービス 43 AWS SecurityHub • 統合するとメンバーアカウントの 情報が一箇所に集約 •
リージョン集約設定により各リー ジョンの結果も一箇所に ※マルチアカウント環境でセキュリティサービスの検出結果を全て Security Hubに集約して通知してみた | DevelopersIO より
• 中央設定により更に便利に ◦ 2023/11のアップデートにより委任管理アカウントから各メンバーアカ ウントの設定を細かく設定可能に ▪ Security Hub の有効化/無効化 ▪
どのセキュリティ標準を有効とするか ▪ どのコントロール有効/無効とするか ◦ 設定は全アカウント、OU、個別のアカウントと適用先を選べる ◦ リージョン集約設定をしていれば他リージョンにも設定が展開 ◦ 参考 ▪ [アップデート]AWS Security Hubの組織への展開がセキュリティ標準やコントロー ルなどをカスタマイズして設定できるようになりました! 44 AWS SecurityHub
• GuardDutyもOrganizations統合可能なサービス ◦ 委任管理アカウントで設定を行えばアカウント追加時に自動で有効 化 ▪ S3保護、RDS保護等のオプションはアカウント毎に有効無効を選 べる ◦ ただしGuardDutyではSecurityHubのように他リージョンに設定を展
開してくれないのでリージョン毎に設定を行う必要あり ◦ 設定方法は以下のブログを参照 ▪ Organizations 環境で Amazon GuardDuty を全リージョンへ簡 単セットアップしてみる 45 Amazon GuardDuty
• 設定だけでなく通知して対処するのが大事 46 SecurityHub GuardDutyの通知 • SecurityHubはOrganization統合しており、リージョン集約設定もしていれば委任 管理アカウント上の一つのリージョンで通知を集約できる • GuardDutyはデフォルトでSecurityHubと統合されており、検知結果は自動的に
SecurityHubに取り込まれる ◦ つまりSecurityHubで発生したイベントを通知する設定を行えば、GuardDutyの イベントも含めて通知が可能に ※【小ネタ】GuardDuty 通知は Security Hub 経由で行うとリージョン集約ができて便 利 より
47 マルチアカウントいいね 😀 ってなりましたよね?
48 AWS Organizationsに興味が出てきたという方
49 AWS請求代行サービス(組織管理プランv2) 組織管理プラン v2のポイント • 2024/4より開始した新プラン、従来より更に割引率UP • AWS Organizationsの他、AWS Control
Towerも使用可能※1 ※1 詳細については 弊社サイトにてご確認頂くか、弊社サイトのお問い合わせページよりお問い合わせください。 ※1 中国リージョン、GovCloudは除きます。AWS Marketplaceなど一部のサービスは対象外となります。 AWS全サービス・全リージョン利用料 一律4%OFF 組織管理プランv2
50 マルチアカウントにしたい、 でもどこから手をつけたらいいか・・・ という方
51 事例紹介(塩野義製薬株式会社 様) • 一定のセキュリティレベルを担保しつ柔軟性の高いAWS環境 を構築 • 社内インフラを有効活用したネットワーク構成、ユーザ管理体制 •
組織的なAWS運用体制を構築 。クラスメソッドはチームで支援 • 社内の複数の部署で契約したAWSアカウントが点在 • 分散管理によってBCP、セキュリティリスクを懸念 • 属人的な管理体制からAWS運用の社内リソースが不足 マルチアカウントご支援ポイント • 塩野義製薬全体のAWSアカウントを横断す るセキュリティ監視の一元化 • IAM Identity Centerを使って組織的なア カウントの一元管理と権限分割を実現 お客様の声 「既存の運用や構成を考慮して変更したいも のや追加したい要件・要望などをこちらから 伝え、その都度柔軟に応えていただけまし た。要望を伝えたあとのレスポンスの速さに も驚きましたね。IAMポリシーに関しても丁 寧に教えていただいたことで細かく作り込む ことができました。満足のいくものになり、 大変感謝しております」 before after
52 事例紹介(株式会社アイスタイル 様) • AWSのベストプラクティスに沿った構成 を設計・構築 • 3カ月でマルチアカウント構成やオンプレミスとのネットワーク接続等を実現 •
TerraformによるIaC化でインフラ構築・運用やアカウント設定を自動化 • AWS移行のファーストステップとなる共通基盤の設計・構築ノウハウが欲し い • AWSへの早期移行に向けて短期間で共通基盤を構築したい • インフラ構築・運用の負荷を軽減したい マルチアカウントご支援ポイント • AWS Control Towerによるマルチアカウン ト構成設計・構築 • AWS IAM Identity Centerによるユーザー 管理設計・構築 • AWS Transit Gatewayによるオンプレミス 環境とのネットワーク接続設計・構築 お客様の声 「内製開発を中心に進めていたものの、内部 のエンジニアだけでは判断できないことも多 く、折に触れてレビューをいただいたり、的 確な助言をいただいたりできたことは、自信 を持って前に進むうえでも心強い味方となり ました。トラブルシューティングや、最新技 術の調査においてもクラスメソッドからの知 見の提供によって乗り切ることができまし た」 before after
53 自分たちで頑張ってみるぞ! という方
54 Classmethod Cloud Guidebook • マルチアカウント関連ナレッジの他にもAWSガイドラインサンプル等、様々なコンテンツを 掲載 AWS活用のノウハウが詰まったナレッジ集 クラスメソッドの「 AWS請求代行」をご利用の御客様に無料公開
例 例
55