小さなWebサービスを作るだけなのに、サーバー、DB、画像保存、ジョブキュー、メール配信、WAF、監視と、気づけばサービスの契約が増えている。これ、開発の初期ほど起きやすい話です。
海外のCloudflare公式ドキュメントを確認すると、Workers、D1、KV、R2、Queues、Hyperdrive、Email Service、WAF/DDoSまで、かなりの部品をCloudflare上に寄せられます。この記事では「全部Cloudflareで済む」と言い切るのではなく、どこまで寄せるとスタックが軽くなり、どこは注意して線を引くべきかを整理します。
この記事を読むとわかること
- check_circleCloudflare上に置けるWebサービス部品の役割分担
- check_circleD1、KV、R2、Queuesをどう使い分けるか
- check_circleBetter Auth、Cloudflare Access、Email Serviceまわりの注意点
- check_circle月5〜10ドル目安で始める時に、超過課金をどう見るか
向き:小さなSaaS、業務アプリ、会員サイト、AIツールを低コストに立ち上げたい方
向かない:大規模なRDB、複雑なメール配信基盤、既存AWS/GCPの詳細移行手順だけを知りたい方
Cloudflareに寄せる一番の価値は「部品の数」を減らせること
Cloudflare Workersは、サーバーを立てる代わりにエッジ上でAPIや画面処理を動かす基盤です。そこにD1、KV、R2、Queuesを組み合わせると、小さなWebサービスに必要な部品がかなり揃います。
見るべきポイントは、個々の機能が珍しいかどうかではありません。小さなチームにとっては、ログインする管理画面、請求、CLI、権限、デプロイの考え方が揃うことが効きます。裏側の仕組みが一枚にまとまると、保守の迷子が減ります。
| 役割 | Cloudflare側の候補 | 実務での使いどころ |
|---|---|---|
| コンピュート | Workers | API、フォーム処理、管理画面、AI連携 |
| SQL DB | D1 | 会員、設定、履歴、軽めの業務データ |
| キャッシュ | KV | 設定値、短い状態、読み取り中心のキャッシュ |
| オブジェクト保存 | R2 | 画像、添付ファイル、エクスポートデータ |
| 非同期処理 | Queues | メール送信、画像処理、外部API再試行 |
| 防御 | WAF / DDoS Protection | 公開サイト・APIの入口保護 |
この表に収まる程度のサービスなら、最初から複数クラウドをまたぐより、Cloudflareを第一候補に置く方が現実的な場面が増えています。
D1とBetter Authで、ログイン付きの小さなSQLアプリを作る
D1はCloudflareのSQLデータベースです。公式Pricingでは、Workers Paidで月25B rows read、50M rows written、5GBストレージまでが含まれるとされています。小さな管理画面や会員サイトなら、かなり余裕を見やすい数字です。
認証は、用途で分けるのが安全です。社内管理画面の保護ならCloudflare Access。一般ユーザーが登録・ログインするアプリなら、Better Authのような認証ライブラリをD1やDrizzle/Kyselyと組み合わせる設計が候補になります。
ここは「より良い認証」として最初に設計したいところ
ログインは後付けすると崩れやすい部分です。ユーザー認証、管理者だけの画面、APIキー、招待制、パスワードリセット、メール認証を、最初に分けておくと後で楽になります。
| 用途 | 候補 | 注意点 |
|---|---|---|
| 社内・管理者だけ | Cloudflare Access | 一般会員向けUIには別設計が必要 |
| 一般ユーザー認証 | Better Auth + D1 | メール認証、セッション、権限を最初に決める |
| 巨大DB・複雑なRDB | 外部Postgres + Hyperdrive | D1だけに寄せすぎない判断も必要 |
KV・R2・Queuesは「何でもDBに入れる」を避けるために使う
スタックを単純化する時にやりがちなのが、全部をSQL DBに詰め込むことです。最初は楽ですが、画像、キャッシュ、再試行待ちのジョブまでDBに入ると、後から見通しが悪くなります。
Cloudflareに寄せるなら、D1を中心にしつつ、読み取り中心の値はKV、ファイルはR2、時間のかかる処理はQueuesに逃がす。これだけで小さなサービスの設計はかなり整います。
D1: users, projects, invoices, audit_logs KV: feature_flags, public_settings, short_cache R2: uploaded_images, csv_exports, attachments Queues: send_email, resize_image, retry_external_api
- check_circle読み取りが多く、多少古くてもよいものはKVへ
- check_circleファイル本体はR2へ置き、D1にはメタ情報だけを持つ
- check_circleメール送信や外部APIの再試行はQueuesで後ろに回す
HyperdriveとEmail Serviceは役割を分けて考える
Hyperdriveは、Cloudflare Workersから外部データベースへ接続する時の高速化や接続管理に効く仕組みです。つまり、D1だけで完結する小さなアプリでは必須ではありません。既存PostgreSQLを使い続けたい時に、Cloudflare側へ寄せる橋として考える方が自然です。
メールも同じです。以前の感覚で「Email Routing」と言うと、受信・転送の印象が強いはずです。現在のCloudflare Email Serviceでは、Email Routingに加えて、Workers Paid向けのEmail Sendingベータがあり、任意宛先への送信はPaidが必要です。
| 機能 | 正しい見方 | 設計メモ |
|---|---|---|
| Hyperdrive | 外部DBへの接続高速化・接続管理 | D1で足りない時の橋として使う |
| Email Routing | 受信・転送中心 | 問い合わせ受信や処理フックに向く |
| Email Sending | 送信はEmail Service側の機能 | 任意宛先送信はWorkers Paid、到達性設計も見る |
ここを曖昧にすると、後で「できると思っていたこと」と「実際の料金・制限」がずれます。小さく始めるほど、最初の言葉の整理が効きます。
WAF・DDoS込みで、月5〜10ドル目安から始める。ただし上限固定とは書かない
Cloudflareの魅力は、公開入口の防御が最初から近くにあることです。WAFは全プランで利用でき、Cloudflare DDoS Protectionも全プランで自動検知・緩和の説明があります。小さなサービスでも、入口保護を後回しにしにくいのは地味に大きいです。
費用面では、Workers Paidの最低料金は月5ドルです。R2は10GB-monthや一定の操作無料枠、QueuesはPaidで月100万operations込み、Email ServiceはPaidで月3,000通の送信込みといった数字があります。だから、小さなサービスなら月5〜10ドル目安で始める設計はかなり現実的です。
ただし「最悪でも10ドル固定」とは書かない方が安全です
Cloudflareの各サービスには無料枠・込み枠がありますが、D1、KV、R2、Queues、メール送信には超過課金があります。公開前に、アラート、使用量監視、CPU limit、キュー投入数の上限を決めておくのが現実解です。
| 項目 | 公式Pricingで確認した数字 | 見るべきリスク |
|---|---|---|
| Workers Paid | 最低月5ドル、10M requests/月込み | リクエスト数とCPU時間 |
| D1 | 25B rows read/月、50M rows written/月込み | 書き込み増、DBサイズ上限 |
| R2 | 10GB-month、Class A 1M、Class B 10M無料枠 | 操作回数、大量保存 |
| Queues | Paidで1M operations/月込み | 失敗時の無限リトライ |
| Email Service | Paidで3,000 outbound emails/月込み | 送信数、到達性、バウンス |
今日やるなら、まず「Cloudflare標準構成」を1枚に書く
いきなり本番移行ではなく、まず1つの小さなサービスで標準構成を作るのがよいです。問い合わせ管理、会員向け資料ダウンロード、社内申請フォーム、AIツールの管理画面など、範囲が見えるものから始めます。
最初の設計メモは、次のくらいで十分です。
- WorkersでAPIと画面を動かす
- D1にユーザー、設定、履歴を置く
- Better Authで一般ユーザー認証、Cloudflare Accessで管理者保護を分ける
- R2にファイル、KVにキャッシュ、Queuesにメール送信や再試行を分ける
- WAF/DDoS、使用量アラート、キュー上限、メール送信上限を最初に決める
i-Styleでは、ツール選びよりも「後から迷わない型」を作ることが効くと見ています。Cloudflareに寄せる価値は、最新技術を使うことではなく、サービスを増やしすぎずに、自社サイズの一歩を早く出せることにあります。
よくある質問
小さなWebサービスは本当にCloudflareだけで始められますか?
Workers、D1、KV、R2、Queuesを使えば、API、SQL、キャッシュ、ファイル保存、バックグラウンド処理までかなり集約できます。ただし、複雑な検索、巨大なDB、細かいメール到達性管理などは別サービスを組み合わせる判断も必要です。
Cloudflare D1はPostgreSQLの代わりになりますか?
D1はSQLを使えるSQLite系のデータベースとして便利ですが、PostgreSQL互換ではありません。小規模な業務アプリや管理画面には向きますが、大規模な分析や複雑なRDB要件では、外部DBとHyperdriveを組み合わせる方が現実的です。
メール送信はEmail Routingでできますか?
Email Routingは主に受信・転送の仕組みです。CloudflareのEmail ServiceではEmail Sendingベータが用意されており、任意宛先への送信にはWorkers Paidが必要です。この記事ではEmail Routing単体ではなく、Email Serviceとして整理しています。
月10ドル以内に必ず収まりますか?
小さなサービスならWorkers Paidの最低5ドルを中心に、10ドル前後を目安に設計しやすいです。ただし、D1、KV、R2、Queues、メール送信などには超過課金があります。完全な固定上限としてではなく、監視と制限を置いた予算設計として考えるのが安全です。
まとめ
- check_circleCloudflareはWorkers、D1、KV、R2、Queuesまで揃い、小さなWebサービスの部品をかなり集約できます。
- check_circle認証はCloudflare AccessとBetter Authを用途で分けると、管理者向けと一般ユーザー向けを混ぜずに済みます。
- check_circleHyperdriveとEmail Serviceは便利ですが、外部DBやメール送信の前提を正しく理解して使う必要があります。
- check_circle月5〜10ドル目安で始めやすい一方、超過課金を避けるために使用量監視と上限設計は必要です。
スタックをシンプルにすることは、手抜きではありません。むしろ、小さなチームが継続して改善するための土台です。最初の一歩は、使うサービスを増やすことではなく、どの部品をCloudflareに置き、どこで人が確認し、どこで予算を止めるかを言語化することから始まります。
参考リンク
- 参考: Cloudflare Workers Pricing(Cloudflare Docs / 2026年7月6日確認)
- 参考: Cloudflare D1 Pricing(Cloudflare Docs / 2026年7月6日確認)
- 参考: Cloudflare R2 Pricing(Cloudflare Docs / 2026年7月6日確認)
- 参考: Cloudflare Queues Pricing(Cloudflare Docs / 2026年7月6日確認)
- 参考: Cloudflare Email Service Pricing(Cloudflare Docs / 2026年7月6日確認)
- 参考: Cloudflare Web Application Firewall(Cloudflare Docs / 2026年7月6日確認)
- 参考: Cloudflare DDoS Protection(Cloudflare Docs / 2026年7月6日確認)
- 参考: Better Auth Database docs(Better Auth Docs / 2026年7月6日確認)
小さく作って、後から増やせるWebサービス基盤を一緒に整理しませんか
i-Styleでは、AI活用や業務アプリの開発で、最初から複雑な構成にしすぎない設計を大切にしています。Cloudflareを使った小さなWebサービス、認証、DB、ファイル保存、ジョブ処理の整理も相談できます。
お問い合わせページへarrow_forward問い合わせ前に、i-Styleサポートデスクbotでも相談できます
「この構成で足りるか」「D1と外部DBのどちらがよいか」など、軽い確認はサポートデスクbotでも相談できます。
i-Styleサポートデスクbotで聞くarrow_forward