インフラシステム開発
10

Cloudflare PagesとWorkersの違い:構成を選ぶための判断表

執筆・編集Malake株式会社
まず押さえたいこと

Cloudflare PagesはHTMLなどの「静的ファイル」を超高速配信するプラットフォームであり、Workersはリクエストに応じて動的処理を行うエッジ上の「プログラム実行環境」です。

この記事の要点

Cloudflare Pagesは「完成したページを最速で見せる」ことが得意な静的ホスティングであり、Webサイトの土台に最適です。対してWorkersは「裏側で少しプログラムを動かす」ためのサーバーレス環境であり、問い合わせフォームや簡易APIなどに用います。どちらか一方を選ぶのではなく、「ベースはPagesで作り、動的な機能が必要な部分だけWorkersを付け足す」組み合わせが現在の最も強力なベストプラクティスです。

この記事でわかること

  • PagesとWorkersは何が違う?(最短で理解する)
  • まず結論:よくある使い分けパターン(3つ)
  • Pages vs Workers 比較表
  • 判断フローチャート
  • 具体例
  • 費用の考え方
  • システム構築・運用時のよくある注意点
  • 導入・運用チェックリスト

PagesとWorkersは何が違う?(最短で理解する)

Cloudflareの環境は「エッジ(Edge)」と呼ばれる、ユーザーから物理的に最も近いサーバー群で構成されています(参考:エッジコンピューティングとサーバーレスアーキテクチャの違い)。

  • Pages:Gitリポジトリ(GitHubなどソースコードを管理する場所)と連携し、プッシュするだけで自動的に静的サイト(HTML/CSS/JS/画像)をビルドし、世界中に高速配信します。料理で例えるなら「すでに完成しているお弁当を素早く提供するショーケース」です。
  • Workers:エッジ上でJavaScriptやTypeScriptなどのコードを実行します(リクエスト→処理→レスポンス)。データベース(DB)への保存や外部APIの呼び出しなど、プログラムを使った処理が行えます。料理で例えるなら「注文が入ってからその場で調理するキッチン」です。

つまり、誰が見ても同じ内容で良い「静的」な部分はPagesユーザーの操作に応じて中身が変わる「動的」な部分はWorkersと考えるとスムーズです。

まず結論:よくある使い分けパターン(3つ)

これらを踏まえ、よくある構成パターンは以下の3つに大別されます。

結論:Pages/Workersの選び方

  1. 会社HPやブログなど、コンテンツが変わらないなら「Pages単体」で十分。
  2. 認証ゲートウェイや既存DBへのAPIを作るなら「Workers単体」で構築。
  3. HP(Pages)にお問い合わせフォームやログイン機能(Workers)を足す「Pages + Workers」が推奨される最適な構成です。

多くの中小企業・成長企業において、まずはPagesから始め、必要に応じてWorkersを足していくアプローチが最も失敗が少なくおすすめです。

① Pagesだけで十分(会社HP/LP/ブログ)

静的な情報提供がメインのサイトであれば、Pagesの基本機能だけで完結します。Next.jsのStatic Exportsなどを用いた中小企業が決断すべき「モダンWeb開発」への移行の基盤としても最適です。

② Workersだけが必要(API/BFF/認証ゲート)

画面を持たず、裏側のデータ処理だけを行いたい場合です。スマートフォンのアプリ用APIや、複数のシステムを繋ぐための中継サーバー(BFF:Backends For Frontends)などに適しています。

③ Pages + Workers (Webサイト+動的機能の統合構成)

ページ本体を静的に配信し、フォーム送信など必要な処理だけをWorkersへ分ける構成です。動的処理の範囲を限定できる一方、配信とAPIの監視先が分かれるため、障害時の担当を決めておきます。

Pages vs Workers 比較表

どちらのサービスが自社の要件に合うのか、以下の表で整理します。

比較軸 Cloudflare Pages Cloudflare Workers
主な目的 静的ファイルの配信とホスティング プログラムの実行(動的処理)
デプロイ方法 Git連携による自動デプロイが主流 Wrangler(CLIツール)でのデプロイが主流
実行環境 CDN(コンテンツ配信ネットワーク) エッジ上のV8 Isolate環境
得意領域 爆速なページ表示、会社HP、LP、ブログ フォーム処理、簡易API作成、ルーティング、認証
不得意領域 データベースと連携した複雑な計算や状態管理 大容量のファイルホスティング、長時間の重い処理
運用負荷 非常に低い(サーバー管理不要) 低い(ただしプログラミング知識は必須)
学習コスト 低(HTML/CSSが分かれば運用可能) 中〜高(JavaScript/TypeScript知識が必要)

