JAWS-UG SRE支部 #7 の LT で話したオンコールよもやま話のスライドです。 https://jawsug-sre.connpass.com/event/291843/
© 2023 Wantedly, Inc.オンコールよもやま話JAWS-UG SRE支部 #7Oct. 18 2023 - Shoji Shirotori @irotoris
View Slide
© 2023 Wantedly, Inc.About MeShoji Shirotori @irotorisInfrastructure Squad at Wantedly, Inc.Infra /SRE / Data Engineer❤ AWS, Kubernetes, BigQuery, Python, Go
© 2023 Wantedly, Inc.
© 2023 Wantedly, Inc.話すこと● ウォンテッドリーのオンコール体制の紹介しつつ● 無くしたアラートをピックアップして紹介
© 2023 Wantedly, Inc.Wantedly Architecture Overview
© 2023 Wantedly, Inc.Infrastructure Squad (インフラチーム) とはインフラや開発運用に関わる機能とプラクティスをプラットフォームとして提供していく
© 2023 Wantedly, Inc.ウォンテッドリーのオンコール体制の紹介● Infra チームが夜間休日のオンコール (PagerDuty) を持つ○ 平日日中で障害が発生した場合は Infra チームじゃなくても障害対応に集まってくる■ 集まりすぎるのでインシデントコマンダーが整理■ 平日日中で壊れるのは だいたいデプロイ起因○ 夜間休日はインフラや外部起因が多い■ サービス特性上、夜間休日のリクエストは落ち着いているが壊れるときは壊れる● AWSリソースやインフラのスケーリングを超えた● 非同期ジョブが詰まる● 外部 API が壊れた● Bot やスクレイピングでの異常なアクセス■ ここでのオンコール担当の責務は 1次対応と、騒いで人を集めること● メンバーが一週間交代で担当■ 夜間休日対応の負荷を減らすために不要なアラートを整理している
© 2023 Wantedly, Inc.アラートの種類 - 通知先● Slack #war_room + PagerDuty○ 即招集、対応開始● Slack #hoge_alert○ 各チームで対応、トリアージ○ #infra_alert○ #visit_alert○ #profile_alert○ #core_services_alert● Slack #fuga_notice #piyo_logs○ 通知のみ
© 2023 Wantedly, Inc.アラートの種類 - 通知先● Slack #war_room + PagerDuty ←ここのアラートを減らす○ 即招集、対応開始● Slack #hoge_alert○ 各チームで対応、トリアージ○ #infra_alert○ #visit_alert○ #profile_alert○ #core_services_alert● Slack #fuga_notice #piyo_logs○ 通知のみ
© 2023 Wantedly, Inc.アラートの種類 - 通知までの経路● AWS / GCP -> Datadog -> PagerDuty○ Infra / middleware layer● Kubernetes -> Prometheus -> Datadog -> PagerDuty○ Kubernetes Layer● Application -> New Relic -> Pager Duty○ Application Layer○ Ping / ErrorRate / Latency
© 2023 Wantedly, Inc.減らしたアラート● DB Disk full alert○ RDS のストレージ自動拡張を有効に○ ストレージ拡張のイベントは notice チャンネルへ○ 自動拡張上限の場合のみ war_room チャンネルへ
© 2023 Wantedly, Inc.減らしたアラート● DB CPU 100% alert○ RDS から Aurora にしたら 100% でもサービスがちょっと遅くなる程度で致命的な問題になることが減った○ サービスの Error Rate / Latency は見ているので alert チャンネルへ
© 2023 Wantedly, Inc.減らしたアラート● Kubernetes Pod のスケール上限アラート○ Pod が HPA 上限に張り付いていてもサービスが落ちるわけではない○ Error Rate / Latency を見ている○ notice で、後から見ればよい
© 2023 Wantedly, Inc.減らしたアラート● AWS Health (AWS Service Status)○ EC2 / RDS / ElastiCache といった AWS サービスとしてのステータス○ AWS の障害で我々のサービスがすぐさま落ちる訳では無い○ X が一番はやく検知できる
© 2023 Wantedly, Inc.減らしたアラート● ElastiCache for Redis Eviction alert○ キーが eviction されても問題ない使い方をしていた Redis もいた○ キャッシュ用途のインスタンスは eviction 通知を notice に変更
© 2023 Wantedly, Inc.減らしたアラート● 外国からの死活監視○ 日本からは無事だが海外からの死活監視が落ちる現象(謎)○ サービス提供している国からのみに監視を減らした
© 2023 Wantedly, Inc.なんとなくまとめ● インフラ技術の進化で基盤、サービスの弾力性を強化しやすい○ 勝手に直る設定● よりユーザーに近いアラートを設定することが大事になってきた○ API の ErrorRate / Latency 以外にも Forntend の描画速度
© 2023 Wantedly, Inc.Thank you!!
© 2023 Wantedly, Inc.障害対応の心構え - Wantedly Engineering Hanbookhttps://docs.wantedly.dev/introduction/incident