【入門編】 VPCフローログのレコードフォーマットに含まれるフィールド定義 – クラウドインフラと仮想化ネットワーク実践ガイド

ネットワークの「健康診断」を始めよう!GCP VPCフローログの読み方を完全マスター

こんにちは!クラウドインフラの世界へようこそ。

インフラエンジニアやSREの仕事をしていると、時々「あれ?通信が通らないぞ?」「なんか変なトラフィックが流れている気がする……」という、目に見えないネットワークの迷路に迷い込むことがあります。そんなとき、私たちを救ってくれる強力な味方がVPCフローログです。

今日は、GCPのVPCフローログが吐き出す「暗号のようなJSONデータ」を、誰でもスラスラ読めるようになるための「翻訳ガイド」をお届けします。

—

そもそも「フローログ」って何のためにあるの?

想像してみてください。あなたは巨大なマンション(VPC)の管理人です。住人(VMインスタンスやコンテナ)たちが誰に手紙(パケット)を出し、誰から受け取っているのか。それを全て記録しておくのが「フローログ」です。

「誰が」「どこへ」「どれくらいの量を」送ったのか。これが分かれば、セキュリティ事故の早期発見や、無駄な通信コストの削減、そして「なぜ通信がつながらないのか」というトラブルの解決に直結します。

—

郵便配達で例える、主要フィールドの正体

VPCフローログが書き出すJSONデータには、たくさんの項目があります。難しく考えず、郵便配達に例えて紐解いていきましょう。

1. src_ip と dst_ip(送信元と宛先の住所)

  • src_ip (Source IP): 「誰が送ったのか?」という差出人の住所です。
  • dst_ip (Destination IP): 「どこへ届けたいのか?」という宛先の住所です。

2. src_port と dst_port(部屋番号)

IPアドレスが「マンションの住所」なら、ポート番号は「何号室か」です。

  • Webサイト(80や443)なのか、データベース(3306など)なのか。この番号を見るだけで、どんな種類の「手紙(通信)」なのかが見えてきます。

3. proto(通信の言語)

「どんな手段で送ったか」です。

  • 6 なら TCP(しっかり届いたか確認する丁寧な郵便)
  • 17 なら UDP(確認なしでどんどん投げ込む速達郵便)

といった具合です。

4. packets と bytes(荷物の量)

  • packets: 手紙の「通数」です。
  • bytes: 荷物の「総重量(サイズ)」です。

ここが異常に大きいと、「誰かが大量のデータを外部へ送っているのでは?」といったセキュリティリスクを疑うサインになります。

5. tcp_flags(手紙のやり取りの状態)

これは少し上級編ですが、通信が「繋がったのか」「切れたのか」「拒否されたのか」という状態を示すフラグです。通信の「挨拶(ハンドシェイク)」から「お別れ(終了)」までを追いかけるのに必須です。

—

実践!ログを覗いてみる

実際にGCPのコンソールやBigQueryでログを見ると、以下のような形式でデータが流れてきます。

{
  "jsonPayload": {
    "connection": {
      "src_ip": "10.0.0.5",     // 送信元のIPアドレス
      "dst_ip": "142.250.1.1",  // 宛先のIPアドレス
      "src_port": 54321,        // 送信元のポート番号
      "dst_port": 443,          // 宛先ポート(HTTPS通信ですね)
      "protocol": 6,            // 6なのでTCPです
    },
    "packets": 10,              // 10通のパケットがやり取りされました
    "bytes": 5000,              // 合計5000バイトの通信量です
    "tcp_flags": 2              // TCPの状態フラグ(SYNパケットなど)
  }
}

—

SREの現場からのアドバイス

初心者のうちは、全てのログを追いかける必要はありません。まずは以下の手順で「ネットワークの健康診断」を始めるのがおすすめです。

1. 「許可されていない通信」を探す: dst_port が開けてはいけないはずのポートになっていないか確認する。
2. 「異常なトラフィック」を見つける: 特定の src_ip からの bytes が跳ね上がっていないか確認する。
3. 「接続失敗」の原因を探る: tcp_flags を確認し、通信が RST(強制切断)などで拒否されていないか分析する。

注意点:ログはコストがかかる!

VPCフローログはとても便利ですが、全てのパケットを記録するとデータ量が膨大になり、GCPの利用料が高額になることがあります。「サンプリングレート(何%のログを残すか)」という設定を適切に行い、必要な通信だけを効率よく拾うのが、賢いエンジニアのたしなみです。

—

まとめ

ネットワークのトラブルは、まるで霧の中を歩くような不安を感じるかもしれません。でも、VPCフローログという「航海図」さえあれば、パケットがどこへ向かっているのか、どこで迷子になっているのかが必ず見えてきます。

まずは難しく考えず、一つひとつのフィールドを「郵便の宛先や重さ」だと捉えてみてください。皆さんのインフラ運用が、今日から少しでも快適なものになりますように!

何か分からないことがあれば、いつでもまた聞きに来てくださいね。一歩ずつ、一緒に学んでいきましょう!

コメント

タイトルとURLをコピーしました