判断フローチャート

自社のWebプロジェクトでどちらを使うべきか、以下の質問に答えていくだけで判断できます。

Q1. サーバー側でのプログラム処理が必要ですか?(メール送信、認証、データベース操作など)
 ├ No → Pages単体(十分な速度と安定性が得られます)
 └ Yes → Q2へ

Q2. その処理は「軽いAPI」程度で済みますか?(フォーム送信、簡易認証、ヘッダ書き換えなど)
 ├ Yes → Workers(画面が必要ならPagesと組み合わせ推奨)
 └ No → Q3へ

Q3. 複雑な状態管理、重い画像変換、数分単位の長時間バッチ処理が必要ですか?
 └ Yes → Workers + 外部サービス(DB/R2/Queue等)、または別基盤(コンテナなど)を検討

具体例

例1: 会社HP + お問い合わせフォーム

最も王道となる構成です。会社のページ自体はPagesで静的に高速配信し、ユーザーがフォームの「送信」ボタンを押した際のリクエストのみWorkersが受け取ります。Workers内では自動化防止ツール(Turnstile)でスパムを弾き、メール配信サービス(Resendなど)を呼び出して担当者に通知します。

例2: 会員制ページ

社内向けポータルや会員限定のページを作るケースです。Pagesで作成したサイトの前にWorkersを立たせ、「ログインしているか?」を判定する簡易認証(Basic認証やJWT検証)を行い、未ログインならログイン画面へリダイレクトさせます。

例3: APIゲートウェイ(BFF)

モバイルアプリや別のWebシステムがデータを取得する際の中継役としてWorkersを置くケースです。バックエンドにある古いシステム(レガシーなDBやAPI)からデータを集め、スマートフォン向けに整形して返すBFF(Backends For Frontends)として機能します。

例4: 画像最適化やキャッシュ制御

Webサイトの表示速度をさらに上げる工夫です。Pagesで配信しているコンテンツに対して、Workersを仲介させることで「より効率的なキャッシュルールの適用」や「HTTPレスポンスヘッダの書き換えによるセキュリティ強化」を柔軟に行えます。

ユースケース別の推奨構成

ユースケース 推奨構成 理由
コーポレートサイト Pages 更新頻度も低く、静的配信のメリットを最大化できるため。
技術ブログ・メディア Pages SSG(静的サイト生成)で作るのがSEOや速度面で一番強いため。
お問い合わせ・資料請求 Pages + Workers ページ表示はPages、メール送信やDB保存はWorkersで分担。
社内限定の会員サイト Pages + Workers サイトの閲覧前にWorkersで認証(ログインチェック)を挟むため。
簡易的なAPIの提供 Workers 画面を持たない単一のエンドポイントとして最速で構築できるため。
複数システムをまとめるBFF Workers 外部APIの呼び出しとデータ整形をエッジで行うのに適しているため。

費用の考え方

Cloudflareの料金体系は非常に寛大ですが、それぞれの「課金ポイント」を理解しておくことが重要です。

  • Pagesのコスト構造
    ビルド、同時実行、付帯機能など、利用する機能ごとに上限を確認します。配信だけでなく、画像最適化やログなどの周辺機能も見積もりへ含めます。
  • Workersのコスト構造
    リクエスト数とCPU時間に加え、KVやD1など付帯サービスの読み書き・保存量も確認します。無料枠を前提に固定せず、通常時とアクセス増加時の両方を試算します。
ユースケース 費用が増えやすいポイント 注意点
Pages中心の会社HP ビルド回数と同時実行 更新頻度とプレビュー環境を含め、最新の上限を確認します。
Workers中心のAPI リクエスト数、CPU時間 外部APIの応答が遅く、Workersが待機し続けるとCPU時間を消費します。
DBやストレージ連携 読み書き回数 データを無駄に何度も取得・更新する処理を書くと課金が跳ね上がります。

※最終的な具体的な価格については変動する可能性があるため、必ずCloudflareの公式料金ページ(確認日:2026年3月現在)等で最新情報を確認してください。

システム構築・運用時のよくある注意点

