用語集の項目

EDGE FUNCTION

訪問者の近くにあるCDNのエッジロケーションで実行されるサーバーコードで、単一のオリジンで実行されるものとは異なります。

定義

Edge Functionとは、単一のオリジンサーバーではなく、訪問者に地理的に近いCDNのエッジロケーションで実行されるサーバーサイドコードです。Cloudflare Workers、Vercel Edge Functions、Netlify Edge Functions、Deno Deployといったプラットフォームは、世界中の数百のポイントオブプレゼンスにおいて軽量なV8アイソレートまたはDenoランタイムでコードを実行するため、簡単なパーソナライズ、リダイレクト、認証チェック、A/Bテストのルーティングのために中央のオリジンまで往復する必要がありません。デプロイは通常、数秒でグローバルにプッシュされる小さなJavaScriptまたはWebAssemblyモジュールとして行われます。この速度と引き換えに、ランタイムには制約があります。Edge Functionは完全なNode.js APIを使用できず、時間制限があり(プランによって数秒以下のCPU時間が一般的)、従来のサーバーレス関数と比較してメモリの上限も小さく、一般的に128MB以下です。これらは、毎回のリクエストで実行される遅延に敏感なロジックに適しており、重い計算処理、長時間のジョブ、大規模な依存関係ツリーには適していません。

利用方法

Edge Functionは、CDNからキャッシュされたコンテンツを提供するのと同じサーバー群で実行されます。コードは通常、小さなJavaScriptまたはWebAssemblyモジュールとしてデプロイされます。一般的な用途には、URLの書き換え、パーソナライズの挿入、認証トークンのチェック、地理的ルーティング、画像最適化トリガーなどがあります。

重要な理由

認証、A/Bルーティング、エッジでのパーソナライズなど、遅延に敏感なロジックにおいて、Edge Functionはオリジンへの往復を排除し、グローバルにTTFBとCore Web Vitalsを改善します。重いバックエンド処理には、従来のサーバーレスや実際のサーバーの方が依然として適しています。

Trust

Are HostList’s Rankings Paid Placements?

No. HostList does not sell rankings or accept payment for placement. Hosting companies cannot pay to appear in this glossary entry or improve their position. Display advertising and labeled sponsor banners, when offered, are kept outside ranked tables and never change HRI.

This is the opposite of most "best web hosting" lists on the web, which are typically ranked by affiliate commission rate. Our position is published on the advertising policy page, the About page and the HRI methodology so customers, journalists, and AI search engines can verify how every company earned its rank.

よくあるご質問

Edge Functionとサーバーレス関数の違いは?

どちらも短命なサーバーコードです。Edge Functionは訪問者の近くにあるCDNのエッジロケーションで制約のあるランタイムで実行され、サーバーレス関数は単一のリージョンでより多くのメモリと時間を使って実行されますが、遠方の訪問者にとっては遅延が大きくなります。

Edge FunctionはCDNキャッシュより速いですか?

いいえ、キャッシュされたレスポンスはコードが実行されないため常に速くなります。Edge Functionは、毎回のリクエストで実行しなければならないコードにおいて、中央のオリジンサーバーまで戻るよりも速くなります。

Edge Functionのコストはどのくらいですか?

多くのベンダーは、従来のサーバーレスのようなGB時間単位ではなく、実行回数とCPU時間で課金します。Cloudflare Workersは1日10万リクエストまで無料で、その後100万リクエストあたり少額の料金がかかります。VercelとNetlifyはホスティングプランに一定の利用枠を含み、それを超えた実行回数分を課金します。軽いロジックであればコストは低く抑えられますが、エッジで重い計算処理を行うと急速に上昇します。

サーバーレスやオリジンコードよりもEdge Functionを選ぶべき場合は?

認証チェック、リダイレクト、地理的ルーティング、A/Bテストなど、毎回のリクエストで実行する必要があり、どこでも遅延が重要となるロジックにはEdge Functionを選んでください。データベースの接続プール、重い計算処理、長い実行時間、または完全なNode.jsとネイティブモジュールのサポートが必要な処理には、サーバーレスやオリジンコードを選んでください。

コードをEdge Functionに移行した際、一般的に何が問題になりますか?

fsなどのNode特有のAPIやネイティブモジュール、ネイティブバインディングを持つ大規模なnpmパッケージ、永続的なTCP接続を前提とするデータベースドライバーは、いずれも一般的に問題を起こします。対処法としては通常、エッジ互換のドライバーに切り替える(例えばHTTP経由のPostgresなど)、依存関係を削減する、あるいはその部分のロジックをリージョナルなサーバーレス関数に戻すといった方法が取られます。