■ 発表カテゴリ
・Tech: SREを支える具体的な技術や手法
■ 発表概要(400字程度)
我々SREが日々向き合うシステムたちはまぁ複雑なわけですが、その中でもネットワークはできれば正面から向き合うことを避けたい領域ではないかと思っています。その挙動は本質的にBest-Effortであり、アプリケーションレイヤーのように決定論的な振る舞いを期待することはできません。しかし、SREがシステムのend-to-endの信頼性に責任を持つ以上、この不確実な領域と向き合うことを余儀なくされる日がそのうちやってきます。
本セッションは、まさにその「向き合わざるを得ない」状況に備えたいSREのためのものです。ネットワークトラブルシューティングの最後の、そして最も確実な手段であるPacket Captureを、あなたの実践的なスキルセットに加えることを目指します。Kubernetes環境におけるキャプチャ手法から、具体的な分析フローまでを一通り解説します。困難なネットワーク問題を着実に解決へと導くための、いざという時に切れる手札を手に入れましょう。
■ 発表の詳細(1000字程度)
我々SREの多くは、アプリケーションやプラットフォームの専門家であり、ネットワークは専門領域ではありません。理想を言えば、ネットワークは透過的で、常に期待通りに機能していてほしい。しかし現実は、システムの複雑化に伴い、ネットワーク起因の不可解な問題に悩まされることは珍しくありません。再現性の低いレイテンシ、散発的なコネクションエラー…。オブザーバビリティの三本柱(Logs, Metrics, Traces)は強力ですが、TCPレベルの再送やTLSハンドシェイクの遅延といった、ネットワーク内部の出来事を直接観測することはできません。
この「観測できない領域」が、トラブルシューティングを泥沼化させ、「ネットワークが怪しい」という不毛な結論を生み出す温床となっています。本セッションは、この状況を打破するための試みのひとつです。SREが自らの手でネットワークの"真実"を明らかにできる手段としてPacket Captureを位置づけ、その実践方法を体系的に解説します。
本発表は、以下のような構成で進めることを予定しています。
導入:SREがネットワークと向き合う時
基礎知識:これだけは押さえたい、TCP/IPの勘所
実践:Kubernetes環境におけるパケットキャプチャ
なぜk8sでのキャプチャは一工夫いるのか?(Network Namespaceの壁)
手法カタログと使い分け:
分析:シナリオで学ぶWireshark実践術
まとめ
■ 対象聴衆とその人たちが得られるもの
【対象聴衆】
まさに「本当はNetworkと向き合いたくない」と感じているSRE、Platform Engineer、バックエンドエンジニア
ネットワークを専門としないが、トラブルシューティングでネットワーク起因の問題に直面し、解決の糸口を探している方
「ネットワークが怪しい」という結論で調査が停滞しがちな状況を、データドリブンなアプローチで打開したい方
【得られるもの】
Kubernetes環境でパケットキャプチャを行うための、複数の実践的な手法と、状況に応じた使い分けの判断基準。
キャプチャしたpcapファイルをWiresharkで開き、問題の根本原因に迫るための具体的な分析手順と着眼点。
「ネットワークが怪しい」という曖昧な推測を、データに基づき客観的に議論・解決できる能力と自信。
あなたのトラブルシューティングツールボックスに、「パケット解析」といういざという時の切り札が加わります。
■ なぜこのトピックについて話したいのか(モチベーション)
自分自身、ネットワークに対して「向き合うのは面倒だなー」と思ってきましたし、その思いは現在Platform Network teamにおける職責を得たことによってより深まっていますw
その中でありがちなのが「ネットワークの問題かも」という形で寄せられるサポートリクエストです。もちろん、実際にネットワークに問題があるケースもありますが、アプリケーションやインフラ設定に起因することも少なくありません。問題は、ネットワークの「無実」を証明することが難しく、原因の切り分けに多くの時間を要してしまう点にあります。
より多くのエンジニアがネットワークの状態を自分自身で一次切り分けできる共通の道具を持てば、問題解決のプロセスは大幅に早期化・効率化されるはずだと考えています。このセッションによって、Packet Captureという道具をみんなにとって馴染みのあるものとする一助としたいです。