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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
1k
Other Decks in Technology
See All in Technology
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
170
Agent Skils
dip_tech
PRO
0
110
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
150
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
160
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
110
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
640
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
330
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
2
250
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
First, design no harm
axbom
PRO
2
1.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
320
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
How to Ace a Technical Interview
jacobian
281
24k
Chasing Engaging Ingredients in Design
codingconduct
0
110
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