Cloudflare R2 を語るうえで外せないのは egress(データ転送)料金が無料という一点だ。S3 をはじめ多くのクラウドストレージは外向き転送に課金するため、ユーザーへの配信が多いサービスほど転送費が積み上がる。R2 はここを取り払い、ストレージ量とオペレーション課金だけにした。

S3 互換であることの意味

API が S3 互換なので、既存の S3 向け SDK や aws-cli、各種ライブラリをほぼそのまま使える。エンドポイントと認証情報を差し替えるだけで移行できるケースが多く、乗り換えコストが低い。Cloudflare Workers や CDN と組み合わせれば、ストレージから配信までを Cloudflare 内で完結させられる。

互換性は完全ではない

「S3 互換」とはいえ、S3 の全 API・全機能を 1 対 1 で再現しているわけではない。一部のマイナーな API、細かな整合性モデル、AWS 固有のイベント連携(S3 イベント通知から Lambda を起動する類の仕組み)はそのままでは移植できない。S3 の高度な機能に深く依存したワークロードを移すときは、使っている機能が R2 側でカバーされているかを事前に棚卸ししておきたい。

向くケース・向かないケース

ユーザーがアップロードした画像や動画を不特定多数に配信する、転送量の読みにくいメディアホスティングのような用途では、コスト面の優位がはっきり出る。一方、処理が AWS の各サービスと密結合していて S3 を前提に組まれているワークロードでは、無理に R2 へ寄せると連携の手間が増える。判断軸は「外向き転送が多いか」と「AWS エコシステムに依存しているか」の二つで、前者が大きく後者が薄いほど R2 が効く。

配信を絡めて初めて真価が出る

R2 単体でも egress 無料は効くが、Cloudflare の CDN や Workers と組み合わせて配信経路ごと Cloudflare に寄せると、キャッシュ・画像変換・アクセス制御まで一体で設計でき、構成がシンプルになる。R2 を選ぶなら配信レイヤーも含めた全体像で検討すると判断がぶれにくい。