CDN・エッジ

エッジファンクション えっじふぁんくしょん

エッジコンピューティングCDNサーバーレスレイテンシミドルウェアVercel
エッジファンクションについて教えて

簡単に言うとこんな感じ!

ユーザーの「すぐ近く」にある小さなサーバーで、プログラムをちょこっと実行できる仕組みだよ!遠い本拠地まで行かなくても、近くで処理してくれるから爆速で返ってくるってこと!


エッジファンクションとは

エッジファンクション(Edge Function)とは、世界中に分散配置されたエッジサーバー(ユーザーの物理的に近い場所にあるサーバー)上で、小さなプログラム(関数)を直接実行できる仕組みです。従来のWebシステムでは、ユーザーのリクエストは遠くにある「オリジンサーバー(本拠地)」まで往復していましたが、エッジファンクションを使うと、その往復を省いて近くで処理できます。

代表的なサービスとしては、Vercel Edge Functions・Cloudflare Workers・Fastly Compute などがあります。これらはいずれもサーバーレス(サーバーの管理が不要)で、コードを書いてデプロイするだけで世界中のエッジで動く、という手軽さが特徴です。

ビジネス的には「ページの表示が速くなる」「ユーザーの国や属性によって表示を切り替えやすくなる」といった効果があり、ECサイトやSaaSのフロントエンドに積極的に採用されています。


エッジファンクションの仕組みと特徴

項目従来のサーバー処理エッジファンクション
実行場所特定のデータセンター(遠い)ユーザーに最も近いエッジサーバー
起動速度コールドスタートに数秒かかることもほぼ0ms(V8 Isolate等の軽量実行環境)
サーバー管理必要(スケール設計も必要)不要(サーバーレス)
得意な処理重い計算・DB処理認証・リダイレクト・パーソナライズなど軽量処理
苦手な処理レイテンシが大きい処理長時間・大容量・直接DBアクセス

覚え方

エッジ=端っこ」が語源。インターネットの”端っこ”(=ユーザーに近い場所)でコードを走らせるから「エッジファンクション」。「本社(オリジン)に電話しなくても、近くの支店(エッジ)が即答してくれる」イメージ!

主なユースケース

  • 認証・認可: ログイン状態をエッジで確認してリダイレクト
  • A/Bテスト: ユーザーをエッジで振り分けて異なるページを表示
  • ジオフィルタリング: アクセス元の国を判定して言語・価格を切り替え
  • ヘッダー操作: レスポンスヘッダーをオリジンに届く前に加工
  • ボット対策: 不審なリクエストをエッジで弾く

歴史と背景

  • 2010年代前半: CDN(コンテンツ配信ネットワーク)が普及し、静的ファイルをエッジで配信するのが一般的になる
  • 2017年: CloudflareがCloudflare Workersを発表。CDNのエッジでJavaScriptを実行できる世界初の商用サービスとして注目を集める
  • 2018〜2019年: Fastly・AWSなどもエッジコンピューティング製品を拡充(Lambda@Edge など)
  • 2021年: VercelがEdge Functionsを発表。Next.jsとの統合でフロントエンド開発者に一気に普及
  • 2022〜現在: Deno Deploy・Netlify Edge Functions など競合が増加。エッジでのミドルウェア処理がWebフレームワークの標準機能になりつつある

エッジファンクションとその他の実行環境の比較

従来のサーバーレス(AWS LambdaなどのFaaS)とエッジファンクションはよく混同されますが、実行場所と特性が異なります。

実行環境の比較:エッジ vs サーバーレス vs オリジン エッジファンクション (例: Cloudflare Workers) 📍 実行場所: エッジ ⚡ 起動: 超高速(~0ms) 🌍 分散: 世界中 🔧 得意: 軽量・認証・振分け 💾 DB直接: ✗ 難しい サーバーレス(FaaS) (例: AWS Lambda) 📍 実行場所: 特定リージョン ⚡ 起動: やや遅い(コールドスタート) 🌍 分散: 限定的 🔧 得意: 中〜重量処理 💾 DB直接: ◎ 得意 オリジンサーバー (例: 自社サーバー・EC2) 📍 実行場所: 固定DC ⚡ 起動: 常時起動 🌍 分散: なし 🔧 得意: 何でもOK 💾 DB直接: ◎ 得意 ユーザーに近い順:エッジ → サーバーレス → オリジン

エッジファンクションが特に活きるシーン

ユーザー(東京)

   ▼  ←─ ここで処理!(遅延: 5ms以下)
エッジサーバー(東京)
   │  エッジファンクションで認証・振り分け・ヘッダー加工

オリジンサーバー(米国)←─ 必要なときだけ呼ぶ

エッジで「軽い仕事」を片付けることで、オリジンサーバーへの不要なリクエストを削減し、全体のパフォーマンスとコストを下げられます。


関連する規格・RFC

規格・仕様内容
WinterCG(Web-interoperable Runtimes Community Group)エッジ・サーバーレス環境向けのWeb標準API互換仕様を策定するW3Cコミュニティグループ
Web Workers APIブラウザのバックグラウンドスレッド仕様。Cloudflare WorkersなどはこのAPIを参考に設計されている
Fetch API(WHATWG)エッジファンクション内でHTTPリクエストを行う際に使われる標準API

関連用語