R2とは?エグレス無料のオブジェクトストレージ

《 Cloudflare完全ガイド 目次へ 》

第6章では、プログラムが扱うデータをどこに置くかを見ていきます。第5章のWorkersは、リクエストが終われば何も残らない仕組みでした。画像もデータベースの中身も、Workersの外に保存先を用意する必要があります。

その保存先としてCloudflareが用意しているのが、このページのR2、次のKV、そしてD1です。まずは最も基本となる、ファイルそのものを置く場所――R2から始めます。R2の最大の特徴は、保存したデータを取り出すときの料金が無料であることです。

このページで分かること

  • オブジェクトストレージとは何か、普通のファイルサーバーと何が違うのか
  • エグレス料金とは何で、なぜR2の「無料」が大きいのか
  • R2の仕組みと、3通りのアクセス方法
  • 料金・制限と、向いている用途・向かない用途
  • 使い始める前に知っておくべき注意点

オブジェクトストレージとは

オブジェクトストレージは、ファイルを大量に置いておくための保存サービスです。画像、動画、PDF、バックアップ、ログなど、そのままの形で保存したいデータを預けます。

パソコンのフォルダとは考え方が少し違います。オブジェクトストレージでは、保存する箱をバケット(bucket)と呼び、その中にファイルをオブジェクトとして置きます。オブジェクトには photos/2026/08/cat.jpg のようなキー(名前)が付き、このキーを指定して読み書きします。

キーにスラッシュが含まれていてもフォルダが存在するわけではなく、単に長い名前が付いているだけです。階層構造があるように見えるのは、そう見せているだけだと考えてください。この割り切りによって、ファイル数が何億件になっても速度が落ちにくい構造になっています。

アクセスはHTTPで行います。専用のプロトコルやマウント作業は不要で、URLに対してGET・PUT・DELETEを投げるだけです。この方式は、Amazon S3というサービスが事実上の標準を作りました。R2もその作法(S3互換API)に合わせています。

エグレス料金という問題

クラウドのストレージには、大きく3種類の料金が発生します。

  1. 保存料金:預けているデータ量に対する月額
  2. 操作料金:読み書きなどのリクエスト回数に対する料金
  3. エグレス料金:データを外に取り出す(転送する)ときの料金

このうち3つ目のエグレス(egress=出ていくこと)が、長く利用者を悩ませてきました。保存料金は1GBあたり月2〜3セント程度と安いのに、取り出しには1GBあたり9セント前後が掛かる、という構造が一般的だからです。つまり1か月間預ける料金より、1回取り出す料金のほうが高いということが起こります。

画像や動画を配信するサイトでは、預けたデータを何度も取り出します。アクセスが伸びるほど請求額が増え、しかも事前に予測しづらい。他社サービスへ引っ越そうにも、全データを取り出す時点で高額な請求が発生するため動けない――この状態は「データの人質」とも呼ばれてきました。

R2は、このエグレス料金をゼロにしています。保存料金と操作料金だけを払えばよく、取り出しがどれだけ増えても転送料は発生しません。

一般的なオブジェクトストレージとR2の料金構造の違い
図1:一般的なオブジェクトストレージとR2の料金構造の違い

これが可能なのは、CloudflareがすでにCDNとして世界中に自社ネットワークを持っているためです。第4章までに見てきたとおり、Cloudflareは他社の回線を経由せずに利用者へデータを届けられます。転送コストの構造そのものが違う、というのがR2の背景にあります。

R2の使い方(3通りのアクセス方法)

R2に置いたデータへは、目的に応じて3つの経路でアクセスできます。

R2への3つのアクセス経路
図2:R2への3つのアクセス経路

1. Workersのバインディングから使う

最もCloudflareらしい方法です。Workerの設定でバケットを結び付けておくと、コードから env.MY_BUCKET.get("photos/cat.jpg") のように直接読み書きできます。認証情報をコードに書く必要がなく、Cloudflareのネットワーク内で完結するため高速です。

アップロード時に権限をチェックする、取り出した画像を加工してから返す、といった処理を挟めるのも利点です。

2. S3互換APIから使う

R2はAmazon S3と同じ作法のAPIを備えています。そのため、S3向けに書かれた既存のプログラムや、AWS CLI・各言語のSDKといった道具を、接続先とアクセスキーを変えるだけでほぼそのまま使えます。

サーバー側のバックアップ処理や、既存システムからのアップロードなど、Cloudflareの外から使う場合はこちらになります。

3. 公開バケットとして直接配信する

バケットを公開設定にすると、URLでファイルを配信できます。自分のドメイン(例:files.example.com)を割り当てれば、CDNのキャッシュもそのまま効きます。

なお、設定時に発行される r2.dev のURLは動作確認用で、レート制限が掛かるため本番では使わないようCloudflareが明示しています。公開配信するなら必ずカスタムドメインを設定してください。

