Cloudflare は『エッジネイティブのフルスタック基盤』
Cloudflare は CDN・DDoS 防御から始まり、いまでは Workers(エッジで動くプログラム)・Pages(静的サイト)・R2(オブジェクトストレージ)・D1(データベース)などをそろえたフルスタックの基盤になっています。本記事では、Cloudflare の公式ドキュメント(2026年10月21日に確認)の料金と上限をもとに、主要な機能と組み合わせ方を整理します。
主要なプロダクト
(1) Cloudflare CDN・WAF:定番の前段。(2) Workers:エッジで動く JS/TS ランタイム。(3) Pages:静的サイトのホスティング。(4) R2:S3 互換のオブジェクトストレージ。インターネットへのデータ転送(エグレス)は無料。(5) D1:SQLite の SQL が使えるサーバーレスのデータベース。(6) KV / Durable Objects / Queues:状態の管理。なお Cloudflare は、Pages から Workers への移行ガイドを公開していて、Workers でも静的アセットと API、サーバーサイドレンダリングをまとめて配信でき、Durable Objects や Cron Triggers など Pages より広い機能が使えると説明しています。
典型的な構成パターン
(1) Pages + Functions:静的サイトと API をまとめて運用。(2) Workers + R2:画像配信・ファイル共有。(3) Workers + D1:エッジで完結する SaaS。(4) CDN 前段+オリジン:既存システムの前段で守る。(5) Tunnel:自宅や社内のサーバーを安全に公開。既存の PostgreSQL をそのまま使いたい場合は、Workers から接続をまとめる Cloudflare Hyperdrive深掘り、D1 を主役にする場合は Cloudflare D1深掘り で詳しく扱っています。
料金とコスト管理
Workers は無料プランと、アカウントあたり月5ドルからの Workers Paid プランがあります。Workers Paid には Workers・Pages Functions・Workers KV・Hyperdrive・Durable Objects の利用が含まれ、データ転送(egress)や帯域への追加料金はありません。Pages Functions の呼び出しは Workers と同じ料金で数えられます。
| 項目 | 無料プラン | Workers Paid(月5ドルから) |
|---|---|---|
| Workers のリクエスト | 1日10万回 | 月1,000万回まで込み、超えた分は100万回ごとに0.30ドル |
| Workers の CPU 時間 | 1回あたり10ミリ秒 | 月3,000万 CPU ミリ秒まで込み(超過は100万ミリ秒ごとに0.02ドル)。1回あたり既定30秒、最大5分 |
| 静的アセットへのリクエスト | 無料・無制限 | |
| R2 の保存容量 | 月10GB まで無料 | 標準ストレージは1GB・月あたり0.015ドル |
| R2 の操作 | 書き込み系(Class A)月100万回・読み取り系(Class B)月1,000万回まで無料 | Class A は100万回ごとに4.50ドル、Class B は0.36ドル |
| D1 の読み取り・書き込み | 1日500万行の読み取り、10万行の書き込み | 月250億行の読み取り・5,000万行の書き込みまで込み |
※Cloudflare の公式ドキュメント(Workers・R2・D1 の料金と上限のページ、2026年10月21日に確認)。料金は変わることがあるので、使う前に公式ページで確かめてください。
公式の計算例では、月1,500万回のリクエストで1回平均7ミリ秒の CPU を使う Worker は、基本料金5ドル+リクエスト1.50ドル+CPU 時間1.50ドルで月8ドルです。同じ1,500万回でも8割が静的アセットへのリクエストなら、無料枠の範囲に収まって5ドルになる、という例も示されています。使用量のアラートで上限の通知を設定し、規模が大きくなったら料金を計算し直すのが基本です。API を有料で提供する側の考え方は APIマネタイズ戦略 でも整理しています。
セキュリティ機能
(1) DDoS 防御:Cloudflare は、レイヤー3・4・7の DDoS 防御を、すべてのプランのすべての利用者に、量の上限なく提供すると公式に書いています。(2) WAF:マネージドルール。(3) Bot 管理:自動化されたアクセスの制御。(4) Zero Trust:社内向けのアクセス管理。(5) Email Routing:独自ドメインPRのメールの転送。
Workers の特性
(1) V8 isolate ベース:Node.js とは異なる軽いランタイム。(2) 起動が速い:Worker の起動時間の上限は1秒。(3) 実行時間に上限:CPU 時間は無料プランで1回10ミリ秒、Workers Paid で既定30秒・最大5分。(4) メモリは1つの isolate あたり128MB:超えると Error 1102 が返ります。(5) ローカル開発:wrangler CLI で。Node.js の API については、互換性日付(compatibility date)が2026年8月4日以降なら標準で使え、2024年9月23日〜2026年8月3日の日付では nodejs_compat フラグを付けて有効にする、と公式ドキュメントにあります。古い設定のまま Node.js 前提のコードを持ち込むと動かないことがあるので、まず互換性日付を確かめましょう。
Vercel との比較
(1) Next.js 中心なら Vercel:Next.js を開発している会社の基盤。(2) 静的+軽量 API なら Cloudflare:静的アセットへのリクエストは無料・無制限。(3) 実行環境の違い:Vercel は公式ドキュメントで、Edge ランタイムから Node.js ランタイムへの移行を勧めていて、Next.js 16.3 以降では runtime = 'edge' の指定に対応しなくなりました。エッジの isolate でコードを動かしたいなら Workers、Node.js のまま動かすなら Vercel、という分け方がいまの公式の方針に沿っています。(4) ストレージ:Cloudflare は R2、Vercel は Vercel Blob。(5) 併用:CDN は Cloudflare、アプリは Vercel という構成も取れます。
失敗しがちなパターン
(1) Node.js 前提のコードを Workers に:互換性日付とフラグの確認を忘れる。(2) CPU 時間の超過:無料プランの1回10ミリ秒で重い処理を動かそうとする。(3) ストレージ要件の誤算:D1 は1つのデータベースが最大10GB(Workers Paid、無料プランは500MB)で、クエリを1つずつ順に処理します。公式の目安では、1クエリ平均1ミリ秒なら毎秒最大1,000クエリ、100ミリ秒なら毎秒10クエリです。(4) ベンダーロックイン:Cloudflare 固有の API に頼りすぎる。(5) 無料枠での商用利用:規約を確認。対策は、(1)Workers の制約を理解する、(2)重い処理は別の場所で、(3)D1 はテナントごとにデータベースを分ける設計も検討する、(4)抽象化の層を挟む、(5)規約の確認、です。D1 について公式は、ユーザーやテナントごとに小さな(10GB の)データベースを多数作って横に広げる使い方を想定していると書いています。IT・Web業界の職種完全マップ もご活用ください。
この記事のデータの出典
- Cloudflare Developers「Workers: Pricing」「Workers: Limits」「R2: Pricing」「D1: Pricing」「D1: Limits」「Pages: Limits」「Migrate from Pages to Workers」「Node.js compatibility」「DDoS Protection」(2026年10月21日に確認)
- Vercel ドキュメント「Edge Runtime」(2026年10月21日に確認)