事前の設計次第で防げる、典型的な失敗例を挙げます。

  • SSR前提で設計し、Pagesの用途と合わない:Pagesは静的配信を中心とするサービスです。SSRの実行環境や対応機能を確認せずに設計すると、追加の設定や構成変更が必要になります。
  • Workersに何でも詰め込み、責務が爆発する:ひとつのWorkersの中に、ルーティング、認証、データベース処理、メール送信などをすべてベタ書きすると、後から誰も保守できなくなります。小さなモジュールに分割する設計力が問われます。
  • 環境変数 / Secrets管理の不備による情報漏洩:APIキーなどの秘匿情報をソースコードに直書きしないようにします。Cloudflareの「Secrets」機能を使い、本番環境とプレビュー環境で認証情報を分けます。
  • CORS・キャッシュ・リダイレクトで混乱する:「Pages単体」「Pages + Workers」の境界線でキャッシュが効きすぎたり、ドメイン間通信(CORS)でエラーが出たりするトラブルが頻発します。ネットワークの基礎知識が求められます。
  • 監視・ログ・エラー対応が後回しになる:サーバーレスの宿命ですが、「サーバーが落ちない(プロバイダ側で管理される)」ことに甘え、プログラム自身のエラー(バグ)を検知する仕組みを忘れると、ユーザーからのクレームで初めて障害に気づくことになります。

ここが落とし穴!

最大のリスクは、Pagesに動的機能を持たせようと無理をしたり、Workersに重いバッチ処理を任せるなど「得意領域の外」で運用しようとすることです。

導入・運用チェックリスト

プロジェクトを開始する前の確認項目としてご活用ください。

重要ポイント

Cloudflare Pages + Workersの構成は「まずPagesで静的サイトを立ち上げ、動的処理が必要になったタイミングでWorkersを追加する」段階的アプローチが最も失敗が少ない方法です。最初から完璧な構成を目指すより、小さく動かして拡張していく設計が運用コスト・保守性の両面で優れています。

チェックリスト

  • □ 要件整理:「どこまでが静的で、どこからが動的か」の線引きができているか。
  • □ 機能確認:フォーム、認証、外部API連携など、Workersが必要な機能(動的処理)をリストアップしたか。
  • □ セキュリティ:スパム対策(Turnstile等)やレート制限(WAF設定)、Secrets管理ルールの認識がチーム内で揃っているか。
  • □ 運用環境:本番環境(Production)と検証環境(Preview)が明確に分かれているか。
  • □ 監視体制:エラー発生時に通知を受け取り、ログを確認する担当者が決まっているか。
  • □ ロールバック:デプロイ(公開)失敗時に、以前のバージョンへ戻す手順が明確か。

よくある質問

Q. VercelとCloudflare Pagesはどちらが良いですか?

静的サイトの配信速度はほぼ同等ですが、Cloudflare PagesはWorkersとの統合や料金体系(帯域幅無料)の面で優位性があります。Vercelはフルスタックなフレームワーク対応が手厚いため、Next.jsを多用するチームにはVercelが馴染みやすい場合もあります。要件に応じた選択をお勧めします。

Q. Cloudflare Workersのタイムアウト上限はどのくらいですか?

Freeプランでは1リクエストあたりのCPU時間は10ms、Paidプランでは30秒です(2026年3月現在)。メール送信やAPIプロキシ程度であればFreeプランで十分ですが、長時間の処理が必要な場合はWorkersの外に専用サービスを置く設計が推奨されます。最新の上限は公式ドキュメントでご確認ください。

Q. Cloudflare PagesはSSRに対応していますか?

Pages Functions(Workersベース)を用いることでSSR(サーバーサイドレンダリング)も実現できます。ただし、VercelほどNext.jsのSSRが自動最適化されるわけではないため、設計時に静的化できる部分はSSGにする方針を推奨します。

業務に合わせて、使い続けられるシステムを。

要件整理、試作、実装、受入、公開後の運用まで進めます。

システム・アプリ開発について
Theme Overview

モダンWeb開発の構成判断:Next.jsとヘッドレスCMSをどう組み合わせるか

このテーマの全体像を把握し、より体系的な理解を深めましょう。

全体像を読む

ビジネスの課題解決を、
もっと具体的に。

Malakeは、テクノロジーと戦略の両面から
貴社のビジネス変革をサポートします。