料金

2026年8月時点の料金は次のとおりです。エグレス(取り出し)はすべて無料です。

標準(Standard) 低頻度アクセス(Infrequent Access)
保存 1GBあたり月0.015ドル 1GBあたり月0.01ドル
クラスA操作(書き込み・一覧) 100万回あたり4.50ドル 100万回あたり9.00ドル
クラスB操作(読み取り) 100万回あたり0.36ドル 100万回あたり0.90ドル
取り出し料金 なし 1GBあたり0.01ドル
エグレス 無料 無料

無料枠は毎月、保存10GB・クラスA操作100万回・クラスB操作1,000万回です(標準クラスのみ)。削除操作は無料です。

低頻度アクセスクラスは、めったに読まないデータ向けです。保存が安くなる代わりに、操作料金が上がり、読むときに取り出し料金が掛かります。また最低30日分の保存料金が発生するため、すぐ消すデータには向きません。バックアップや古いログの保管に使う選択肢だと考えてください。

制限

項目 上限
1オブジェクトの大きさ 5 TiB
一度に送れる大きさ(単一アップロード) 5 GiB
マルチパートアップロードの分割数 10,000
オブジェクトのキー長 1,024バイト
バケット数 100万/アカウント
1オブジェクトへの同時書き込み 毎秒1回
バケットあたりのカスタムドメイン 100

保存できるデータ量とオブジェクト数に上限はありません。5GiBを超えるファイルは、分割して送るマルチパートアップロードを使います。

向いている用途・向かない用途

向いている用途

  • 画像・動画・音声・PDFなど、そのまま配信するファイルの置き場
  • サイトやアプリのユーザーがアップロードするファイル
  • バックアップやアーカイブの保管先
  • ログやセンサーデータなど、あとでまとめて処理するデータの蓄積先
  • 他社ストレージからの移行(取り出しが増えても費用が増えない)

向かない用途

  • 「特定の条件に合うデータを検索する」といった問い合わせ。これはデータベース(D1)の仕事です
  • 1件ずつ頻繁に読み書きする小さな設定値。これはKVのほうが適しています
  • 1つのファイルを毎秒何度も書き換える処理。同一オブジェクトへの書き込みは毎秒1回までです

判断の目安は、「まるごと置いて、まるごと取り出すか」です。ファイル単位で扱うならR2、中身を条件で絞り込むならデータベースを選びます。

初心者が注意するポイント

  • 無料なのはエグレスだけです:保存料金と操作料金は掛かります。特にクラスA操作(書き込み・一覧取得)は読み取りの10倍以上単価が高いため、一覧取得を繰り返す作りには注意してください
  • 存在しないキーを読んでも操作料金は掛かります:見つからなかった読み取りも1回として数えられます
  • r2.dev は本番で使わない:レート制限があり、Cloudflare自身が本番利用を非推奨としています。必ずカスタムドメインを設定してください
  • 公開バケットの設定は慎重に:バケットを公開すると、キーを知っている人は誰でも取得できます。非公開のまま一時的なURLを発行する方法(署名付きURL)や、Workersで認証を挟む方法を検討してください
  • 低頻度アクセスクラスは30日縛りがあります:短期間で消すデータに使うと、かえって割高になります
  • 削除は取り消せません:誤削除に備えるなら、バージョン管理の設定や、別バケットへの複製を検討してください

関連サービス

  • Workers:R2の読み書きを行う実行環境。バインディングで直接つながる(第5章)
  • Workers KV:小さな値を高速に読むための保存先(次ページ)
  • D1:条件を指定して検索できるデータベース
  • Cloudflare CDN:公開バケットの配信をキャッシュして高速化する(第1章)
  • Cloudflare Images / Stream:画像・動画に特化した配信サービス。変換や再生機能まで含めて任せたい場合はこちら

  • ストレージの使い分け:R2 / KV / D1 / Durable Objects の選び方(第6章のまとめ)

まとめ

  • R2はファイルをそのまま預けるオブジェクトストレージで、バケットとキーでデータを扱う
  • 最大の特徴はエグレス(取り出し)料金が無料であること。アクセスが増えても転送料は増えない
  • アクセス方法は、Workersのバインディング・S3互換API・公開バケットの3通り
  • 料金は保存1GBあたり月0.015ドル+操作料金。無料枠は保存10GB・読み取り1,000万回/月
  • ファイル単位で置いて取り出す用途に向き、条件検索や高頻度の書き換えには向かない
  • 公開設定と r2.dev の扱いには注意する

次のページでは、R2とは対照的な保存先を見ます。ファイルではなく、設定値やセッション情報のような小さなデータを、世界中のエッジから数ミリ秒で読み出すための仕組み――Workers KVです。

次に読む

→ ガイドの目次に戻る

※本記事の情報は 2026年8月時点のものです。

タイトルとURLをコピーしました