Slide 1

Slide 1 text

マルチアカウント運用Tips 2021.02.24 @beaverjr +"846(50)0,6

Slide 2

Slide 2 text

- 株式会社エスツー インフラテクノロジー部 エンジニア - AWS含めたインフラの設計業務担当 - 本日人生初登壇です!! よろしくお願いします 髙田 絵梨花 @beaverjr

Slide 3

Slide 3 text

本日の内容 - マルチアカウント構成の運用改善に向けて調査や検証を 進める中で、活用できそうだと感じたサービス等の概要に ついてお話します。

Slide 4

Slide 4 text

マルチアカウントとは?? 1つの会社や組織で複数のアカウントを使用すること。 Account Account Account AWSアカウントとは - AWS環境(セキュリティ、 ガバナンス、リソース)の分割単位 - AWS課金(コスト)の分割単位 マルチアカウントにより、 これらを分離した構成となる。

Slide 5

Slide 5 text

マルチアカウント構成のメリットの例 - 本番・開発環境のコンソールが明示的に分かれること により、オペレーションミスなどのリスクへの対策 (環境の分離) - アカウント単位でコストが明確に分離できる (コストの分離) ※同一アカウントの場合、コスト配分タグでの集計などが必要

Slide 6

Slide 6 text

マルチアカウント構成の課題 - 複雑なセキュリティポリシーが必要 - アカウント間の課金の取りまとめや配賦管理 - 組織・事業拡大に伴いアカウント数が増えると 構築、運用工数が増加

Slide 7

Slide 7 text

マルチアカウント構成の課題 - 複雑なセキュリティポリシーが必要 - アカウント間の課金の取りまとめや配賦管理 - 組織・事業拡大に伴いアカウント数が増えると 構築、運用工数が増加  →本日はこちらにフォーカス

Slide 8

Slide 8 text

AWS Organizations 複数のアカウントを組織化し、一元管理するためのサービス - 1つのアカウントを組織の管理 アカウントとして、 その他のメンバーアカウントを管理 - 複数AWSアカウントの一括請求 - OU(組織単位)でAWSアカウントを グループ化してポリシーを適用 マルチアカウント運用のためのサービス

Slide 9

Slide 9 text

今回の検証環境 - アカウントA:Organizationsの 管理アカウント - アカウントB,C,D: メンバーアカウント Core OU配下に所属

Slide 10

Slide 10 text

Tips: AWS SSOでログイン、ユーザー管理を便利に!!

Slide 11

Slide 11 text

AWS Single Sign-On(SSO) 昨年9月に東京リージョンにローンチ AWSアカウントやビジネスアプリケーションへのSSOアクセスを一元管理 - AWS Organizationsにある すべてのアカウントに対する アクセスと、ユーザーアクセス 許可を一元管理可能 - AWS CLI v2と統合 - SSOでのアカウント管理のほか、 Active Directoryなど既存の アイデンティティソースにも 接続可能 (今回はSSOで管理)

Slide 12

Slide 12 text

ユーザーポータルのURL ユーザーポータルのURL。カスタマイズも可能

Slide 13

Slide 13 text

アカウントA(管理アカウント) アカウントB(メンバーアカウント) ユーザーポータルログイン後の画面 マネジメントコンソール or 有効期限付きAWSクレデンシャルの払い出し 1度AWS SSOにログインすれば、セッションが切れるまでの間は アカウントの切り替えは容易 アカウントC(メンバーアカウント)

Slide 14

Slide 14 text

AWS CLI v2での利用 BXTDPOpH ŠŠŠŠŠŠŠŠ TTP@TUBSU@VSMIUUQTϢʔβʔϙʔλϧͷ63- TTP@SFHJPO440ͷϦʔδϣϯ TTP@BDDPVOU@JEΞΧ΢ϯτ*% TTP@SPMF@OBNF"ENJOJTUSBUPS"DDFTT SFHJPOίϚϯυΛ࣮ߦ͢ΔσϑΥϧτͷ Ϧʔδϣϯ ŠŠŠŠŠŠŠŠ - AWS CLI v2はAWS SSOと 連携 - .aws/configに左のように プロファイルを設定 (aws configure ssoコマンド での設定も可能) - AWSクレデンシャルを ファイルに書く必要がない

Slide 15

Slide 15 text

AWS CLI v2での利用 % aws sso login --profile プロファイル名 Attempting to automatically open the SSO authorization page in your default browser. If the browser does not open or you wish to use a different device to authorize this request, open the following URL: https://device.sso.ap-northeast-1.amazonaws.com/ Then enter the code: XXXX-XXXX Successully logged into Start URL:ユーザーポータル のURL - aws sso loginコマンドを実行すると ブラウザの認可画面に遷移する。 認可画面でAWS SSOへのログイン・ 認可するとアクセストークンが 取得される - profile毎にsso loginする必要は ない

Slide 16

Slide 16 text

