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
600
AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス
AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス
t-kikuchi
August 02, 2024
Tweet
Share
More Decks by t-kikuchi
See All by t-kikuchi
ネットワークの新要素ResourceGateway&Configuration関連アップデート
tkikuchi
0
790
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
530
塩野義製薬様のAWS統合管理戦略:Organizations設計と運用の具体例
tkikuchi
0
470
JAWSPANKRATION2024-ECS Best Practice All on board(english)
tkikuchi
0
630
JAWSPANKRATION2024-ECS Best Practice All on board(japanese)
tkikuchi
0
420
AWS Organizationsありなしパターン別AWSのマルチアカウント管理Tips
tkikuchi
1
450
GuardDutyとSysdigのランタイムセキュリティ機能を比較してみる
tkikuchi
1
1.5k
AWS Healthの通知の実装について考えてみた
tkikuchi
0
1.9k
developersio-2023-aws-api-publication-checklist
tkikuchi
11
9.2k
Other Decks in Technology
See All in Technology
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
C++26 エラー性動作
faithandbrave
2
730
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
120
5分でわかるDuckDB
chanyou0311
10
3.2k
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
160
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
530
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Fireside Chat
paigeccino
34
3.1k
Automating Front-end Workflow
addyosmani
1366
200k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Optimising Largest Contentful Paint
csswizardry
33
3k
Embracing the Ebb and Flow
colly
84
4.5k
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