Edge Runtime
別名: エッジランタイム / Edge Functions
V8 isolate 上で動く Web 標準 API 限定の軽量ランタイム。Node.js コア API は使えないが起動が速く世界中のエッジ拠点に分散配置される。Vercel / Cloudflare Workers が代表例。
公開:
定義
Edge Runtime は V8 isolate 上で動く軽量な JavaScript 実行環境。fetch / crypto.subtle / Web Streams など Web 標準 API のみが使え、Node.js のコア API(fs / child_process / net)やネイティブモジュールは利用できない。
コールドスタートが数 ms と短く、世界各地のエッジ拠点で実行される点が特徴。
詳細
Vercel Edge Functions、Cloudflare Workers、Deno Deploy などが採用する形態で、Next.js では Route Handler や middleware に export const runtime = 'edge' を書くことで切り替えられる。
最寄りのエッジロケーションで処理されるためレイテンシが低く、API ゲートウェイ・認証チェック・A/B テスト用のリダイレクトに向く。
一方、実行時間や CPU 時間に上限があり、重い計算や DB の長時間接続には不向き。
よくある誤解
「Node.js より速い」と単純化されがちだが、コールドスタートが速いだけで CPU 性能自体は同等以下のことが多い。Buffer や process.env の一部は使えるものの、process 全体は提供されない。
ストリーム API も Web 標準(ReadableStream)であり、Node の Streams とは別物。
関連
Node API 非対応エラー や middleware の Edge 制約 と併せて読むと、Node ランタイムとの使い分けが整理しやすい。