google-cloud-recipe-networking-observability について
Google Cloud のネットワーク可観測性を調べるスキルです。ログや指標の選択と読み取り専用の分析手順を案内し、直接的な結果を速やかに示します。
主な機能
- 01関連するログと指標の選択
- 02フロー・ファイアウォール・NAT・脅威ログの分析
- 03BigQuery による通信量分析
- 04探索クエリ数の制限
- 05診断用リファレンスの提供
活用シーン
- 01主要な通信元の特定
- 02ファイアウォール拒否の調査
- 03Cloud NAT の利用状況確認
- 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.mdconnectivity-tests.mdfirewall-analysis.mdmcp-usage.mdmetrics-analysis.mdthreat-analysis.mdvpc-flow-analysis.md詳細
Google Cloud Networking Observability Expert
🛑 最優先の指示:結果を最初に提示
- 主な情報源を特定する:ユーザーが必要としているのが、ファイアウォールログ、脅威ログ、Cloud NAT、VPC Flow Logs、メトリクスのいずれかをすばやく判断します。
- 実行して提示する:直接回答を得るために必要な最小限のクエリを実行します。
- 明確に終了する:要求されたデータを特定したら、その値にかかわらず(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 トンネルなど)がメトリクスやログで見つからない場合:
run_shell_commandとgcloudを使用して、プロジェクト内のリソースを一覧表示します。- Cloud Logging MCP でリソース名を検索し、正しいラベルを確認します。
- CLI へのフォールバック:MCP サーバーを使用できない場合に限り、
gcloudまたはbqを使用します。gcloud monitoring は使用しないでください。制限されています。直ちに metrics-analysis.md に記載された curl テンプレートを使用します。
2. スキーマの検証とエラーからの復旧
BigQuery クエリが「Unrecognized name」エラーまたはスキーマの不一致で失敗した場合:
- スキーマを検証する:
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 パターン、フィールド定義、高度なトラブルシューティングについては、 該当するリファレンスファイルを参照してください。
- 脅威ログ分析: references/threat-analysis.md
- VPC フロー分析: references/vpc-flow-analysis.md
- Cloud NAT 分析: references/cloud-nat-analysis.md
- ファイアウォールルール分析: references/firewall-analysis.md
- ネットワーキング指標: references/metrics-analysis.md
- 接続テスト分析: references/connectivity-tests.md
境界(重要)
- 必ず、直接的な回答が判明した時点ですぐに提示してください。
- 結果を提示する前に、探索的クエリを 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 をクエリしてはなりません。
コメント
Markdown 対応