Edge Functions
概要
エッジ関数は、アプリを使っている人の物理的に近くにある、世界中に分散したサーバー上で実行される小さなコード片です。すべてのリクエストが 1 つのデータセンターまで移動するのではなく、最も近いロケーションで実行されるため、応答が速く返ってきます。あなたは関数を書くだけで、どこでいつ実行するかはプラットフォームが処理します。
強み
- 非常に低いレイテンシ。コードがユーザーの近くで、多くの場合ミリ秒単位で実行される。
- 膨大なトラフィックに自動でスケールし、管理すべきサーバーがない。
- 典型的なワークロードでは安価。通常はリクエストごとに課金される。
- パーソナライズ、リダイレクト、認証チェック、軽量な API に最適。
- パッチ適用や稼働維持をすべきインフラがない。
トレードオフ
- 厳しい制限: 短い実行時間、小さなメモリ、上限のあるバンドルサイズ。
- 限られたランタイム。多くの Node.js ライブラリやネイティブモジュールは動きません。
- 永続的なローカルストレージや長命な接続はなく、外部データベースに頼ることになります。
- ロジックが多数のロケーションに分散するため、デバッグが難しくなります。
- 重い CPU 処理(画像処理、大規模な計算)には不向きです。
使いどころ
小さなタスクに対して、高速でグローバルに分散した応答が必要なときにエッジ関数を使いましょう。A/B テスト、位置情報、リクエストの書き換え、トークン検証、データベースの前面に置く薄い API レイヤーなどです。
バイブコーディングとの相性
これは AI に配線を任せるのに最も扱いやすい対象の 1 つです。Cloudflare Workers、Vercel、Deno Deploy といったプラットフォームはシンプルな設定ファイルを使い、AI エージェントは関数のスキャフォールド、デプロイ設定の作成、CLI の実行までを一貫して行えます。コツ: 使うプラットフォーム(例: 「Cloudflare Workers」)を最初にエージェントへ伝えましょう。そうすれば正しい設定フォーマットを生成し、そのプラットフォームのランタイム制限を尊重します。さもないと、フル機能の Node.js を前提にして、デプロイ時に失敗するコードを生み出すことがあります。
# wrangler.toml — Cloudflare Workers edge function
name = "my-edge-app"
main = "src/index.js"
compatibility_date = "2026-06-01"
[vars]
GREETING = "hello from the edge"
# デプロイしてログをtailする
npx wrangler deploy
npx wrangler tail