8-1 倉庫という保存先(R2 とは)

受付の裏には、帳簿(第 6 章)と付箋ボード(第 7 章)が並びました。どちらも紙で、写真の束や動画のような大きなものは収まりません。
いま読んでいるこのサイト(Cloudflare Lab)も、章に載せる図版の画像や、検証の結果を書き出したファイルの置き場に困っていました。ページの原稿と同じ場所に抱えると、荷物が増えるたびに全体が重くなります。
大きな荷物には倉庫が要ります。ここでは、倉庫という保存先、荷物と荷札、出すときの料金、他社と同じ伝票の順に見ます。
Learning goals
この節でできるようになること
- 倉庫が帳簿や付箋と何が違うかを説明できる
- bucket・object・key の三つを日常語で言える
- 外へ出すときの通信量に料金がかからないことを説明できる
- S3 互換が何を指すかを説明できる
1. 倉庫と帳簿と付箋の違い
Section titled “1. 倉庫と帳簿と付箋の違い”帳簿は行と列で書くもの、付箋は名前と短い中身を書くものです。写真や動画や書き出したファイルはどちらにも収まらず、箱のまま置ける広い場所が要ります。
Cloudflare では、この倉庫を R2 と呼びます。公式は R2 を「すべてのデータのための object storage(物を 1 つずつ預ける保存先)」と紹介しています。大量の unstructured data(形の決まっていないデータ)を、よくあるクラウドの高い出庫の費用なしに置けるようにするもの、という説明です。
実物では、画像・動画・音声・書き出したファイルが荷物になります。公式は用途の例として、Web に載せる素材の置き場や、大きなまとめ処理の出力などを挙げています。

受付の裏の帳簿と付箋ボードの奥に、大きな倉庫が建っています。
つまり、形が決まっていない大きなものは、帳簿でも付箋でもなく倉庫に置きます。
2. 荷物と荷札(object・key)
Section titled “2. 荷物と荷札(object・key)”倉庫に物を預けるときは、どの棟に入れるかを決め、箱に荷札を貼ります。荷札に書いた名前が、後で取り出すときの手がかりになります。
Cloudflare では、預ける物 1 つを object、それをまとめて入れる棟を bucket と呼びます。公式は「R2 は保存するデータ(object と呼びます)を、入れ物(bucket と呼びます)にまとめる」と説明し、bucket は R2 の中での性能・拡張・アクセスの基本単位だとしています。荷札にあたるのが key で、公式の一覧では「その object の key」と説明されています。
実物では、key に figures/ch08/warehouse.webp のような / を含む名前を付けられます。倉庫の中に本当の仕切りはありませんが、公式の一覧には区切り文字を指定する欄があり、同じ書き出しの荷札をひとまとまりとして扱えます。

倉庫の棟の中に箱が積まれ、箱それぞれに名前の書かれた荷札が付いています。
つまり、棟が bucket、荷物が object、荷札が key です。
3. 出すときの料金がない
Section titled “3. 出すときの料金がない”普通の倉庫は、預けるときだけでなく、外へ運び出すときにも料金がかかります。出すたびに費用が増えるので、配れば配るほど高くつきます。
倉庫から外の世界へ運び出すことを egress(外向きのデータ転送)と呼びます。公式の料金ページは「どの storage class でも egress bandwidth(外向きの通信量)への課金はありません」と書いています。脚注では、Workers API・S3 API・r2.dev のドメインを通して R2 から直接出す分にはデータ転送の料金がかからず無料だ、と補足しています。
実物では、同じ画像を何万回配っても、外へ出した量そのものでは費用が増えません。増えるのは読み出しの伝票の枚数で、その数え方は第 8-4 節で見ます。

倉庫の出口に料金所がなく、運び出しても何も請求されません。
つまり、R2 は外へ出した通信量では課金されません。
4. 他社と同じ伝票(S3 互換)
Section titled “4. 他社と同じ伝票(S3 互換)”倉庫を借り換えるとき、伝票の書式が前と同じなら、いままで使っていた道具や手順をそのまま持ち込めます。書式が違うと、道具から作り直しになります。
Cloudflare では、この共通の書式を S3 API と呼びます。公式は「R2 は、利用者とそのアプリケーションが楽に移行できるよう S3 API を実装している」と説明しています。ただし AWS S3 と比べると、一部の機能は取り除かれ、別の機能が足されているとも書かれています。
実物では、S3-compatible な道具をそのまま使えます。公式は接続先として https://<ACCOUNT_ID>.r2.cloudflarestorage.com を案内しています。

倉庫の受付に、他社と同じ書式の伝票が置かれています。
つまり、伝票の書式が共通なので、既存の道具と手順を持ち込めます。
Cloudflare Lab での使われ方
Section titled “Cloudflare Lab での使われ方”ここで紹介した倉庫が、いま読んでいる Cloudflare Lab でどう使われるかを見ます。
Cloudflare Lab は Phase 2 で、章に載せる図版の画像と、検証の書き出しファイルを R2 の倉庫に置く予定です。どちらも置く回数は少なく読まれる回数が多いので、外へ出す通信量に料金のかからない倉庫と相性が良いと考えています。実測(倉庫の名前と、置いた object の数)は実装後に追記します。
つまずきやすいところ
Section titled “つまずきやすいところ”この節のまとめ
Section titled “この節のまとめ”- 倉庫(R2)は、形の決まっていない大きなものを置く object storage です。
- 棟が bucket、荷物が object、荷札が key です。
- 外へ出す通信量(egress)に料金はかからず、伝票の書式は S3 API と互換です。
この節で出てきた言葉を、つながりの順に並べると次のようになります。
図のラベル: 大きな荷物 画像・動画・書き出し / 倉庫という保存先 R2 / object storage / 棟 bucket / 荷物 object / 荷札 key / 出す通信量は無料 egress / 伝票の書式は共通 S3 API
次の節では、倉庫を実際に建て、マニュアルから開けるようにします。
この節のチェック
© 2026 osdse