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
Incident Managerでインシデント発生時のエスカレーションを自動化する
Search
taiko19xx
June 14, 2022
Technology
0
210
Incident Managerでインシデント発生時のエスカレーションを自動化する
taiko19xx
June 14, 2022
Tweet
Share
More Decks by taiko19xx
See All by taiko19xx
Bedrockで遊ぼう! 短期間で色々開発してみた
taiko19xx
1
120
LambdaカスタムランタイムでPHPでもサーバーレス!
taiko19xx
0
74
IoTっぽいアプリをk3s+Raspberry Piで実行する
taiko19xx
0
320
ハニーポットから見たWebサーバへの攻撃
taiko19xx
0
2.8k
PHPなプロダクトをAmazon ECSで開発運用してる話
taiko19xx
0
1.2k
RaspberryPi+AWSでIoT(っぽ い)GPSロガーを作ってみた
taiko19xx
0
1.5k
PHPからWin32APIをいじってみた
taiko19xx
0
1.6k
Other Decks in Technology
See All in Technology
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
140
ClineにNext.jsのプロジェクト改善をお願いしてみた / 20250321_reacttokyo_LT
optim
1
1.3k
React Server Componentは 何を解決し何を解決しないのか / What do React Server Components solve, and what do they not solve?
kaminashi
6
1.2k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1k
Proxmox VE超入門 〜 無料で作れるご自宅仮想化プラットフォームブックマークする
devops_vtj
0
120
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
6
990
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
20k
バックエンドエンジニアによるフロントエンドテスト拡充の具体的手法
kinosuke01
1
700
Restarting_SRE_Road_to_SRENext_.pdf
_awache
0
160
一人QA時代が終わり、 QAチームが立ち上がった話
ma_cho29
0
290
LINE API Deep Dive Q1 2025: Unlocking New Possibilities
linedevth
1
160
KCD Brazil '25: Enabling Developers with Dapr & Backstage
salaboy
1
120
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
What's in a price? How to price your products and services
michaelherold
245
12k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Thoughts on Productivity
jonyablonski
69
4.5k
KATA
mclloyd
29
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Transcript
JAWS-UG GameTech #1 2022/06/14 木村俊彦 / 株式会社インフィニットループ Incident Managerで インシデント発生時の
エスカレーションを自動化する
• Incident Managerをエスカレーション目的で利用・運用しています • 導入に至った経緯 • 検証してわかったこと • 等々お話します 本日の内容
• 導入の経緯 • 実際に構築 • 運用前検証 • まとめ 目次
導入の経緯
• 新規構築時にエスカレーションの管理について検討 • 「連絡がつかない場合」のエスカレーションをどうするか ◦ 特に休日や夜中など • 可能な限りAWS内で完結できないか検討 経緯
None
• 本来はコンタクトセンターの構築運用向け • 「問い合わせフロー」と、それを起動するLambdaの組み合わせで検討 • 電話番号の利用料+発信料金と料金もシンプル • 日本の携帯電話番号(090/080/070)への発信は制限解除申請が必要 Amazon Connect
フローやLambdaを構築し検証
しかし...
• エスカレーションの各種管理をどうするかの設計が必要 ◦ 順番、発信済みかどうかの管理、受諾したかどうかのチェック • 電話番号どこに保持するかの検討が必要 ◦ メンバーの入れ替え時に番号も入れ替えが必要 • 管理するリソースが多いのではないかという疑問
◦ フロー、Lambda、それら付随する様々 ◦ 特にLambdaはメンテナンス性を考慮する必要がある 検証してわかったこと
None
• 正確には AWS Systems Manager Incident Manager ◦ Systems Manager内のサービス
• インシデントの起票や管理、呼び出し(エスカレーション)を行ってくれる サービス ◦ CloudWatch Alermと組み合わせれば自動化できる • SlackやAmazon Chimeとも連動 • 対応プランの数に応じて課金 ◦ インシデント起票時のテンプレートのようなもの Incident Manager
None
• エスカレーション開始時に、「誰に」「どの方法で」「どの間隔で」通知する か設定できる • 通知先はメール・SMS・通話 • 間隔やトータルの実行時間、件数はクォータの範囲内で設定 エスカレーションプラン
None
これで行こう!
構築する
初期の構成
• アラートはIncident ManagerとSlackへ送信 ◦ 回復通知はSlackのみ • 事前設定した対応プランに沿ってインシデントが開始 • 対応プランに紐付けられた設定でエスカレーションも開始 シンプルに設計
そんなある日
レベルによって調整したい + 別システムにも通知してほしい
None
• 基本的な構図は変わらず • Alertからの橋渡しはEventBridge • 1つめのLambdaはレベルの切り分け ◦ EventBridgeから渡されたデータに基づいて判定 ◦ それを元に対応プランとエンゲージメントを起動
• 2つめのLambdaは別システムへの通知 要望に合わせて改良
結局複雑なのでは...
• それぞれの処理はシンプル ◦ メインロジックは30行以内 • 用途は異なるので、1つで済ませず、別々に構築 Lambdaはシンプルに
• アラームとLambdaをルールで紐付けるのみ • 入力トランスフォーマーでレベルを付与 EventBridgeもシンプルに
いざ検証
• Incident Managerからの通話は英語 • アクティベーションの確認番号は聞き取れる • エスカレーション時の通話が辛い... ◦ とにかく早口で長い ◦
通話中に「1」を押すと確認済みになり、「9」を押してしまうとリストから 外されてしまう ◦ 周知することで対処 通話が英語
• もしくは非通知、番号は変わる場合もある • いたずら電話と思われたり、拒否設定にしていると届かない可能性がある ◦ 許容できない場合は、Amazon Connectが選択肢になる • あらかじめ周知して対策 ◦
最悪取らなくてもチャットは見てほしい 電話の発信元がアメリカ
None
• いきなり電話は考え物 • 呼び出し時は最初メールで通知 ◦ エンゲージメントを承認するコードが記載されている • それにも気づかれていないようであれば電話というフロー ◦ 間隔は10分~15分後
順番を考慮する
None
• こだわりが少なければシンプルな構成 ◦ 既存のアラートに埋め込める ◦ こだわっても何とかなるはず • 英語という壁こそありますが、乗り越えられれば最有力? • 一連のフローについては定期的に訓練という形で検証を行い、問題ない
ことを確認する予定 ◦ 肝心な時に動かないのでは意味がない • ぜひ検証からはじめてみてはいかがでしょうか まとめ
• 木村俊彦 / @taiko19xx • 株式会社インフィニットループ • 主な業務 ◦ バックエンド構築(PHP/C#)
/ インフラ構築(AWS) • 好きなゲーム ◦ Civilization / Age of Empires / Rize of Nations etc… • 好きなAWSのサービス ◦ LambdaとDynamoDB 自己紹介
ありがとうございました