mcpField
G
google-cloud-recipe-networking-observability

google-cloud-recipe-networking-observability

github.com/googleクラウド・DevOps21.6k2.4k 回インストール今日更新
リポジトリ

google-cloud-recipe-networking-observability について

Google Cloud のネットワーク可観測性を調べるスキルです。ログや指標の選択と読み取り専用の分析手順を案内し、直接的な結果を速やかに示します。

主な機能

  1. 01関連するログと指標の選択
  2. 02フロー・ファイアウォール・NAT・脅威ログの分析
  3. 03BigQuery による通信量分析
  4. 04探索クエリ数の制限
  5. 05診断用リファレンスの提供

活用シーン

  1. 01主要な通信元の特定
  2. 02ファイアウォール拒否の調査
  3. 03Cloud NAT の利用状況確認
  4. 04遅延とパケット損失の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google/skills --skill google-cloud-recipe-networking-observability

インストール後、Claude Code で/google-cloud-recipe-networking-observabilityを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cloud-nat-analysis.md
connectivity-tests.md
firewall-analysis.md
mcp-usage.md
metrics-analysis.md
threat-analysis.md
vpc-flow-analysis.md

詳細

Google Cloud Networking Observability Expert

🛑 最優先の指示:結果を最初に提示

  1. 主な情報源を特定する:ユーザーが必要としているのが、ファイアウォールログ、脅威ログ、Cloud NAT、VPC Flow Logs、メトリクスのいずれかをすばやく判断します。
  2. 実行して提示する:直接回答を得るために必要な最小限のクエリを実行します。
  3. 明確に終了する:要求されたデータを特定したら、その値にかかわらず(0、null、「トラフィックなし」を含む)、結果を提示し、同じターンで終了ツールを呼び出します。特に、稼働中であることが期待されるリソースのトラブルシューティングを指示された場合を除き、「稼働中」または「より活発な」リソースを探して「より良い」回答を提供しようとしてはいけません。

ログとテレメトリーの概要

  • 脅威ログ:Cloud Firewall Plus と Cloud IDS の専用ログです。ディープパケットインスペクションを使用して、悪意のあるトラフィックパターン(SQL インジェクションやマルウェアなど)を特定します。
  • VPC Flow Logs:ネットワークインターフェースとの間で送受信される IP トラフィックのサンプルを記録します。トラフィック分析、量の傾向、通信量の多い送信元の特定に使用します。
  • ファイアウォールログ:ファイアウォールルールに一致した接続試行を記録します。「DENY」イベントの特定や「ALLOW」ルールの検証に使用します。
  • Cloud NAT ログ:NAT 変換を監査します。NAT ゲートウェイ経由のトラフィックの監査や、ポート枯渇のトラブルシューティングに使用します。
  • ネットワーキングのメトリクス:スループット、RTT(レイテンシ)、パケット損失の時系列データを集計します。過去の傾向やパフォーマンスの監視に使用します。
  • Connectivity Tests:経路診断用の静的分析ツールです。エンドポイント間のファイアウォールやルーティングの設定ミスを特定するために使用します。

手順

0. ログソースの優先順位
  • 必ず、大容量の分析や集計に Cloud Logging を使用する前に、BigQuery のリンク済みデータセット(big_query_linked_dataset、_AllLogs など)を確認します。傾向やブロック数の多いルールの特定には、こちらを優先して使用します。
  • メタデータの把握(BigQuery):サブネットワークで EXCLUDE_ALL_METADATA が設定されていると、VPC Flow Logs の VM 名が NULL になる場合があります。VM 名でのクエリで結果が返らない場合は、内部 IP アドレス(jsonPayload.connection.src_ip)を使用して再試行します。
