結論
リクエストが来たときだけコードを動かすサーバーレス実行環境 5 つを、「無料枠を何の単位で数えるか」「1 回の呼び出しに CPU・待ち時間・メモリをどこまで許すか」「カードと商用利用の条件」の 3 点で比べました。
- 計算は短く、外部 API の応答待ちが中心で、回数が多い → Cloudflare Workers。待ち時間は CPU 時間に数えられず、カードの登録も要りません
- 1 回の呼び出しで秒単位の計算をする → Deno Deploy。呼び出しごとの CPU ではなく、月の CPU 時間の総量で数えます
- 長い処理や大きなメモリが要り、AWS アカウントを作ってよい → AWS Lambda。上限は 5 つの中で最も高い一方、無料プランのアカウントには期限があります。Vercel の Hobby は非商用の個人利用に限られ、Netlify は無料枠を使い切ると全プロジェクトが止まります
| こういう条件なら | 対象 | 決め手 |
|---|---|---|
| 計算は短く、外部 API や LLM の応答を待つ時間が長い。回数は多い | Cloudflare Workers | 「主な制約」列(待ち時間は CPU 時間に数えない)と「前提条件」列(支払い情報の入力なし) |
| 1 回の呼び出しで秒単位の計算をする。回数は少なめ | Deno Deploy | 「無料枠」列(月の CPU 時間の総量)と「主な制約」列(高 CPU 負荷とスクレイパーは禁止) |
| 非商用の個人プロジェクトで、長めの実行時間と大きめのメモリが要る | Vercel Functions の Hobby | 「主な制約」列(非商用の個人利用のみ) |
| すでに Netlify にサイトがあり、関数を少し足すだけ | Netlify Functions | 「無料枠」列(デプロイ・帯域と共有するクレジット)と「主な制約」列(使い切ると全プロジェクトが停止) |
| 長い処理や大きなメモリが要り、AWS アカウントを作ってよい | AWS Lambda | 「主な制約」列(実行時間とメモリの上限が最も高く、無料プランのアカウントは期限つき) |
比較表
2026-11-03 時点の公式情報に基づきます。出典は末尾の番号に対応しています。料金は個人が申し込める最小のプランで揃え、金額は月払いの月額(USD)です。AWS Lambda の単価は米国東部(バージニア北部)の第 1 段です。対象名を押すと、その対象の詳細に移ります。
| 対象 | 料金 | 無料枠 | 主な制約 | 前提条件 | 検証区分 | 出典 |
|---|---|---|---|---|---|---|
| Cloudflare Workers | Free は USD 0。Workers Paid は最低 USD 5/月(1,000 万リクエストと CPU 3,000 万 ms 込み) | 1 日 10 万リクエスト(UTC 0 時にリセット)。CPU 時間の月間の枠は無い | CPU 10 ms/呼び出し(待ち時間は数えない)。メモリ 128 MB、サブリクエスト 50。実行時間は上限なし | Cloudflare アカウント。作成手順に支払い情報の入力は無い。API トークンの権限は Workers Scripts Write | 実行 | [1] |
| Deno Deploy | Free は USD 0。Pro USD 20/月、Builder USD 200/月 | 月 100 万リクエスト・Active CPU 10 時間。Memory time 150 GiB 時、転送 20 GiB、アプリ 10 | 呼び出しごとの CPU 上限とタイムアウトは公式に記載なし。高 CPU 負荷とスクレイパーは利用規定で禁止 | GitHub か Google のアカウントで登録。カード要否は公式に記載なし。トークンは権限を選べない | 実行 | [6] |
| Vercel Functions | Hobby は USD 0。Pro USD 20/月(同額のクレジット込みで、超過は従量) | 月 100 万呼び出し・Active CPU 4 時間。Provisioned Memory 360 GB 時、転送 100 GB | Hobby は非商用の個人利用のみ(広告の掲載、アフィリエイトが主目的のサイトは商用)。最大 300 秒、2 GB / 1 vCPU | アカウントのみ。カードは Pro に上げるときに入力する。上限を超えた機能は多くが 30 日待ち | 仕様 | [10] |
| Netlify Functions | Free は USD 0。Personal USD 9/月(1,000 クレジット)、Pro USD 20/月(3,000 クレジット) | 月 300 クレジット(追加購入不可)。本番デプロイ 15/回、コンピュート 10/GB 時、帯域 20/GB | 使い切ると全プロジェクトが停止する。同期 60 秒、バックグラウンド 15 分。メモリ 1,024 MB(Free は変更不可) | アカウントのみ。Free のカード要否は公式に記載なし。2025-09-04 以降の新規アカウントはクレジット制 | 仕様 | [14] |
| AWS Lambda | 最低料金なしの従量。x86 USD 0.0000166667/GB 秒、Arm USD 0.0000133334/GB 秒、USD 0.20/100 万リクエスト | 月 100 万リクエスト・40 万 GB 秒(期限なし) | タイムアウト最大 900 秒、メモリ 128〜10,240 MB、本文 6 MB(同期)。無料プランのアカウントは 6 か月で閉鎖 | AWS アカウント。新規の多くは登録時に支払い方法の入力が不要(本人確認で求められる場合あり)。新規アカウントは同時実行とメモリの枠が低い | 仕様 | [18] |
比較の前提
- 対象に含めたもの: 公式の料金ページとドキュメントで、無料枠・上限・料金を確認できた 5 つです。Cloudflare Workers と Deno Deploy はコードを直接デプロイして動かす形、Vercel と Netlify はサイトのホスティングに関数が付く形、AWS Lambda は関数だけを従量で動かす形です
- 除外したもの: Google Cloud と Azure の関数実行サービスは、今回の確認日で料金と上限を取り直せていないため、次回の更新に回しています。静的なファイルの配信だけなら関数は要らないので、静的サイトの無料ホスティング比較が対象になります。Workers から呼べる画像変換は、画像配信 CDN の無料枠比較で比べています
- 検証区分の意味: 実行 = AI が実際に動かして確認した / 仕様 = 公式ドキュメントで確認したのみ
- 「CPU 時間」と「実行時間」は別のものです。CPU 時間はコードが計算していた時間、実行時間は呼び出しの開始から終了までの時間で、外部 API の応答を待っている間は実行時間だけが進みます。Workers は待ち時間を CPU 時間に数えないと明記していて [2]、Vercel の Active CPU も I/O の待ちを数えません [11]。Lambda は実行時間 × メモリ(GB 秒)で数えるので、待っている間も課金の対象です [18]
- 選び方の軸: 「無料枠」列は、数える単位で分かれます。Workers は日ごとのリクエスト数、Deno Deploy・Vercel・Lambda は月のリクエスト数に加えて CPU 時間やメモリ × 時間、Netlify はデプロイや帯域と共有するクレジットで、1 つの棒グラフに並ばないため、棒グラフは実行時間の上限だけを載せています。「主な制約」列は、CPU 時間と実行時間のどちらに上限を置くかと、無料が続く期間で分かれます。Workers・Deno Deploy・Vercel Hobby・Netlify Free は期限の無い無料プランで、Lambda も無料枠そのものには期限がありませんが、AWS の無料プランというアカウントの種類には期限があります [20][22]。「前提条件」列は、登録時にカードや支払い情報が要るかと、それが公式に書かれているかで分かれます
- 検証の手順: Cloudflare Workers に 2026-09-19 と 2026-09-20、Deno Deploy に 2026-09-19 に行い、Vercel・Netlify・Lambda は公式ページの確認にとどめています。どちらも CLI にはログインせず、API のトークンと curl だけで、(1) トークンを非対話で使う (2) API でコードをデプロイする (3) 公開された URL を呼び出す (4) 同じコードで上限に当てる(CPU を使う反復、待つだけの呼び出し、50 回を超えるサブリクエスト、メモリの確保)(5) API で消す、の 5 段階を流しました。結果は「各対象の詳細」の「検証した内容」に書いています
- Vercel を実行区分にしていないのは、このサイトが広告リンクを載せているためです。「主な制約」列のとおり Hobby は非商用に限られるので、このサイトの検証としてデプロイを残すことはしていません
- API のトークンを AI エージェントに渡す手段は、シークレット管理 CLI 6 つの比較で比べています。この記事の検証でも、そこで扱った
op runでトークンを注入しています
各対象の詳細
Cloudflare Workers
Cloudflare のエッジで JavaScript や WebAssembly を動かす実行環境です。無料プランは 1 回の呼び出しの CPU を絞る代わりに、回数を日ごとの枠で多く許し、待ち時間には上限を置いていません。
- 向く条件
- 計算は短く、外部 API や LLM の応答を待つ時間が長い処理を数多くさばきたい
- 向かない条件
- 1 回の呼び出しで秒単位の計算をしたい(公式が保証する CPU 時間は短い)
料金体系: Workers Paid の超過は 100 万リクエストあたり USD 0.30、CPU 100 万 ms あたり USD 0.02 です。実行時間には課金がありません [1]。このサイト自体も Workers の静的アセット配信で動いていますが、静的アセットへのリクエストは無料で、無料枠のリクエスト数には数えられません [1]
制約: 1 日の上限を超えると Error 1027 になり、ルートの設定によって Worker を素通しするか、エラーページを返すかが決まります [2]。メモリの上限は isolate 単位で、同時の外向き接続は 6 です。Worker は 100 個まで、Cron Triggers は 5 個まで、Worker のサイズは非圧縮で 64 MiB までです [2]。CPU かメモリを超えると Error 1102 が返ります。isolate には、まれに上限を超える呼び出しを許す余裕があり、続けて超えると打ち切る、と limits ページに書かれています [2]。HTTP の実行時間に上限が無いのは、クライアントがつながっている間です。切断後や応答後の処理は
ctx.waitUntil()で最大 30 秒です [2]前提条件: アカウントの作成手順は、メールアドレスとパスワードの入力だけです [3]。デプロイは
wrangler deployのほか、API(PUT /accounts/{account_id}/workers/scripts/{script_name})と、公式の Terraform プロバイダーでもできます [4][5]検証した内容: 2026-09-19 と 2026-09-20 に、権限を 2 つ(Workers Scripts Edit と Account Analytics Read)に絞り、ゾーンの権限を付けない API トークンで実行しました。本番のサイトには触れず、検証用の名前の Worker を
workers.devに出して消しています。実行場所は 2 日とも KIX でした。操作 結果 GET /user/tokens/verify200。トークンだけで非対話に使える PUT .../workers/scripts/{name}(multipart で ES module を送る)200(約 1.0 秒)。続けて POST .../subdomainでworkers.devに公開。wrangler もログインも不要公開した直後に GET /1 回目で 200(約 0.7 秒)。以後は 1 回 0.6 秒前後 CPU を使う反復を 1 回ずつ CPU 時間 5〜1,513 ms の呼び出しは 200。約 2 秒(2,020 ms と 1,884 ms)で打ち切られて 503 と error code: 1102重い呼び出しの直後に同じ反復 CPU 1,513 ms の直後は 407 ms で、その直後は 20 ms で 1102。1 秒あけると 1,572 ms でも 200 CPU 106〜156 ms の呼び出しを 5 回続ける 2 日とも 5 回すべて 200 待つだけの呼び出し(30 / 60 / 90 / 120 / 300 秒) すべて 200。記録された CPU 時間は 30 秒待ちで 7 ms、90 秒待ちで 0.7 ms サブリクエストを 51 回 50 回は成功し、51 回目の fetch()が例外「Too many subrequests by single Worker invocation」。catch でき、Worker は 200 を返せるメモリを 64〜512 MB 確保 200 MB までは 200、300 MB からは 503 と error code: 1102DELETE .../workers/scripts/{name}?force=true200。同じ名前をもう一度消すとエラーになり、URL は 404 CPU 時間は GraphQL Analytics API の
workersInvocationsAdaptiveで呼び出しごとに読みました。単発なら 10 ms を大きく超えても通りましたが、これは limits ページの言う「余裕」の範囲で、公式が保証しているのは 10 ms だけです。重い呼び出しが続いた直後は 20 ms で打ち切られているので、当てにできる値ではありません。1 日 10 万リクエストの上限はアカウント全体で共有されるため、当てていません。Worker を呼んだのは 2 日で合計 60 回です
Deno Deploy
Deno の開発元が運用する実行環境で、TypeScript をそのままデプロイできます。無料プランは 1 回の呼び出しに CPU の上限を書いておらず、月の Active CPU という総量で数えます。
- 向く条件
- 1 回の呼び出しで秒単位の計算をしたい。回数は少なめで、月の総量に収まる
- 向かない条件
- 応答まで長くかかる処理を動かしたい。スクレイパーや高 CPU 負荷の処理を動かしたい
料金体系: Pro は 500 万リクエスト・Active CPU 50 時間、Builder は 2,500 万リクエスト・Active CPU 500 時間を含みます。超過は 100 万リクエストあたり USD 2、CPU 1 時間あたり USD 0.10 です [6]
制約: Free のカスタムドメインは 5、KV は 1 GiB です [6]。メモリは、料金ページが「既定の割り当ては 768 MB」、docs が「最大 512 MB」と書いていて、公式内で数字が揃っていません [6][7]。デプロイの総サイズは 1 GB までです [7]。Free の枠を超えたときの挙動も、料金ページと docs に記載がありません [6][7][8]。アイドル時は 5 秒〜10 分でインスタンスが止まります [8]。利用規定が禁じているのは、暗号通貨のマイニング、機械学習のような高 CPU 負荷、外部サイト向けのメディア配信、スクレイパー、フォワードプロキシ、VPN です。会社のサイトや EC サイトは許容例に入っています [9]
前提条件: API は
https://api.deno.com/v2で、組織のアクセストークンを Bearer で渡します。トークンの期限は 24 時間・1 週・1 か月の 3 択でした(2026-09-19 に発行画面で確認)検証した内容: 2026-09-19 に、期限 1 週の組織アクセストークンで実行しました。
denoコマンドは使わず、ソースを JSON に埋めて API に送っています。登録は GitHub 連携で完了し、カードの入力は求められませんでした。実行場所はord(シカゴ)でした。操作 結果 GET /v2/apps200。トークンだけで非対話に使える POST /v2/appsのあとPOST /v2/apps/{app}/deploy202 で buildingになり、6.0 秒でsucceeded。CLI も Git 連携も不要デプロイの直後に GET /1 回目で 200(約 1.5 秒)。以後は日本から 1 回 0.85 秒前後 CPU を使う反復を 1 回ずつ Workers が約 2 秒で打ち切った反復は 200(約 2.1 秒)。その 10 倍の約 24 秒の計算も 200 さらに 5 倍の反復 107 秒で 503 DEPLOYMENT_TIMED_OUT待つだけの呼び出し(30 / 60 / 90 / 120 / 300 秒) 90 秒までは 200。120 秒は 99.7 秒で 503 DEPLOYMENT_TIMED_OUT、300 秒は 107 秒で 502BOOT_FAILEDサブリクエストを 51 回 51 回とも成功 メモリを 200〜1,500 MB 確保 512 MB までは 200、700 MB からは 500 INTERNAL_SERVER_ERRORDELETE /v2/apps/{app}204。同じアプリをもう一度消すと 404 APP_NOT_FOUND約 100 秒で応答が切られる挙動は、公式には書かれていません。計算していても待っているだけでも同じ位置で切られたので、CPU ではなく応答までの時間の壁です。タイムアウトの後も次の呼び出しは 200 で、アプリが止められることはありませんでした。使用量は
GET /v2/apps/{app}/analyticsが 15 分ごとに返し、この検証全体の CPU は Free の月 10 時間の 1% 未満でした。アプリを呼んだのは 25 回前後です
Vercel Functions
フロントエンドのホスティングに付く関数の実行環境で、Hobby でも 1 回の実行時間とメモリに大きめの上限があります。ただ、Hobby は非商用の個人利用に限られるので、広告を載せるサイトでは選べません。
- 向く条件
- 非商用の個人プロジェクトで、長めの実行時間と大きめのメモリが要る
- 向かない条件
- 広告やアフィリエイトリンクを載せるサイトで使いたい
- 料金体系: Pro のクレジットを超えた分は、100 万呼び出しあたり USD 0.60、Active CPU 1 時間あたり USD 0.128 から、Provisioned Memory 1 GB 時あたり USD 0.0106 からの従量です [12]
- 制約: 実行時間は既定と最大が同じ値で、Pro は 800 秒まで延ばせます。メモリは固定で、リクエストとレスポンスの本文は 4.5 MB までです。時間内に終わらないと 504
FUNCTION_INVOCATION_TIMEOUTが返ります [11]。商用利用にあたる例には、広告の掲載とアフィリエイトリンクが主目的のサイトのほか、訪問者への支払いの要求、商品やサービスの販売の宣伝があります。寄付の依頼は商用利用にあたらないと注記されています [12] - 前提条件: 表の「前提条件」列に載せたとおりです [13]
- 検証した内容: 公式の料金ページと docs を確認しました。「比較の前提」のとおり、このサイトは Hobby の条件に合わないため実行していません
Netlify Functions
サイトのホスティングに付く関数の実行環境です。無料プランの単位はクレジットで、関数の実行だけでなく、本番デプロイ・帯域・リクエストと同じ枠を分け合います。
- 向く条件
- すでに Netlify にサイトがあり、関数を少し足すだけ
- 向かない条件
- 本番デプロイを頻繁に行いたい。枠を使い切ってもサイトを止めたくない
- 料金体系: Free と違い、Personal と Pro はクレジットを買い足せます [15][16]
- 制約: Web リクエストは 1 万件あたり 2 クレジットを使います [14][16]。本番デプロイだけで数えると、月 20 回で無料枠を使い切ります。使い切ったときは、訪問者に「Site not available」のページが出ます。残高は次の請求周期の頭に戻ります [16]。スケジュール関数は 30 秒で、関数の実行時間はどれも変更できません。メモリを変えられるのはクレジット制の Pro と Enterprise だけです。本文は 6 MB まで、既定のリージョンは米国東部(オハイオ)です [17]
- 前提条件: 2025-09-04 より前に作ったアカウントは、旧プランのままです [15]
- 検証した内容: 公式の料金ページと docs を確認しました。本番デプロイのたびに 15 クレジットを使うため、検証の回数を決めたうえで次回の更新で実行に上げます
AWS Lambda
AWS の関数実行サービスで、1 回の実行時間とメモリの上限が 5 つの中で最も高い対象です。無料枠そのものに期限はありませんが、無料プランのアカウントには期限があり、過ぎると閉じられます。
- 向く条件
- 長い処理や大きなメモリが要り、AWS アカウントを作ってよい
- 向かない条件
- 無料プランのアカウントのまま長く使い続けたい。待っている時間の課金を避けたい
- 料金体系: 料金ページの単価の表はリージョンを選ぶと描画されるので、数字は AWS が公開している価格表(Price List。発行日 2026-10-30)から読みました [23]
- 制約: メモリは 1,769 MB で 1 vCPU 相当で、同期呼び出しの本文の上限は要求・応答の両方に掛かります。デプロイパッケージは zip で 50 MB、展開後 250 MB、コンテナイメージは 10 GB までです。同時実行の既定は 1,000 で、新規アカウントの低い枠は利用に応じて自動で引き上げられます [19]。メモリ 128 MB の関数なら、40 万 GB 秒は 320 万秒ぶんの実行時間にあたります
- 前提条件: 無料プランでは、有料プランに上げるまで請求はされません [21]。新規アカウントは登録時に USD 100、活動に応じて最大 USD 100 のクレジットを受け取ります。無料プランは 6 か月たつか、クレジットを使い切ると終わり、アカウントが閉じられます。データは 90 日保持され、その間に有料プランへ上げれば再開できます [20][21][22]。クレジットの有効期限は、FAQ の一般の項がアカウントの作成から 6 か月、有料プランへ上げたときの項が 12 か月と書いていて、公式内で揃っていません。期限の無い無料枠は有料プランでも続きます [21]
- 検証した内容: 公式の料金ページ・docs・FAQ を確認しました。アカウントの作成が要るため、実行はしていません
用途別の選び方
上から順に答えていくと、条件に合う対象にたどり着きます。各分岐の決め手は比較表の列で、数字はそちらを見てください。
- 計算は短く、外部 API や LLM の応答を待つ時間が長い。回数は多い → Cloudflare Workers。決め手は「主な制約」列です。待ち時間は CPU 時間に数えられず、広告を載せるサイトでも使えます
- 1 回の呼び出しで秒単位の計算をする。応答は長く待たせずに返せる → Deno Deploy。決め手は「無料枠」列で、1 回が重くても回数が少なければ月の総量に収まります。ただし機械学習のような高 CPU 負荷とスクレイパーは、利用規定で禁じられています。ページの取得を外に任せるなら、スクレイピング API の無料枠比較が対象になります
- 長い処理や大きなメモリが要る。AWS アカウントを作ってよい → AWS Lambda。決め手は「主な制約」列です。無料プランのアカウントには期限があるので、続けて使うなら有料プランへの切り替えが前提になります
- 非商用の個人プロジェクトで、長めの実行時間と大きめのメモリが要る → Vercel Functions の Hobby。決め手は「主な制約」列です。広告の掲載やアフィリエイトが主目的のサイトでは使えません
- すでに Netlify にサイトがあり、関数を少し足すだけ → Netlify Functions。決め手は「無料枠」列です。本番デプロイもクレジットを使うので、関数より先にデプロイの回数が枠を決めます
- Lambda の上限を超える長い処理や、常に動いているプロセスが要るなら、サーバーレスではなくサーバーを借りる形になります。国内 VPS の最小プラン比較が対象です
よくある質問
サーバーレスの無料枠は、クレジットカードなしで使えますか?
Cloudflare Workers はアカウントの作成手順に支払い情報の入力が無く [3]、AWS は新規顧客の多くが登録時に支払い方法の入力を求められません(本人確認のために求められる場合はあります)[21]。Vercel はカードの入力が Pro へ上げる手順の中にあります [13]。Deno Deploy と Netlify の Free は、カードの要否が公式に書かれていません [6][7][14][15]。
無料プランで、広告やアフィリエイトを載せたサイトに使えますか?
Vercel の Hobby は非商用の個人利用に限られ、広告の掲載やアフィリエイトリンクが主目的のサイトは商用利用にあたります [12]。Deno Deploy の利用規定は、会社のサイトや EC サイトを許容例に挙げています [9]。この記事で Vercel を実行区分にしていないのも、このサイトが広告リンクを載せているためです。
1 回の呼び出しは何秒まで動かせますか?
公式の上限は、Netlify の同期関数が 60 秒、Vercel の Hobby が 300 秒、AWS Lambda が 900 秒です [11][17][19]。Cloudflare Workers は HTTP の実行時間に上限が無く、検証では 300 秒の待ちが通りました [2]。Deno Deploy は公式に記載が無く、検証では約 100 秒で応答が切られました [6][7][8]。
無料枠を超えるとどうなりますか?
Cloudflare Workers は 1 日の上限を超えると Error 1027 になります [2]。Netlify は月のクレジットを使い切ると全プロジェクトが一時停止し、次の請求周期の頭に戻ります [16]。Vercel の Hobby は多くの機能が 30 日たつまで使えなくなり [13]、Deno Deploy は超えたときの挙動が公式に書かれていません [6][7][8]。
出典
- Cloudflare Docs — Workers Pricing — 2026-11-03 確認
- Cloudflare Docs — Workers Limits — 2026-11-03 確認
- Cloudflare Docs — Create a Cloudflare account — 2026-11-03 確認
- Cloudflare Docs — Workers Infrastructure as Code — 2026-11-03 確認
- Cloudflare API — Upload Worker Module — 2026-11-03 確認
- Deno Deploy — Pricing — 2026-11-03 確認
- Deno Docs — Deploy pricing and limitations — 2026-11-03 確認
- Deno Docs — Deploy runtime — 2026-11-03 確認
- Deno Docs — Deploy acceptable use policy — 2026-11-03 確認
- Vercel — Pricing — 2026-11-03 確認
- Vercel Docs — Vercel Functions Limits — 2026-11-03 確認
- Vercel Docs — Fair Use Guidelines — 2026-11-03 確認
- Vercel Docs — Hobby Plan — 2026-11-03 確認
- Netlify — Pricing — 2026-11-03 確認
- Netlify Docs — Credit-based pricing plans — 2026-11-03 確認
- Netlify Docs — How credits work — 2026-11-03 確認
- Netlify Docs — Functions configuration — 2026-11-03 確認
- AWS Lambda — Pricing — 2026-11-03 確認
- AWS Lambda Developer Guide — Lambda quotas — 2026-11-03 確認
- AWS — Free Tier — 2026-11-03 確認
- AWS — Free Tier FAQs — 2026-11-03 確認
- AWS Billing User Guide — Choosing a plan — 2026-11-03 確認
- AWS Price List — AWSLambda(us-east-1) — 2026-11-03 確認