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

AWS Configを用いたマルチアカウント・マルチリージョンでのリソース把握とコンプライアンス維持への取り組みについて / Using AWS Config for Multi-Account, Multi-Region Resource Understanding and Maintaining Compliance

Tatsuro Mitsuno
September 08, 2020

AWS Configを用いたマルチアカウント・マルチリージョンでのリソース把握とコンプライアンス維持への取り組みについて / Using AWS Config for Multi-Account, Multi-Region Resource Understanding and Maintaining Compliance

Title
AWS Configを用いたマルチアカウント・マルチリージョンでのリソース把握とコンプライアンス維持への取り組みについて

Speaker
光野 達朗 Tatsuro Mitsuno (技術開発本部 SRE部 テックリード)

2020/09/08 第一回 AWSマルチアカウント事例祭り
https://zozotech-inc.connpass.com/event/185894/
#ama_fes01

https://youtu.be/OV7r1xWuvSg

Tatsuro Mitsuno

September 08, 2020
Tweet

More Decks by Tatsuro Mitsuno

Other Decks in Technology

Transcript

  1. AWS Configを用いた

    マルチアカウント・マルチリージョンでの

    リソース把握とコンプライアンス維持への取り組みについて

    【オンライン】第一回 AWSマルチアカウント事例祭り

    2020/09/08

    株式会社ZOZOテクノロジーズ

    技術開発本部 SRE部 テックリード

    光野達朗
    Copyright © ZOZO Technologies, Inc.

    View Slide

  2. © ZOZO Technologies, Inc.
    株式会社ZOZOテクノロジーズ

    技術開発本部 SRE部

    テックリード


    光野 達朗

    2012年ヤフー株式会社にサーバサイドエンジニアとして入
    社。2016年4月からは株式会社VASILYでインフラエンジニ
    ア。2018年4月から現職。現在はAWSを専門とするSREテッ
    クリードとして、クラウドアーキテクチャの構築と信頼性向上
    に従事。

    ウィスキーと葉巻が好き。愛してる。

    
 2

    View Slide

  3. © ZOZO Technologies, Inc.
    プロダクト紹介

    3

    View Slide

  4. © ZOZO Technologies, Inc.
    https://zozo.jp/

    ● 日本最大級のファッション通販サイト

    ● 1,300以上のショップ、7,400以上のブランドの取り扱い(ともに2019年12
    月末時点)

    ● 常時73万点以上の商品アイテム数と毎日平均3,200点以上の新着商品
    を掲載

    ● 即日配送サービス

    ● ギフトラッピングサービス

    ● ツケ払い など

    4

    View Slide

  5. © ZOZO Technologies, Inc.
    https://wear.jp/

    5
    ● 日本最大級のファッションコーディネートアプリ

    ● 1,400万ダウンロード突破、コーディネート投稿総数は900万件以上(と
    もに2019年12月末時点)

    ● 全世界(App Store / Google Playが利用可能な全ての国)でダウンロー
    ドが可能

    ● 等身大の着こなしが支持を集め、10万人以上のフォロワーを持ち
    WEARISTAに認定された一般ユーザーも誕生


    View Slide

  6. © ZOZO Technologies, Inc.
    本発表で扱う範囲

    個々のプロダクトではなく

    組織全体のAWS運用に関する話

    (今日はマルチアカウント事例祭りです)

    6

    View Slide

  7. © ZOZO Technologies, Inc.
    本発表を通してお伝えしたいこと

    AWS Configでスケールする

    品質維持環境を作りましょう!

    (人手を惜しむ。自動化大事。)

    7

    View Slide

  8. © ZOZO Technologies, Inc.
    前提:ZOZOテクノロジーズのAWSアカウント体系

    8
    AWS Organizations
    (複数アカウントを一元管理するもの)
    マスターアカウント
    メンバーアカウント メンバーアカウント
    ● 組織の親
    ● 請求の一元管理
    ● 主な運用者:光野
    ● 組織の子
    ● 本番環境用・事前環境用・etc.
    ● 主な運用者:プロダクト担当

    View Slide

  9. © ZOZO Technologies, Inc.
    EC2
    課題:全てのリソースがコンプライアンスを満たしていることを保証したい

    9
    ● 本資料におけるコンプライアンスとは

    ○ AWSで有効にしたい設定・無効にしたい設定

    ○ 守ることで品質が上がるもの

    ○ AWSベストプラクティスや各種社内文書、世のトレンドに基づいて策定


    (例)Security Groupの22番ポートを0.0.0.0/0で公開してはならない
    Security Group


    こういった

    「基本的な(基礎的な)設定」

    を全てのリソースで保証したい


    View Slide

  10. © ZOZO Technologies, Inc.
    全てのリソースって・・・?

    24リージョン/175サービス

    のどこかで作られるもの

    x

    AWSアカウント

    10
    cf. https://aws.amazon.com/jp/about-aws/global-infrastructure/
    AWS グローバルインフラストラクチャ | AWS

    View Slide

  11. © ZOZO Technologies, Inc.
    課題:どうやるか

    11
    ● やらないという選択肢は無い

    ○ せめてEC2, RDS, S3といった頻出サービスは網羅したい

    ● 1アカウントなら「がんばる」も可能

    ○ それでも大変

    ● 弊社の場合、約60のアクティブアカウントを保有(増加傾向)

    ○ 人力はほぼ不可能

    ● みんなで守る

    ○ 大事。しかし熟練者であれ操作権限を持つ以上、発生をゼロにできない


    ● ルールに違反したリソースを自動的に検知してくれたらいいのに


    View Slide

  12. © ZOZO Technologies, Inc.
    既に存在する:AWS Config

    12
    AWS リソースの設定を記録して評価


    AWS Config は、AWS リソースの設定を評価、監査、審査できるサービス
    です。Config では、AWS リソースの設定が継続的にモニタリングおよび記
    録され、望まれる設定に対する記録された設定の評価を自動的に実行で
    きます。


    cf. https://aws.amazon.com/jp/config/, 

    AWS Config(リソースのインベントリと変更の追跡)| AWS


    View Slide

  13. © ZOZO Technologies, Inc.
    13

    View Slide

  14. © ZOZO Technologies, Inc.
    14

    View Slide

  15. © ZOZO Technologies, Inc.
    結論から言うと、やりたいことは全てConfigでできた

    15
    ● ルールの策定と非準拠リソースの通知

    ■ Config/Chatbot連携

    ● 組織全体のリソース俯瞰

    ■ AWS Configアグリゲータ・・・・・・>

    ● 特定の条件を満たすリソースの抽出

    ■ Advanced Query


    ● ただし、Configはリージョナルなサービス

    ● マルチアカウント・マルチリージョンで準備するには工夫が必要だった


    View Slide

  16. © ZOZO Technologies, Inc.
    Configを設定する上で満たしたいこと

    16
    前提:常に「組織管理者(統制担当)数<< プロダクト担当のエンジニア数」


    ● Config自体の初期設定に手間をかけない

    ○ アカウントは増減する


    ● ルールとその評価結果だけに気を配りたい


    ● 設定と評価結果はそれぞれ一箇所に集約したい


    View Slide

  17. © ZOZO Technologies, Inc.
    17
    活躍するもの

    AWS Organizations

    ● 複数のAWSアカウントを関連付け、親子関係(組織)を作る

    ● 統合されたサービスはIAM権限が組織内で解決され、設定の一括反映を可能とする

    AWS CloudFormation(CFn) Service Managed StackSets

    ● JSON/YAMLでリソースを定義し、複数のリージョン・アカウントを指定して実行

    ● 統合が有効な場合、特定の組織を対象とした自動反映が可能

    ● Service Managed StackSetsとすることで、新規アカウントへ勝手に反映される

    Amazon EventBridge

    ● Amazon CloudWatch Eventsと呼ばれていたもの

    ● SaaSやAWSで発生したイベントをターゲットへ転送


    View Slide

  18. © ZOZO Technologies, Inc.
    再掲:ZOZOテクノロジーズのAWSアカウント体系

    18
    AWS Organizations
    (複数アカウントを一元管理するもの)
    マスターアカウント
    メンバーアカウント メンバーアカウント
    ● 組織の親
    ● 請求の一元管理
    ● 主な運用者:光野
    ● 組織の子
    ● 本番環境用・事前環境用・etc.
    ● 主な運用者:プロダクト担当

    View Slide

  19. © ZOZO Technologies, Inc.
    マルチアカウント・マルチリージョン連携の概要

    19
    1.AWS Organizationsで
    アカウント間連携を強化
    マスターアカウント
    メンバーアカウント
    2. CFn StackSetsで
    Config等サービスの
    有効化・設定
    3. EventBridgeで
    イベントを集約して一
    箇所から通知
    至Slack

    View Slide

  20. © ZOZO Technologies, Inc.
    20
    検知


    View Slide

  21. © ZOZO Technologies, Inc.
    21
    1.各メンバーアカウントの
     各リージョンに対してConfigを有効化
    Configの検証ログは専用アカウントへ集約
    (今回はこれ以上、出番なし)

    View Slide

  22. © ZOZO Technologies, Inc.
    22
    2.自分自身の各リージョンに対して、Organization Config Ruleを作成
    a. 組織アカウント全てにルールが反映される

    View Slide

  23. © ZOZO Technologies, Inc.
    23
    通知


    View Slide

  24. © ZOZO Technologies, Inc.
    24
    通知

    1. Configのイベント:「AWSリソースを評価」発生
    2. EventBridgeでアカウント間のイベント連携
    3. マスターアカウントからChatbotを経由してSlackへ通知
    Chatbotはアカウント単位で連携を許可する必要があり、
    自動化の妨げになるため一箇所に集約

    View Slide

  25. © ZOZO Technologies, Inc.
    25

    View Slide

  26. © ZOZO Technologies, Inc.
    今後解決する必要があること

    26
    ● ルールの拡充

    ○ ようやく全体の仕組みが整い、運用を開始したところ

    ○ 効果的なConfigルールを策定し、全体の品質向上を図りたい


    ● 非準拠リソースの修復と自動修復の是非

    ○ Configには「修復」という設定がある

    ○ ルール非準拠リソースに対して事前に定められたアクションを自動・手動で実行可能

    ○ 何を自動修復にするか


    View Slide

  27. © ZOZO Technologies, Inc.
    まとめ

    27
    ● 組織全体のAWSで、コンプライアンスを満たしたいという課題があった

    ○ 本資料におけるコンプライアンスとはAWSの設定レベルの項目で、

    守ることで品質が上がるものを指す


    ● リージョン単位であればAWS Configでそれは解決可能であった


    ● Organizations / CFn StackSets / EventBridgeを用いることで、

    マルチアカウント・マルチリージョンの設定・通知自動化が実現した


    ● AWS Configを使ってスケールする品質維持に取り組みましょう!


    View Slide

  28. © ZOZO Technologies, Inc.
    We Are Hiring!

    ● AWSを使ってWebサービスを作りたい人

    ○ できます

    ● AWSをより良く使ってWebサービスを作りたい人

    ○ 一緒に強くなりましょう

    ● AWSをより良く使うための仕組みを作りたい人

    ○ 待ってます

    ● AWSをより良く使えているかを確認する仕組みを作りたい人

    ○ 今作ってます。一緒に作りましょう

    28
    => https://tech.zozo.com/recruit/ <=

    View Slide

  29. View Slide