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. © ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ
 技術開発本部 SRE部
 テックリード
 
 光野

    達朗
 2012年ヤフー株式会社にサーバサイドエンジニアとして入 社。2016年4月からは株式会社VASILYでインフラエンジニ ア。2018年4月から現職。現在はAWSを専門とするSREテッ クリードとして、クラウドアーキテクチャの構築と信頼性向上 に従事。
 ウィスキーと葉巻が好き。愛してる。
 
 2
  2. © ZOZO Technologies, Inc. https://zozo.jp/
 • 日本最大級のファッション通販サイト
 • 1,300以上のショップ、7,400以上のブランドの取り扱い(ともに2019年12 月末時点)


    • 常時73万点以上の商品アイテム数と毎日平均3,200点以上の新着商品 を掲載
 • 即日配送サービス
 • ギフトラッピングサービス
 • ツケ払い など
 4
  3. © ZOZO Technologies, Inc. https://wear.jp/
 5 • 日本最大級のファッションコーディネートアプリ
 • 1,400万ダウンロード突破、コーディネート投稿総数は900万件以上(と

    もに2019年12月末時点)
 • 全世界(App Store / Google Playが利用可能な全ての国)でダウンロー ドが可能
 • 等身大の着こなしが支持を集め、10万人以上のフォロワーを持ち WEARISTAに認定された一般ユーザーも誕生

  4. © ZOZO Technologies, Inc. 前提:ZOZOテクノロジーズのAWSアカウント体系
 8 AWS Organizations (複数アカウントを一元管理するもの) マスターアカウント

    メンバーアカウント メンバーアカウント • 組織の親 • 請求の一元管理 • 主な運用者:光野 • 組織の子 • 本番環境用・事前環境用・etc. • 主な運用者:プロダクト担当
  5. © ZOZO Technologies, Inc. EC2 課題:全てのリソースがコンプライアンスを満たしていることを保証したい
 9 • 本資料におけるコンプライアンスとは
 ◦

    AWSで有効にしたい設定・無効にしたい設定
 ◦ 守ることで品質が上がるもの
 ◦ AWSベストプラクティスや各種社内文書、世のトレンドに基づいて策定
 
 (例)Security Groupの22番ポートを0.0.0.0/0で公開してはならない Security Group こういった
 「基本的な(基礎的な)設定」
 を全てのリソースで保証したい

  6. © ZOZO Technologies, Inc. 全てのリソースって・・・?
 24リージョン/175サービス
 のどこかで作られるもの
 x
 AWSアカウント
 10

    cf. https://aws.amazon.com/jp/about-aws/global-infrastructure/ AWS グローバルインフラストラクチャ | AWS
  7. © ZOZO Technologies, Inc. 課題:どうやるか
 11 • やらないという選択肢は無い
 ◦ せめてEC2,

    RDS, S3といった頻出サービスは網羅したい
 • 1アカウントなら「がんばる」も可能
 ◦ それでも大変
 • 弊社の場合、約60のアクティブアカウントを保有(増加傾向)
 ◦ 人力はほぼ不可能
 • みんなで守る
 ◦ 大事。しかし熟練者であれ操作権限を持つ以上、発生をゼロにできない
 
 • ルールに違反したリソースを自動的に検知してくれたらいいのに

  8. © ZOZO Technologies, Inc. 既に存在する:AWS Config
 12 AWS リソースの設定を記録して評価
 


    AWS Config は、AWS リソースの設定を評価、監査、審査できるサービス です。Config では、AWS リソースの設定が継続的にモニタリングおよび記 録され、望まれる設定に対する記録された設定の評価を自動的に実行で きます。
 
 cf. https://aws.amazon.com/jp/config/, 
 AWS Config(リソースのインベントリと変更の追跡)| AWS
 

  9. © ZOZO Technologies, Inc. 結論から言うと、やりたいことは全てConfigでできた
 15 • ルールの策定と非準拠リソースの通知
 ▪ Config/Chatbot連携


    • 組織全体のリソース俯瞰
 ▪ AWS Configアグリゲータ・・・・・・>
 • 特定の条件を満たすリソースの抽出
 ▪ Advanced Query
 
 • ただし、Configはリージョナルなサービス
 • マルチアカウント・マルチリージョンで準備するには工夫が必要だった

  10. © ZOZO Technologies, Inc. Configを設定する上で満たしたいこと
 16 前提:常に「組織管理者(統制担当)数<< プロダクト担当のエンジニア数」
 
 •

    Config自体の初期設定に手間をかけない
 ◦ アカウントは増減する
 
 • ルールとその評価結果だけに気を配りたい
 
 • 設定と評価結果はそれぞれ一箇所に集約したい

  11. © 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で発生したイベントをターゲットへ転送

  12. © ZOZO Technologies, Inc. 再掲:ZOZOテクノロジーズのAWSアカウント体系
 18 AWS Organizations (複数アカウントを一元管理するもの) マスターアカウント

    メンバーアカウント メンバーアカウント • 組織の親 • 請求の一元管理 • 主な運用者:光野 • 組織の子 • 本番環境用・事前環境用・etc. • 主な運用者:プロダクト担当
  13. © ZOZO Technologies, Inc. マルチアカウント・マルチリージョン連携の概要
 19 1.AWS Organizationsで アカウント間連携を強化 マスターアカウント

    メンバーアカウント 2. CFn StackSetsで Config等サービスの 有効化・設定 3. EventBridgeで イベントを集約して一 箇所から通知 至Slack
  14. © ZOZO Technologies, Inc. 24 通知
 1. Configのイベント:「AWSリソースを評価」発生 2. EventBridgeでアカウント間のイベント連携

    3. マスターアカウントからChatbotを経由してSlackへ通知 Chatbotはアカウント単位で連携を許可する必要があり、 自動化の妨げになるため一箇所に集約
  15. © ZOZO Technologies, Inc. 今後解決する必要があること
 26 • ルールの拡充
 ◦ ようやく全体の仕組みが整い、運用を開始したところ


    ◦ 効果的なConfigルールを策定し、全体の品質向上を図りたい
 
 • 非準拠リソースの修復と自動修復の是非
 ◦ Configには「修復」という設定がある
 ◦ ルール非準拠リソースに対して事前に定められたアクションを自動・手動で実行可能
 ◦ 何を自動修復にするか
 

  16. © ZOZO Technologies, Inc. まとめ
 27 • 組織全体のAWSで、コンプライアンスを満たしたいという課題があった
 ◦ 本資料におけるコンプライアンスとはAWSの設定レベルの項目で、


    守ることで品質が上がるものを指す
 
 • リージョン単位であればAWS Configでそれは解決可能であった
 
 • Organizations / CFn StackSets / EventBridgeを用いることで、
 マルチアカウント・マルチリージョンの設定・通知自動化が実現した
 
 • AWS Configを使ってスケールする品質維持に取り組みましょう!

  17. © ZOZO Technologies, Inc. We Are Hiring!
 • AWSを使ってWebサービスを作りたい人
 ◦

    できます
 • AWSをより良く使ってWebサービスを作りたい人
 ◦ 一緒に強くなりましょう
 • AWSをより良く使うための仕組みを作りたい人
 ◦ 待ってます
 • AWSをより良く使えているかを確認する仕組みを作りたい人
 ◦ 今作ってます。一緒に作りましょう
 28 => https://tech.zozo.com/recruit/ <=