Cloudflare Workers・D1・R2とは
ひとことで言うと
Cloudflare WorkersはEmDashとAstroのコードを動かす実行環境、D1はコンテンツを保存するデータベース、R2は画像などのメディアを保存するファイル置き場です。料金は、Workersの無料プランか有料プランかと、それぞれの使用量で決まります。
3つの役割
図のテキストを読む
flowchart LR
VI["訪問者・編集者"] --> W["Cloudflare Workers<br/>EmDashとAstroのコードを実行"]
W -- "DBバインディング" --> D1["D1<br/>コンテンツモデル・エントリー・ユーザー・設定"]
W -- "MEDIAバインディング" --> R2["R2<br/>アップロードしたメディア"]
W -. "LOADERバインディング<br/>(サンドボックス型プラグインを使う場合のみ)" .-> WL["Worker Loader"]
| サービス | Cloudflare公式の説明 | EmDashでの役割 |
|---|---|---|
| Workers | Cloudflareのグローバルネットワーク上でアプリを構築・デプロイ・拡張するサーバーレスのプラットフォーム | EmDashとAstroのサイトを動かす |
| D1 | SQLiteのSQLの意味論を持つ、Cloudflareのマネージドなサーバーレスのデータベース | コンテンツを保存する(d1({ binding: "DB" })) |
| R2 | 一般的なクラウドストレージにかかるデータ転送(egress)の料金なしで、大量の非構造化データを保存できるオブジェクトストレージ | メディアを保存する(r2({ binding: "MEDIA" })) |
- バインディングは、WorkerからD1やR2を使うための名前付きの接続です。
wrangler.jsoncの名前(DB、MEDIA、LOADER)は、EmDashのアダプターの設定と一致させる必要があります。 - Cloudflare用のテンプレートは、初回のデプロイで、設定した名前のD1データベースとR2バケットがなければWranglerが作成します。
料金の考え方
図のテキストを読む
flowchart TD
Q1{"サンドボックス型プラグインを使うか"} -- "使う" --> PAID["Workers有料プランが必要<br/>(Worker Loader)"]
Q1 -- "使わない" --> Q2{"無料プランの上限に収まるか"}
Q2 -- "収まる" --> FREE["Workers無料プランで動かせる"]
Q2 -- "収まらない" --> PAID2["Workers有料プラン<br/>+含まれる量を超えた分の従量課金"]
- Cloudflare用のテンプレートは、Worker Loaderのバインディングをコメントアウトした状態で作られます。そのため、作成時にサンドボックス型プラグインを有効にしない限り、新しいプロジェクトはWorkersの無料プランでデプロイできます。
- サンドボックス型プラグインを動かすWorker Loaderには、Workers有料プランが必要です。
以下は、2026年9月20日にCloudflare公式の料金ページで確認した値です。料金は変わることがあるため、契約前に各料金ページで最新の値を確認してください。
Workers
| 項目 | 無料プラン | 有料プラン |
|---|---|---|
| 月額 | ― | アカウントあたり最低 月額5米ドル |
| リクエスト | 1日10万件 | 月1,000万件まで含む。超えた分は100万件ごとに0.30米ドル |
| CPU時間 | 1回の呼び出しあたり10ミリ秒 | 月3,000万CPUミリ秒まで含む。超えた分は100万CPUミリ秒ごとに0.02米ドル |
D1
| 項目 | 無料プラン | 有料プラン |
|---|---|---|
| 読み取った行数 | 1日500万行 | 月250億行まで含む。超えた分は100万行ごとに0.001米ドル |
| 書き込んだ行数 | 1日10万行 | 月5,000万行まで含む。超えた分は100万行ごとに1.00米ドル |
| 保存容量 | 合計5GB | 5GBまで含む。超えた分は1GB・1か月ごとに0.75米ドル |
D1から読み出すデータには、データ転送(egress)や帯域の料金はかかりません。
R2(Standardストレージ)
| 項目 | 無料枠(毎月) | 料金 |
|---|---|---|
| 保存容量 | 10GB・月 | 1GB・1か月ごとに0.015米ドル |
| クラスAの操作 | 100万リクエスト | 100万リクエストごとに4.50米ドル |
| クラスBの操作 | 1,000万リクエスト | 100万リクエストごとに0.36米ドル |
| インターネットへのデータ転送(egress) | 無料 | 無料 |
AIに聞いてみよう
根拠にした公式ページ
- Cloudflare Workersのドキュメント:https://developers.cloudflare.com/workers/
- Cloudflare D1のドキュメント:https://developers.cloudflare.com/d1/
- Cloudflare R2のドキュメント:https://developers.cloudflare.com/r2/
- Cloudflare Workers「Pricing」(2026年9月20日確認):https://developers.cloudflare.com/workers/platform/pricing/
- Cloudflare D1「Pricing」(2026年9月20日確認):https://developers.cloudflare.com/d1/platform/pricing/
- Cloudflare R2「Pricing」(2026年9月20日確認):https://developers.cloudflare.com/r2/pricing/
- EmDash公式「Cloudflareへのデプロイ」(本サイトの訳):https://docs.emdashcms.com/deployment/cloudflare/
- EmDash公式「プラグインサンドボックス」(本サイトの訳):https://docs.emdashcms.com/deployment/plugin-sandbox/