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.3k
実践 自動復旧 / self healing
kobtea
February 26, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
1
110
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
270
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
320
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全
opelab
11
2.4k
20250623 Findy Lunch LT Brown
3150
0
840
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
160
IIWレポートからみるID業界で話題のMCP
fujie
0
760
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
150
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5.2k
[TechNight #90-1] 本当に使える?ZDMの新機能を実践検証してみた
oracle4engineer
PRO
3
150
Azure AI Foundryでマルチエージェントワークフロー
seosoft
0
170
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.1k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Raft: Consensus for Rubyists
vanstee
140
7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Visualization
eitanlees
146
16k
4 Signs Your Business is Dying
shpigford
184
22k
Thoughts on Productivity
jonyablonski
69
4.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Six Lessons from altMBA
skipperchong
28
3.8k
Code Reviewing Like a Champion
maltzj
524
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
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.