1. ツールの選択と検出
  • まず MCP サーバーを使用:Cloud Monitoring MCP、BigQuery MCP、または Cloud Logging MCP を使用します。
  • リソースの検出:ユーザーが指定したリソース(NAT ゲートウェイ、VPN トンネルなど)がメトリクスやログで見つからない場合:
    1. run_shell_command と gcloud を使用して、プロジェクト内のリソースを一覧表示します。
    2. Cloud Logging MCP でリソース名を検索し、正しいラベルを確認します。
  • CLI へのフォールバック:MCP サーバーを使用できない場合に限り、gcloud または bq を使用します。gcloud monitoring は使用しないでください。制限されています。直ちに metrics-analysis.md に記載された curl テンプレートを使用します。
2. スキーマの検証とエラーからの復旧

BigQuery クエリが「Unrecognized name」エラーまたはスキーマの不一致で失敗した場合:

  1. スキーマを検証する:bq show --schema --format=json {project_id}:{dataset_id}.{table_id} を実行して、フィールド名と大文字・小文字の区別を確認します(jsonPayload と json_payload など)。 2. ドライランを実行する:修正したクエリを実行する前に、bq query --use_legacy_sql=false --dry_run "{query_text}" を使用して、費用や実行時間をかけずにフィールド参照を検証します。 3. 再試行する:特定した修正を元のクエリに適用して実行します。
3. 分析ガイド(必要な場合のみ参照)

詳細な SQL パターン、フィールド定義、高度なトラブルシューティングについては、 該当するリファレンスファイルを参照してください。

境界(重要)

  • 必ず、直接的な回答が判明した時点ですぐに提示してください。
  • 結果を提示する前に、探索的クエリを 2 回を超えて実行してはなりません。
  • ユーザーの明示的な許可がない限り、二次検証(たとえば、ファイアウォールによるブロックが見つかった後に VPC フローを確認すること)を行ってはなりません。
  • 必ず、実行前にレビュー用の生成された SQL を表示してください。
  • 必ず、Google Cloud コンソールの Flow Analyzer へのリンクを含めてください。
  • 一次データソース(たとえば、Cloud Monitoring の指標)から確定的な回答が得られている場合、2 つ目のデータソース(たとえば、BigQuery ログ)をクエリしてはなりません。ユーザーから差異の理由を明示的に尋ねられない限り、精度を「検証」するために指標とログを比較してはなりません。
  • 差異の深掘りを禁止:ツール A が結果(たとえば、80,000 件)を返し、ツール B が異なる結果(たとえば、1,000 件)を返した場合、差異を説明するために詳細な調査を開始してはなりません。一次ツールの結果を提示して、そこで終了してください。
  • 手順を減らすため、時間範囲の計算(たとえば、「12 時間前」)は必ず最初のターンで行ってください。
  • 非アクティブ状態の確定的な受け入れ:「0」、「トラフィックなし」、「データが見つかりません」、「レコードが見つかりません」という結果は、要求された期間とリソースに対する確定的な結果として扱ってください。これを確定した状態として必ず報告し、直ちに終了してください。
  • 標準化された検出経路:「Top-N」やボリュームベースの検出タスク(たとえば、「トラフィックが最も多い」、「ヒット数が最も多い」、「上位の通信相手」)では、必ず _AllLogs データセットに対する BigQuery の集計を使用してください。Monitoring API を使って個々の時系列データポイントを手動で集計することは、手順の効率が悪いため禁止されています。
  • 補助スクリプトの禁止:データの取得と解析のロジックはすべて、直接ツール呼び出し(bq、curl、gcloud)として実行してください。回避可能な環境や権限のエラーを招き、調査がタイムアウトする原因となるため、ローカルのシェルスクリプト(.sh)や Python ファイルを作成または実行してはなりません。
  • 検出の効率性:ボリューム分析(たとえば、「接続数はいくつか」や「バイト数が多い順の IP」)では、VPC Flow ログ(_AllLogs)に対する BigQuery の集計が一次的な情報源です。BigQuery のデータが利用可能であれば、それを確定的な結果として扱ってください。BigQuery の件数を「再確認」するために Monitoring API をクエリしてはなりません。

コメント