嬉しいポイント - 各アカウントごとにログイン用のIAMユーザを作成する 必要がない - アカウントの切り替えが容易 - AWSクレデンシャルを設定ファイルに記載する必要が ない - 入退社時等のユーザー追加・削除・変更が容易 まとめ

Slide 17

Slide 17 text

Tips: AWS CloudFormation StackSetsで設定を 一括適用!!

Slide 18

Slide 18 text

AWS CloudFormation StackSets 複数のAWSアカウント、リージョンに対してCFnのスタックを作成できる

Slide 19

Slide 19 text

CFn StackSetsのセットアップ画面 Organizationsの管理アカウントで設定を実施 今回はAWS Configの有効化+ROOT_ACCOUNT_MFA_ENABLEDの ルール設定をCFn StackSetsで実施

Slide 20

Slide 20 text

Organizationsと連携 組織内のアカウントへ自動デプロイが可能

Slide 21

Slide 21 text

組織へのデプロイ or OUへのデプロイを選択可能 アカウント追加時の自動デプロイ設定 アカウント追加時のスタック削除設定

Slide 22

Slide 22 text

デプロイが完了したStackSetsの詳細画面 アカウントB(メンバーアカウント) アカウントC(メンバーアカウント) ※管理アカウント自身には別途StackやStackSetsを使ってデプロイする必要がある

Slide 23

Slide 23 text

メンバーアカウントにログインすると、AWS Configの設定が完了している

Slide 24

Slide 24 text

組織に新しくアカウントを追加すると、同様に自動でデプロイされる rootアカウントのMFAを設定していないので非準拠 ※1つのアカウントに対して指定する自動デプロイStackSetsは1つだけにすることを推奨 (StackSetsの依存関係を記述できないため)

Slide 25

Slide 25 text

- 設定の自動化により工数削減 - 確実に共通の設定をデプロイできる(設定もれが 起きない) - AWSアカウントの追加・削除時にも自動で共通設定の デプロイや削除が可能 嬉しいポイント まとめ

Slide 26

Slide 26 text

Tips: AWS Chatbotで通知を便利に!!

Slide 27

Slide 27 text

AWS Chatbot SlackまたはAmazon Chimeに各種AWSサービスに関する通知を 簡単に送ることが可能

Slide 28

Slide 28 text

&WFOU#VT &WFOU#VT &WFOU#VT 4/45PQJD $IBUCPU マルチアカウントで発生するイベントをまとめて通知 管理アカウント: - Chatbot・SNSの設定 - EventBusで他アカウント からChatbotへイベントを 仲介 メンバーアカウント: - EventBusで管理アカウント へイベントを送出 - 今回はAWS Configの準拠・ 非準拠の変化を通知

Slide 29

Slide 29 text

- OAuthによる認可で ChatbotとSlackをつなぐ。 設定は数クリックのみ - Organizationの管理アカウントで 設定 Slackとの連携

Slide 30

Slide 30 text

アカウントD(メンバーアカウント) アカウントDのroot MFAを有効にすると、MFAのルールが非準拠→準拠に かわり、COMPLIANTの通知がSlackに届く

Slide 31

Slide 31 text

- 複数アカウントのイベント通知ををSlackで受け取る ことが可能 - 数クリックで設定でき、複雑なコードなどが必要ない - (マルチアカウントとは関係ないが)通知が見やすい👀 嬉しいポイント まとめ

Slide 32

Slide 32 text

Tips: AWS Organizationsと連携して使用できる サービスを把握、キャッチアップする

Slide 33

Slide 33 text

"84"SUJGBDU "84#BDLVQ "84$MPVE'PSNBUJPO4UBDL4FUT "84$MPVE5SBJM "NB[PO$MPVE8BUDI&WFOUT "84$POpH "84$POUSPM5PXFS "NB[PO(VBSE%VUZ "844FDVSJUZ)VC "84440 "844ZTUFNT.BOBHFS ʜ 様々なサービスがAWS Organizationsと連携して使用可能 - AWSのブログ、RSS、Twitterなどで 最新情報をキャッチアップする - 左に記載した以外にも様々なサービスが Organizationsと連携して使用可能

Slide 34

Slide 34 text

AWS Personal Health Dashboardが Organizationsに対応 - re:Invent 2020で発表 されたアップデート - 管理アカウントから、 組織全体で発生した全て のHealthイベントを 表示・確認可能

Slide 35

Slide 35 text

本日のまとめ - AWS Organizationsと連携してマルチアカウントの 運用面を改善できそうなサービスが充実している🙌 - 日々アップデートされるAWSのサービスをキャッチ アップ・検証し改善につなげることが重要

Slide 36

Slide 36 text

公式参考資料 https://docs.aws.amazon.com/ja_jp/ - AWS公式ドキュメント - AWSにおけるマルチアカウント管理の手法とベストプラクティス IUUQTEBXTTUBUJDDPNFWFOUTKQTVNNJUTMJEF%5QEG IUUQTQBHFTBXTDMPVEDPNST5;.JNBHFT#QEG - マルチアカウント運用での権限移譲と統制の両立