「ネットワーク observability は logs/metrics 量を制御しないとコストが爆発する」が定説。実運用で踏むパターン + SRE の常識を集約。
状況: セキュリティチームが「全 traffic を保存したい」と全 subnet で logging-flow-sampling=1.0 + 5 秒 aggregation。1 ヶ月で Cloud Logging ingestion fee が $50,000。
原因: Flow Logs は ingest size 課金 ($0.50/GB)。100% sampling は通常 10% の 10倍のログ量。
影響: 予算超過、CFO から SRE に問合せ。
復旧: production subnet は 50%, dev は 5% に sampling 調整。Cloud Logging exclusion filter で不要 record 削除。
再発防止:
状況: Network Analyzer が「BGP MD5 keys に弱い暗号」「Cloud NAT port 不足傾向」などの findings を提示するが、誰も見ていない。半年後に複数事故が連鎖発生。
原因: Network Analyzer は API でしか自動取得できない、UI を能動的に見ないと気付かない。
影響: 予防可能だった事故 4 件発生、root cause analysis でこのツールが既に warn していたことが判明。
復旧: Network Analyzer findings を毎週 BigQuery export + Looker Studio で可視化、SRE 週次 review に。
再発防止:
状況: ある障害対応で、SRE 全員が手動で Connectivity Tests を実行。プロジェクト quota (1000/day) を超過、tests が rate limit。
原因: Connectivity Tests は 1 test = 1 API call、組織で乱発すると quota 枯渇。
影響: 障害調査が遅延、根本原因特定に 2 時間追加。
復旧: 1 人が代表で実行、結果を全員で共有するワークフローに。
再発防止:
状況: 100 endpoint × 6 region × 1 min interval = 60万 check/day。月 $600。実は 1 min interval は不要。
原因: uptime check は endpoint × region × frequency で課金 (1M check で $0.30 程度)。"念のため 1min" が積み重なる。
影響: Monitoring cost が想定外の $600/月。
復旧: Critical endpoint のみ 1 min、その他は 5-15 min に。
再発防止:
状況: セキュリティ要件で全 subnet を mirror 有効化。コレクタ ILB の backend (Cloud IDS) が CPU 100%、半数のミラーパケットが drop。
原因: Packet Mirroring は 完全コピーのため、subnet traffic が 2 倍に。コレクタ側の処理能力が追いつかず。
影響: IDS の検知が遅延、また mirror がプロダクション NW にも影響 (waste of bandwidth)。
復旧: mirror filter で tcp,80,443 など protocol/port 絞り込み。Cloud IDS backend を scale up。
再発防止:
状況: Flow Logs cost 削減で exclusion filter を作ったら、誤って Admin Activity Audit Log も除外。3 ヶ月後 SOC2 audit で「監査証跡なし」と指摘。
原因: Exclusion filter の絞り込みが甘く、logName:flow-logs ではなく logName=~".*log.*" のような broad match。
影響: Compliance violation、過去 3 ヶ月分の audit log 再構成不能。
復旧: Exclusion filter を厳密化、Admin Activity は必ず保持。
再発防止:
状況: アジア圏で p99 latency 急増、SRE は自社 backend をスケールアップ。実は Google の us-central1 ↔ asia-east1 区間で transient packet loss。
原因: Performance Dashboard を活用していなかった。Google-wide vs project-scoped の latency 切り分けができていない。
影響: 不要な scale up でコスト増 ($800/日)、根本原因特定遅延。
復旧: Performance Dashboard を確認し Google 側問題と特定。Google Cloud Support に case 開設。
再発防止:
状況: Cloud Logging が log schema を更新 (新フィールド追加)。BigQuery export 先のテーブルで partition mismatch、ダッシュボードが壊れる。
原因: Cloud Logging の sink は schema 自動進化するが、既存テーブルの query が新 schema 対応していない。
影響: SRE dashboard が一晩使えず、incident triage が遅延。
復旧: BigQuery view で schema 互換性を吸収、ダッシュボード復旧。
再発防止:
状況: 高頻度評価 (10s) の alert policy を 100 個追加。Cloud Monitoring API rate limit に到達、alert 評価が遅延。
原因: MQL ベース alert は per-query API quota がある。複雑な MQL の高頻度評価は cost 高。
影響: 重要 alert が遅延通知、incident response 遅延。
復旧: 評価頻度を 60s に下げ、MQL を simplify。
再発防止:
状況: Network Topology を信じて分析、ある GKE → 外部 API 経由のトラフィックが「見えない」。実はそれが大量に流れて egress cost を爆発させていた。
原因: Network Topology は VPC Flow Logs が有効な subnet のみ表示。Flow Logs 無効化されている dev subnet は見えない。
影響: 月 $5,000 の egress を半年見落とし。
復旧: 全 subnet で Flow Logs 有効化 (低 sampling)。
再発防止:
| 項目 | 単価 |
|---|---|
| Ingestion | 最初の 50 GB/月 無料、以降 $0.50/GB |
| Retention > 30 days | $0.01/GB/月 |
| BigQuery export | 無料 (BigQuery 側で storage 課金) |
| PubSub export | PubSub 課金 |
| 項目 | 単価 |
|---|---|
| Chargeable metrics (custom + non-GCP) | 最初 150 MB 無料、以降 $0.2580/MB |
| API calls | 1M 無料/月、以降 $0.01/1K calls |
| Uptime check | $0.30/1M executions |
| SLO definition | 無料 |
Flow Logs 自体は無料、保存先 Cloud Logging が ingest 課金。Packet Mirroring もリソース料金は無料、コレクタ ILB と保存先で課金。
Network Topology, Connectivity Tests (10/project/day 無料、超過 $0.40/test), Performance Dashboard, Firewall Insights, Network Analyzer は基本無料 (一部 advanced 機能で課金あり)。
全 subnet で full sampling、Logging cost 月 $50,000 級。
365 day retention で $0.01/GB/month が積み重なる。BigQuery long-term storage の方が安い。
高 cardinality な label (user_id 等) で metric が爆発、Monitoring cost が桁違いに。
1 min × 6 region の積み増しで cost。
全 subnet で mirror、コレクタ ILB の処理能力 + コスト両方圧迫。
API quota 枯渇 + per-test 課金。
| シグナル | メトリック / 仕組み | 閾値 |
|---|---|---|
| Logging ingest 急増 | logging.googleapis.com/log_entry_count | baseline +50% |
| BigQuery sink delay | BigQuery LOAD job duration | > 10 min |
| Custom metric cardinality | Monitoring API | > 1M time series / metric |
| Uptime check fail | uptime_check_pass | = 0 for 3 consecutive |
| Flow Logs ingest cost | Billing export | 前日比 +50% |
| Network Analyzer HIGH finding | finding API | 新規 HIGH |
| Cloud Monitoring quota | API quota | > 80% |
| Connectivity Tests fail | scheduled test API | 失敗時 |
| Packet Mirroring drop | コレクタ ILB の healthCheck + Backend CPU | backend CPU > 80% |
| Audit log retention drop | Logging sink config 変更 | delete event |
1. Cost Explorer で sku 別 cost を確認 (cloud_logging_ingestion)
2. Cloud Logging Logs Router で sink 別 ingest 量を確認
3. 急増 logName を特定 (compute.googleapis.com/vpc_flows, etc.)
4. 短期対処:
- Exclusion filter で不要 record 除外
- sampling rate を下げる (Flow Logs 等)
5. 中期対処:
- BigQuery sink に切替え、Cloud Logging retention 短縮
- Logging quota を設定 (project level)
6. Post-mortem:
- Logging cost SLI を作成、週次レビュー
- 新規 log source 追加時の review プロセス整備