コンテンツにスキップ

第15章: ログ転送とデータ分析基盤連携

15.1 エッジログを蓄積・可視化する重要性

サービスが成長すると、「どの国・地域からアクセスが多いか」「どのAPIエンドポイントでエラー頻発しているか」「Botによる不正アクセス傾向」などを詳細に追跡したくなります。

Cloudflareの標準ダッシュボードでも概要は把握できますが、BigQuery に蓄積することで、SQLを用いた高度なユーザー行動分析や機械学習への連携が可能になります。


15.2 個人開発における2つのログ転送アプローチ

アプローチ1: Workers から非同期送信(無料〜格安)

軽量なアクセスログや特定イベントを、Workersのバックグラウンド処理(ctx.waitUntil)を使ってGCP Cloud Pub/Sub または BigQuery Streaming Insert API に直接送信します。

// クライアントへのレスポンスを待たせずに非同期でBigQuery等へログ送信
ctx.waitUntil(sendAuditLogToGcp(logData));
return response;

アプローチ2: Cloudflare Logpush(上位プラン向け)

Cloudflare Logpushを有効化し、数分おきに圧縮JSONログを Google Cloud Storage (GCS) バケットへ自動書き出しします。GCSに置かれたデータはBigQueryの外部テーブルとして即座にクエリ可能です。


15.3 個人開発ハイブリッド構成のまとめ

  1. Cloudflare: グローバル入口、DNS、静的配信、認証ゲートウェイ、高速API(Hono)
  2. GCP: 高度なコンテナ処理(Cloud Run)、永続データウェアハウス(BigQuery)

この2つをCLIとIaCで連携させることで、個人開発でもエンタープライズ級の拡張性と超低コストを両立できます。


💡 用語解説コラム

[!NOTE] データウェアハウス (DWH)
BigQueryのように、テラバイト〜ペタバイト規模の大規模データを高速にSQL分析するために最適化された専用データベース。

[!NOTE] Streaming Insert
バッチファイル作成を待たずに、発生したログレコードを1行ずつ即座に分析基盤へ書き込むリアルタイムデータ投入技術。