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
AWSフルマネージドサービスにおける監視と運用 / Monitoring and Operat...
Search
Yusuke Kageyama
November 18, 2020
Technology
1
1.5k
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
930
Other Decks in Technology
See All in Technology
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
410
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
260
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
270
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
210
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
110
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
120
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
180
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
120
PO初心者が考えた ”POらしさ”
nb_rady
0
190
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
13k
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
300
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
170
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Gamification - CAS2011
davidbonilla
81
5.3k
Statistics for Hackers
jakevdp
799
220k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Designing for humans not robots
tammielis
253
25k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Typedesign – Prime Four
hannesfritz
42
2.7k
BBQ
matthewcrist
89
9.7k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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