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
俺流 システム障害の「歩き方」 ~インフラ担当者の視点から~
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tkhdfjnm
November 30, 2019
Technology
170
0
Share
俺流 システム障害の「歩き方」 ~インフラ担当者の視点から~
2019-11-30 TBB 勉強会 Part.2 にて発表
2020-08-02 加筆修正して公開
これまでの業務経験で得た知見・考え方を整理して共有します
tkhdfjnm
November 30, 2019
Other Decks in Technology
See All in Technology
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
260
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
1.3k
20260428_Product Management Summit_Loglass_JoeHirose
loglassjoe
3
4.2k
Do Vibe Coding ao LLM em Produção para Busca Agêntica - TDC 2026 - Summit IA - São Paulo
jpbonson
3
160
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
1.6k
No Types Needed, Just Callable Method Check
dak2
1
2.2k
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
170
Standards et agents IA : un tour d’horizon de MCP, A2A, ADK et plus encore
glaforge
0
210
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
270
FessのAI検索モード:検索システムとLLMへの取り組み
marevol
0
110
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
190
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
2.8k
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
How to Ace a Technical Interview
jacobian
281
24k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
260
4 Signs Your Business is Dying
shpigford
187
22k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Writing Fast Ruby
sferik
630
63k
The Limits of Empathy - UXLibs8
cassininazir
1
310
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Ethics towards AI in product and experience design
skipperchong
2
260
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
インフラ担当者の視点から @tkhdfjnm
これまでに得た知見・考え方を 整理して共有したい みんなの「歩き方」も、ぜひ教えてほしい 2019/11/30 @tkhdfjnm 2
2019/11/30 @tkhdfjnm 3
そのサービス うまく稼働・運用できていますか? うまくいっているならば不要な話 「しくじりシステム運用」 俺みたいになるな!! 2019/11/30 @tkhdfjnm
4
自分たちが提供しているサービスは どのような「システム」なのか? システム構成を把握しておく ドキュメンテーション 構成管理 (ソース管理・リリース管理)
サービスの重要度・ビジネス影響を 把握しておく (リスク管理) ユーザに保証するサービスレベルを 整理しておく (SLA) 2019/11/30 @tkhdfjnm 5
システムが今 どのように動いているのか? 何が起きたのか「わかる」ログを残そう 何をすべきか「わかる」ドキュメントを 残そう 各種メトリックを取得しておこう
サーバリソース状況 ネットワークトラフィック量 など システムの正常性を監視しよう 2019/11/30 @tkhdfjnm 6
障害対応の考え方・進め方に つながる 復旧に向けた一次対応 原因個所の特定 影響範囲の特定 復旧の優先順位づけ・トリアージ
本格対処に向けた対応 システム環境保全の要否・可否 発生時のメトリック・ログ取得の要否・可否 2019/11/30 @tkhdfjnm 7
障害が起きにくい システム構成にしような 影響範囲を小さくする・切り捨て やすいようにしておく SPoF を少なくする サービス特性やコストとの兼ね合いもある
2019/11/30 @tkhdfjnm 8
2019/11/30 @tkhdfjnm 9
こんな図よく見るよね 2019/11/30 @tkhdfjnm 10 サーバ The Internet データ ベース クライ
アント
そんなにシンプルじゃないよね 2019/11/30 @tkhdfjnm 11 The Internet DB CDN 外部連携 サービス
DNS DB 内部の別 サービス
ユーザ側 サービス側 サービス側?ユーザ側? 2019/11/30 @tkhdfjnm 12 The Internet DB CDN
外部連携 サービス DNS DB 内部の別 サービス
ユーザ側 サービス側 他社 自社?他社? 自社 2019/11/30 @tkhdfjnm 13 The Internet
DB CDN 外部連携 サービス DNS DB 内部の別 サービス
ネットワーク ネットワーク?マシン? ここではサーバ・ノード・インスタンス・ホストなどを まとめて「マシン」と呼ぶことにします 2019/11/30 @tkhdfjnm 14 The Internet
DB CDN 外部連携 サービス DNS DB 内部の別 サービス
外堀を埋めるように、ジワジワと 2019/11/30 @tkhdfjnm 15
異常の原因を切り分け・特定 = どこまでが正常なのか確認する 誰の責任範囲で発生している? = 誰の責任範囲は正常? どの機器で発生している? =
どの機器は正常? ネットワーク観点は 二分木的な正常性確認が容易 2019/11/30 @tkhdfjnm 16
プロトコル・スタック を意識する OSI 参照モデル・TCP/IP モデル 2019/11/30 @tkhdfjnm 17 L1
L2 L3 L4 L5 - L7 物理 Ethernet IP TCP/UDP HTTP/DNS etc. SSL/TLS マシン ネットワーク機器類 マシン
プロトコル・スタック を意識する OSI 参照モデル・TCP/IP モデル 2019/11/30 @tkhdfjnm 18 L1
L2 L3 L4 L5 - L7 物理 Ethernet IP TCP/UDP HTTP/DNS etc. SSL/TLS マシン ネットワーク機器類 マシン : 通信の流れ
プロトコル・スタック を意識する OSI 参照モデル・TCP/IP モデル 2019/11/30 @tkhdfjnm 19 L1
L2 L3 L4 L5 - L7 物理 Ethernet IP TCP/UDP HTTP/DNS etc. SSL/TLS マシン ネットワーク機器類 マシン ARP ping traceroute curl wget telnet nslookup host dig
まずは PING End 2 End で疎通できるか? どこまでの疎通ができるか?
グローバルには出られている? 同一セグメント内は? 2019/11/30 @tkhdfjnm 20 The Internet DB 外部 サービス DB google.com yahoo.co.jp など
とにかく PING どのネットワークから疎通できるか? 内部ネットワーク 自社ネットワーク モバイル回線
(グローバル) 2019/11/30 @tkhdfjnm 21 The Internet DB DB ス マ ホ
(´・ω・`) 最近は ICMP が途中の機器でフィルタ されていて通らなかったりする 2019/11/30 @tkhdfjnm 22
ホスト名ちゃんと引ける? nslookup host 手軽 dig
細かくオプション指定できるのでオススメ プロセスが参照している DNS リゾルバと 異なるケースもあるので注意 2019/11/30 @tkhdfjnm 23
サービスポートへの接続はできる? 途中でフィルタされていない? curl / wget URI 指定で HTTP
/ HTTPS を投げてみる telnet ポート指定でセッションを張ることができる ヘッダがプレーンテキストなプロトコルなら 手打ちでレスポンスまで確認できる 2019/11/30 @tkhdfjnm 24
ゲートウェイやルーティングは どうなっている? traceroute どういったネットワークを経由しているのか どのネットワークまで到達できているのか ICMP
で投げるタイプと UDP で投げるタイプ がある ICMP がフィルタされていると (ry 2019/11/30 @tkhdfjnm 25
同一セグメント内の IP アドレスと MAC アドレスは解決できる? ARP テーブルに対向機器いる? そもそも機器を接続したスイッチの
ポートは正しい? リンクアップしてる? 2019/11/30 @tkhdfjnm 26
パケットキャプチャ Wireshark 本番サーバで仕掛けるのは稀 ここまでやるのは稀 もはや趣味・職人技の領域だと思います
そこまで詳しくないです… 2019/11/30 @tkhdfjnm 27
2019/11/30 @tkhdfjnm 28
構成要素 (スタック) を意識する どのようなプロダクトが動いているのか? 2019/11/30 @tkhdfjnm 29 アプリ ミドル
ウェア OS マシン CPU ストレージ メモリ 電源 NIC RAID チップセット グラフィック cron init.d logrotate syslog Java VM AP サーバ スクリプト フレームワーク プログラム 運用系 ソフトウェア DB サーバ プログラム スクリプト
構成要素 (スタック) を意識する どこまでが自前なのか? 2019/11/30 @tkhdfjnm 30 アプリ ミドル
ウェア OS マシン CPU ストレージ メモリ 電源 NIC RAID チップセット グラフィック cron init.d logrotate syslog Java VM AP サーバ スクリプト フレームワーク プログラム 運用系 ソフトウェア DB サーバ プログラム スクリプト
プロセスは正しく起動している? 起動中にエラーはない? dmesg /var/log 配下のログ群を cat / less
/ head / tail messages cron ミドルウェア名のサブディレクトリ配下 2019/11/30 @tkhdfjnm 31
そもそもどのように起動している? サービス起動? rc.d / init.d (chkconfig / service)
system.d (systemctl) ジョブネット管理? cron? crontab 起動ユーザに注意 2019/11/30 @tkhdfjnm 32
現在のプロセス起動状況は? ps top /proc/<PID> 配下 environ
起動方法によって環境変数が異なったりするぞ 2019/11/30 @tkhdfjnm 33
プログラム・ファイルの状態は? md5sum / openssl など ハッシュ値 ls
ファイルサイズ パーミッション world-readable だとエラーになるケースもある cat / less 文字化け FTP で転送していた時代は稀によくあった 2019/11/30 @tkhdfjnm 34
CPU・メモリに空きはある? ロードアベレージは? 過剰占有しているプロセスはない? top vmstat free
sar ps 2019/11/30 @tkhdfjnm 35
ストレージの使用状況は? mount ストレージのマウント状況 df マウントポイントごとのストレージ使用量
du ディレクトリなどのファイルサイズ vmstat / iostat ディスク I/O キュー 2019/11/30 @tkhdfjnm 36
ネットワークの使用状況は? netstat 2019/11/30 @tkhdfjnm 37
OS 的なリソースの上限は? lsof ファイルディスクリプタ ulimit 2019/11/30 @tkhdfjnm
38
IP DHCP NTP DNS その他 疑いだしたらキリがないお… 設定ファイルが間違っていた /etc/hosts
/etc/network/ NTP サーバが全滅して時刻がズレてた プロセスがキャッシュしてた DNS サーバの IP アドレス ホスト名解決後の IP アドレス mount 叩いただけで満足してた 2019/11/30 @tkhdfjnm 39