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
実践 自動復旧 / self healing
Search
kobtea
February 26, 2019
Technology
1
1.4k
実践 自動復旧 / self healing
kobtea
February 26, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
150
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
690
AIを使ってテストを楽にする
kworkdev
PRO
0
260
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.4k
DSPy入門
tomehirata
4
510
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
200
serverless team topology
_kensh
3
240
Retrospectiveを振り返ろう
nakasho
0
130
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
190
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
210
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
160
生成AI時代のPythonセキュリティとガバナンス
abenben
0
150
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
The Pragmatic Product Professional
lauravandoore
36
7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
We Have a Design System, Now What?
morganepeng
53
7.8k
Faster Mobile Websites
deanohume
310
31k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Become a Pro
speakerdeck
PRO
29
5.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
Copyright © GREE, Inc. All Rights Reserved. Copyright © GREE,
Inc. All Rights Reserved. 実践 自動復旧 Hiroaki Kobayashi 2019-02-26
Copyright © GREE, Inc. All Rights Reserved. 小林 裕明 •
所属: グリー株式会社 開発本部 インフラストラクチャ部 • 業務: • プロダクトリリース・運用支援 • モニタリングシステム運用 自己紹介
Copyright © GREE, Inc. All Rights Reserved. よいアラートの仕組みを作る6つの方法 • アラートにメールを使うのをやめよう
• 手順書を書こう • 固定の閾値を決めることだけが方法ではない • アラートを削除し、チューニングしよう • メンテナンス期間を使おう • まずは自動復旧を試そう <- !? 入門 監視 3章より
Copyright © GREE, Inc. All Rights Reserved. • AWS環境の通知種別と配信基盤 •
自動復旧を導入した話 • 何から手を付けるか • どうやって実装するか • 導入 / 効果測定 / イテレーション • 自動復旧との付き合い方 話すこと
Copyright © GREE, Inc. All Rights Reserved. • critical •
即時対応が必要 • 通知先: PagerDuty, Slack, ... • a.k.a: アラート, ページ • warning • 即時対応は不要 • 通知先: Slack, ... • a.k.a: (アラート), ロギング • ticket • 期日までに対応が必要 • 通知先: Slack, JIRA 通知の種別
Copyright © GREE, Inc. All Rights Reserved. Architecture アラート配信基盤 Alert
Yusura - distribute alerts - summarize alerts - fetch metadata Job
Copyright © GREE, Inc. All Rights Reserved. 対応手順書を書く • 観測して明文化する
• このアラートは何を意味するのか • サービス(SLO)への影響はあるか • 何を確認すべきか • どのような行動を取るべきか • 法則が見えてくる • 実はコマンド1発叩いているだけ • 単純なアラートほど頻出する • アラートにhookしてコマンド実行できれば良いのでは 何から手を付けるか
Copyright © GREE, Inc. All Rights Reserved. • シンプルにする •
単一インスタンスで完結させる • オーケストレーションはしない • サービスレベルを悪化させない • SLOの範囲内で実施 • サービスアウトされたインスタンスに実施 • バッファを持ち欠損しない処理に実施 • Fail Safeにする • プロセス再起動するなら、プロセスチェックする • しきい値であれば2重に設定する どうやって実装するか 方針
Copyright © GREE, Inc. All Rights Reserved. リソース管理のためのサービス • コマンド実行に関係する機能
• Run Command: タスク・コマンド実行 • Automation: タスクのステップ実行 • SSM Documents: タスク・コマンド群の定義 • AWS APIでコマンド実行できる • SNS -> Lambda -> SSM RunCommand • CloudWatch Event -> SSM RunCommand AWS System Manager (SSM) $ aws ssm send-command \ --document-name "AWS-RunShellScript" \ --instance-ids i-123 \ --parameters '{"commands":["hostname"]}'
Copyright © GREE, Inc. All Rights Reserved. Architecture 実装 自動復旧
SQS Yusura Target SNS SSM 1. notify 2. receive 3. notify 3. notify 4. trigger 5. resolve 6,8. notify 7. execute Lambda
Copyright © GREE, Inc. All Rights Reserved. 実行宣言 / 結果報告
Copyright © GREE, Inc. All Rights Reserved. 設定イメージ { "SOME_ROLE:SOME_ALERT":
{ "commands": [ "PROC_CHECK --ignore-check FOO_PROCESS", "service FOO_PROCESS restart", "service FOO_PROCESS status" ] } }
Copyright © GREE, Inc. All Rights Reserved. • 導入は慎重に行う •
導入初期はアラートも飛ばして人が見守る • 実績ができ次第アラートは無効にする (Warning化) • アラートレポートで可視化・イテレートする • 無効化・ルール見直し・自動復旧・恒久対応 導入 / 効果測定 / イテレーション
Copyright © GREE, Inc. All Rights Reserved. Architecture Alert Report
Scheduled Search Webhook Connection Webhook Webhook
Copyright © GREE, Inc. All Rights Reserved. • 自動復旧は恒久対応ではない •
あくまで一次対応の負担を下げるもの • 根本原因は解決されていない • 浮いた時間で恒久対応する • 恒久対応は時間がかかる • 担当者の工数確保 • OSSのフィードバック、修正、リリース • ミドルウェアのバージョンアップ • アーキテクチャの再設計 • オンコールが疲弊しないための自動復旧 • 必要以上に依存しない 自動復旧との付き合い方
Copyright © GREE, Inc. All Rights Reserved. • 手順書を書いてアルゴリズムを把握する •
自動化できるかの指針になる • アラート削減や恒久対応の際の指針になる • SNS, Lambda, SSMがあればわりとなんとかなる • 自動復旧は恒久対応ではないので使いすぎには注意 まとめ
Copyright © GREE, Inc. All Rights Reserved. Copyright © GREE,
Inc. All Rights Reserved. インターネットを通じて、 世界をより良くする。
Copyright © GREE, Inc. All Rights Reserved.