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 SNSでエラー通知させ、SLOについて考える
Search
melanmeg
July 08, 2024
Programming
1
100
AWS SNSでエラー通知させ、SLOについて考える
以下、登壇資料。
JAWS-UG SRE支部 #9 初心者LT大会
https://jawsug-sre.connpass.com/event/321380/
melanmeg
July 08, 2024
Tweet
Share
More Decks by melanmeg
See All by melanmeg
今までアウトプットしてこなかった私が、今年からアウトプットを始めてわかったこと
melanmeg
3
340
コマンド一発で、本格的なおうちKubernetesを構築する
melanmeg
3
230
Keycloakの歴史とSSO
melanmeg
0
72
Other Decks in Programming
See All in Programming
Hack Claude Code with Claude Code
choplin
4
2.1k
VS Code Update for GitHub Copilot
74th
2
650
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
120
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
170
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
110
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
820
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
530
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
140
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
450
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
10
5.3k
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
170
Is Xcode slowly dying out in 2025?
uetyo
1
270
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Building Adaptive Systems
keathley
43
2.7k
For a Future-Friendly Web
brad_frost
179
9.8k
Speed Design
sergeychernyshev
32
1k
Building an army of robots
kneath
306
45k
Why Our Code Smells
bkeepers
PRO
336
57k
Code Review Best Practice
trishagee
69
18k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Transcript
AWS SNSでエラー通知させ、 SLOについて考える 2024/7/8 JAWS-UG SRE支部#9 初心者LT大会 @melanmeg
自己紹介 株式会社スカイウイル インフラエンジニア 3年目 山本 直矢 @melanmeg 趣味:ホロライブやツイキャスを見ること 業務:現在は、k6やKeycloakを触っている
アジェンダ • エラー通知の導入方法 • メトリクスフィルターとサブスクリプションフィルター • メトリクスフィルター構成 • サブスクリプションフィルター構成 •
SLOについて考える
{ "logs": { "logs_collected": { "files": { "collect_list": [ {
"file_path": "/var/log/syslog", "log_group_name": "/var/log/syslog", "log_stream_name": "{instance_id}", "timestamp_format": "%b %d %H:%M:%S" } ] } } } } ログ出力設定ファイル エラー通知の導入方法 1. 適当なVMを用意 2. ログドライバーをインストール 3. ログ出力設定 4. CloudWatch側でログを検知し、 メール通知する AWSでログの中からエラーログだけを 通知する監視基盤がほしい あるお客さんの要望
メトリクスフィルターとサブスクリプションフィルター メリット デメリット メトリクスフィルター アラームを組み合わせて メール通知可能 メール内容のカスタマイズができない サブスクリプション フィルター ログ内容をメールに含めることが可能
直接メール通知することができず、 Lambdaを経由するなどが必要 一旦、メトリクスフィルターを検証 今回「ERROR」という文字を含む場合アラート発生させる
• 長くてよく分からない… • ログ内容も欲しい… メトリクスフィルター構成 構成 メール内容
サブスクリプションフィルター構成 • パッと見で分かりやすい • ログ内容も分かる 構成 メール内容
Lambdaの整形コード ※EventBridgeによる死活監視も同様 Pythonで実装
SLOについて考える 引用:https://www.oreilly.co.jp/books/9784814400348/ エラーバジェット SLO SLI SLIとは、たとえばWebページを十分な速さで読み込めるかといった指標 1日に訪問者数が60,000人いて、59,982人が2秒以内にページを読み込んだことを計測できたとする ページ読み込みの99.97%が「良い速さ」であればユーザーは満足すると推測 59,982 60,000
= 99.97% SLO SLOとは? 信頼性スタック
改善案 現状エラーログはすべてメール通知 ⇒エラー通知が多すぎて、管理者が状況を把握しずらいと想定 ⇒特定の条件でアラートが発生したらLambda経由でメール通知する ※2023/12/22 CloudWatch AlermがLambdaをアラーム状態変更アクションとしてサポートされたよう 引用:https://aws.amazon.com/jp/about-aws/whats-new/2023/12/amazon-cloudwatch-alarms-lambda-change-action/ 定義を考えてみる •
SLI:リクエストが十分なだけ成功しているかどうか 仮定として、以下条件までを許容するとする。 期間:1ヶ月 合計リクエスト数:1,000,000 エラーログの総数:500 • SLO:99.95% • エラーバジェット:エラーログが500個まで 1ヶ月内にエラーログが 500個を超えたらアラートを発生
おわり