Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSフルマネージドサービスにおける監視と運用 / Monitoring and Operat...
Search
Yusuke Kageyama
November 18, 2020
Technology
1
1.6k
AWSフルマネージドサービスにおける監視と運用 / Monitoring and Operation in AWS Fully Managed Services
ZOZO Technologies Meetup〜ZOZOが提供するEC支援サービスの裏側〜
Yusuke Kageyama
November 18, 2020
Tweet
Share
More Decks by Yusuke Kageyama
See All by Yusuke Kageyama
大規模トラフィックを支えるサーバーレスアーキテクチャ / Serverless Architecture to Support Large Scale Traffic
mtkage
0
990
Other Decks in Technology
See All in Technology
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
530
[CMU-DB-2025FALL] Apache Fluss - A Streaming Storage for Real-Time Lakehouse
jark
0
120
品質のための共通認識
kakehashi
PRO
3
260
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
150
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
210
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
120
RAG/Agent開発のアップデートまとめ
taka0709
0
180
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
230
因果AIへの招待
sshimizu2006
0
980
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
1
1.5k
1人1サービス開発しているチームでのClaudeCodeの使い方
noayaoshiro
1
280
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Context Engineering - Making Every Token Count
addyosmani
9
520
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
The World Runs on Bad Software
bkeepers
PRO
72
12k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Practical Orchestrator
shlominoach
190
11k
Transcript
AWSフルマネージドサービスにおける 監視と運用 ZOZO Technologies Meetup 〜ZOZOが提供するEC支援サービスの裏側〜 株式会社ZOZOテクノロジーズ SRE部 BtoBチーム 蔭山
雄介 Copyright © ZOZO Technologies, Inc.
© ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ 技術開発本部 SRE部 BtoBチーム 蔭山 雄介
▪経歴 2016年: 株式会社アラタナに新卒入社 2020年: 株式会社ZOZOテクノロジーズに転籍 ▪担当業務 2016年 〜 2018年: ECカートシステムの開発・設計(PG/SE) 2019年 〜 2020年: FBZ・中国版ZOZOTOWN「ZOZO」の開発・運用 (PG/SRE) 2
© ZOZO Technologies, Inc. FBZのシステム構成 3
© ZOZO Technologies, Inc. FBZで利用しているAWSサービス(一部抜粋) 4 Lambda Step Functions AWS
Batch API Gateway CloudFront DynamoDB Elasticsearch Service S3 SQS SES SNS CloudWatch AWS WAF Cognito Amazon VPC
© ZOZO Technologies, Inc. FBZで利用しているAWSサービス(一部抜粋) 5 Lambda Step Functions AWS
Batch API Gateway CloudFront DynamoDB Elasticsearch Service S3 SQS SES SNS CloudWatch AWS WAF Cognito Amazon VPC 運用・監視って必要?
© ZOZO Technologies, Inc. FBZで利用しているAWSサービス(一部抜粋) 6 Lambda Step Functions AWS
Batch API Gateway CloudFront DynamoDB Elasticsearch Service S3 SQS SES SNS CloudWatch AWS WAF Cognito Amazon VPC 必要です
© ZOZO Technologies, Inc. マネージドサービスに監視・運用が必要な理由 • サービスを運営するためにマネージドサービスを利用することで必要不可欠なインフラ管理はなくなった • サービスを安定して運営していくには監視は必要不可欠
◦ マネージドサービスといえど落ちることはある ◦ バグが紛れ込んでサービスダウンする可能性も ◦ etc... • マネージドサービスを利用していても、システム上どうしても運用は必要となる ◦ アプリケーションのリリース ◦ 運用上発生するイレギュラーなデータ補正 ◦ 新規店舗出店時のデータ一式の準備 ◦ etc... 7
© ZOZO Technologies, Inc. どのように監視・運用していくか 8 約 50 ご利用いただいてる店 舗さま
約 150 公開している APIエンドポイント 約 330,000 取り扱っている 総商品数 約 350,000 2019年度 出荷データ連携数 約 500 Lambda関数 約 100 S3バケット 約 750 DynamoDBテーブル 約 1,500 SQSキュー
© ZOZO Technologies, Inc. どのように監視・運用していくか 9 約 50 ご利用いただいてる店 舗さま
約 150 公開している APIエンドポイント 約 330,000 取り扱っている 総商品数 約 350,000 2019年度 出荷データ連携数 約 500 Lambda関数 約 100 S3バケット 約 750 DynamoDBテーブル 約 1,500 SQSキュー 少人数での監視・運用は厳しい
© ZOZO Technologies, Inc. どのように監視・運用していくか 10 約 50 ご利用いただいてる店 舗さま
約 150 公開している APIエンドポイント 約 330,000 取り扱っている 総商品数 約 350,000 2019年度 出荷データ連携数 約 500 Lambda関数 約 100 S3バケット 約 750 DynamoDBテーブル 約 1,500 SQSキュー 監視・運用するための仕組み化
© ZOZO Technologies, Inc. FBZでの監視 11
© ZOZO Technologies, Inc. FBZでの監視 12
© ZOZO Technologies, Inc. PagerDuty 13
© ZOZO Technologies, Inc. PagerDuty 運用担当への通知・エスカレーションを行うインシデント管理サービス。 各監視サービスの異常検知情報を集約し、連携された情報を元に対応を行う。 14
© ZOZO Technologies, Inc. CloudWatch メトリクスでの異常値検知 15
© ZOZO Technologies, Inc. CloudWatch メトリクスでの異常値検知 各マネージドサービスのCloudWatch メトリクスで異常値を検知できるようアラームを適切に設定。 異常があった場合にはPagerDutyへ通知する。 16
© ZOZO Technologies, Inc. データ解析によるデータ異常検知 17
© ZOZO Technologies, Inc. データ解析によるデータ異常検知 Elasticsearch Serviceに蓄積されたデータを検索し、一致するデータを通知するシステムを独自構築。 必要であれば運用でデータリカバリを実施する。 18
© ZOZO Technologies, Inc. アプリケーションログ解析 19
© ZOZO Technologies, Inc. アプリケーションログ解析 各Lambda関数がCloudWatch Logsへ出力したログを解析するシステムを独自構築。 ログ内容を解析し、適切にDatadog・PagerDutyへと連携する。 参考記事: https://techblog.zozo.com/entry/serverless-monitoring-lambda
20
© ZOZO Technologies, Inc. Datadog 21
© ZOZO Technologies, Inc. Datadog 連携されたログ情報や各マネージドサービスの稼働状況の解析に利用。 異常が検知された場合は通知を行う。 22
© ZOZO Technologies, Inc. Autify 23
© ZOZO Technologies, Inc. Autify FBZをご利用いただいている自社ECサイト上でE2Eテストを実施。 自社ECサイト運営に異常がないかを常にチェックし、異常があれば通知する。 参考記事: https://techblog.zozo.com/entry/autify-introduction
https://autify.com/ja/stories/zozo-technologies 24
© ZOZO Technologies, Inc. FBZでの運用 • 独自運用ツール ◦ データ不整合チェック ◦
データ補正用Lambda関数 • ボトルネック解析 ◦ X-Rayでの分散トレーシング • リソース管理 ◦ Serverless Frameworkでのアプリケーション管理 ◦ CloudFormationでの店舗別リソース管理 25
© ZOZO Technologies, Inc. データ不整合チェック ZOZOTOWNとFBZ間でのデータ不整合が発生していないか定期的に確認するシステム。 異常があった場合はその状況に応じてデータリカバリまで自動で行う。 26
© ZOZO Technologies, Inc. データ補正用Lambda関数 SQLのように一括アップデートはできないため、データ抽出と補正用のLambda関数を準備。 データ抽出と補正ロジックLambda関数を準備し、実行することでデータの更新を行う。 27
© ZOZO Technologies, Inc. X-Rayでの分散トレーシング X-RayでLambda関数単位での分散トレーシングを実施。 ボトルネックの解析からパーセンタイル値の確認までAWSコンソール上で確認可能。 28
© ZOZO Technologies, Inc. Serverless Frameworkでのアプリケーション管理 Serverless Frameworkを用いて各Lambdaアプリケーションを管理。 リリースもServerless Framework経由で実施することでコードアップロードなどの作業を省力化。
29
© ZOZO Technologies, Inc. CloudFormationでの店舗別リソース管理 店舗別に必要なリソース(S3、DynamoDB、SQSなど)はCloudFormationテンプレートで一括管理。 既存店舗でもリソース更新が必要になった場合はスタック更新することで一括対応可能。 30
© ZOZO Technologies, Inc. まとめ • マネージドサービスのみを利用してるからといって監視・運用は不要にはならない • マネージドサービスにはCloudWatch
メトリクスのようなサービスの稼働状況を把握するためのサービスもあるの で、そちらを活用しながら監視・運用することで管理コストを減らせる • DatadogやAutifyのようなサービス監視に特化したSaaSもあるため、状況に応じて各監視サービスを使い分けるこ とでサービスに適した監視体制を作れる • 作られたサービスの特性上、監視サービスとマッチしていないこともあるため、時には独自の監視システムも作る ことも大事 31
None