LabHub

ブログ

オブジェクトストレージ・エグレス戦争2026: S3、R2、B2、Bunny、Wasabi、Tigris徹底比較

한국어English日本語

プロローグ: 2022年9月、R2がすべてを変えた

2022年9月22日、CloudflareはR2 Object Storageを一般提供(GA)としてローンチしました。発表文の核となる一文はたった一つ「Zero egress fees(送信料金ゼロ)」でした。

これがなぜ衝撃だったのかを理解するには、当時のクラウド経済学を知る必要があります。AWS S3のストレージ単体は割と妥当な価格で、Standardで月$0.023/GB程度。しかしインターネットへデータを出した瞬間、$0.09/GBが課金されます。つまり1TBを保管するコストは月$23ですが、その1TBを一度インターネットへ取り出すだけで追加$90がかかる構造でした。ストレージは餌で、本当の収益源はエグレスにあったわけです。

CloudflareのMatthew Prince CEOはこのモデルを「データ人質(data hostage)」と呼び、R2はエグレスを完全無料にしました。「データを取り戻す行為に課金しません」というメッセージはシンプルでしたが、その波紋は4年後の2026年現在まで業界を揺らし続けています。

本稿では2026年5月時点のオブジェクトストレージ市場を9つのサービスで比較します。単なる価格表ではなく、「1TB保管+月10TB送信」という実ワークロードでどれほど差が出るのか、いつR2が正しくいつ違うのか、S3から移行する際に陥りやすい罠は何か、を扱います。


1. AWS S3 — 依然デフォルト、依然高いエグレス

S3は2006年のローンチ以来、事実上のオブジェクトストレージAPI標準になっています。2026年現在、ほぼすべての競合が「S3-compatible API」を掲げるのはそのためです。

2026年5月時点のS3標準価格

ストレージ (Standard, us-east-1):
  最初の50TB/月         : $0.023/GB
  次の450TB/月          : $0.022/GB
  500TB超/月            : $0.021/GB

リクエスト料金:
  PUT, COPY, POST       : $0.005 per 1,000 requests
  GET, SELECT 等        : $0.0004 per 1,000 requests

エグレス (インターネット送信):
  最初の10TB/月         : $0.09/GB
  次の40TB/月           : $0.085/GB
  次の100TB/月          : $0.07/GB
  150TB超/月            : $0.05/GB

* 2021年から月100GB無料送信枠あり (実務的にはほぼ意味なし)

なぜS3がいまだデフォルトなのか

S3の「エグレス・ロックイン」の本質

AWSの問題はS3のエグレスだけではありません。EC2→インターネット、RDS→インターネット、NAT Gateway通信も同じ$0.09/GB構造です。要するにAWSから外へデータを出すこと自体に通行料がかかります。

R2登場後、Cloudflareが「Bandwidth Alliance」という無料エグレスのパートナー網(後にR2へ統合)を作ったのも、このロックインを壊す試みでした。AWSは2024年3月にようやく「他クラウドへ恒久移行する場合はエグレス無料」という限定ポリシーを出しましたが、平常運用トラフィックには適用されません。


2. Cloudflare R2 — ディスラプター、2026年現在の立ち位置

R2の約束はシンプルです。保管には課金、送信には課金しない。

2026年5月時点のR2価格

ストレージ (Standard):
  $0.015 / GB-月

エグレス:
  $0 — どのインターネット先へも無料

リクエスト料金:
  Class A (PUT, POST, LIST, DELETE):
    $4.50 per 1,000,000 requests
  Class B (GET, HEAD):
    $0.36 per 1,000,000 requests

Infrequent Accessティア (2024年提供開始):
  ストレージ: $0.01 / GB-月
  Class A: $9.00 per 1,000,000
  Class B: $0.90 per 1,000,000
  最低保管期間 30日
  取り出し料金: $0.01 / GB

無料枠:
  ストレージ: 10GB/月
  Class A: 1,000,000/月
  Class B: 10,000,000/月

R2の本当の魅力は価格だけではない

R2が市場を揺らした理由は、エグレス無料だけでなくCloudflareネットワーク上に直接乗っていることです。

2024〜2025年にR2が追加したもの

R2のコスト試算: 1TB保管+月10TB送信

ストレージ: 1TB * $0.015/GB = $15.00
エグレス:   10TB * $0 = $0.00
リクエスト: Class A 100k + Class B 5M = $0.45 + $1.80 = $2.25
-----------------------------------------------
月合計: ≈ $17.25

同じワークロードをS3で回すと、$23 (ストレージ) + $900 (10TB送信) + リクエスト料金 = $925。約54倍の差です。


3. Backblaze B2 — 静かな実力派、11年目

Backblazeは2015年にB2 Cloud Storageをローンチしました。R2より7年早く「保管が安く、(条件付き)エグレス無料」というモデルを提示していたわけです。マーケティングが静かだったため、R2登場までバックアップ/アーカイブ市場に留まっていました。

2026年5月時点のB2価格

ストレージ (Standard):
  $0.006 / GB-月  (= $6 / TB-月)

エグレス:
  保管量の3倍までは無料
    例: 100GB保管なら月300GB無料送信
  超過分: $0.01 / GB

リクエスト料金:
  Class A (アップロード): 無料
  Class B (ダウンロード): 1日2,500まで無料、以降 $0.004 per 10,000
  Class C (List、Head): 1日2,500まで無料、以降 $0.004 per 1,000

Cloudflare/Fastly/Bunny CDN経由のエグレス: 完全無料 (Bandwidth Allianceの名残)

B2のキーセリングポイント

B2の弱点


4. Wasabi — 「予測可能な請求書」モデル

Wasabiは2017年に「エグレス無料+定額ストレージ」というラディカルなシンプルさで登場しました。

2026年5月時点のWasabi価格

ストレージ:
  $6.99 / TB-月 (Pay-As-You-Go)
  $5.99 / TB-月 (Reserved Capacity Storage、1年契約)

エグレス: 無料、ただしfair-use条項あり
  「APIコールとエグレス量は保管量を超えない範囲」

リクエスト料金: 無料

最低保管期間: 90日 (90日未満で削除しても90日分課金)

Wasabiの特徴

Wasabi 1TB保管+10TB送信シナリオ

ストレージ: 1TB * $6.99 = $6.99
エグレス:   10TB > 1TB保管量 → fair-use違反の可能性
            → Reserved Capacity Storageへの切替提案や
              契約再交渉の連絡が来る場合あり
リクエスト: 無料
-----------------------------------------------
月合計: $6.99 (理想)、ポリシー違反時は別途協議

→ Wasabiはエグレスが保管量の1倍以内に収まるバックアップ/アーカイブに最適。動画ホスティング等エグレスの大きいワークロードにはR2/B2のほうが向いています。


5. Bunny.net — CDNファーストのストレージ

Bunny.netはスロベニアの会社で、もともとCDNで有名でした。2020年頃にEdge Storageを追加し、2026年現在は「CDNと統合されたストレージ」というポジショニングが明確です。

2026年5月時点のBunny価格

Edge Storage (オリジン、11リージョン):
  HDD: $0.01 / GB-月
  SSD: $0.02 / GB-月
  追加リージョンへのReplication: それぞれ+50%コスト

Edge Storageのエグレス: Bunny CDN経由なら無料

Bunny CDNエグレス (ユーザーへの配信):
  High Volume (HQ Tier): $0.005 / GB ~ $0.01 / GB
  Standard Tier: $0.01 / GB ~ $0.06 / GB (地域別)
  最安: 北米/欧州
  最高: アフリカ/オセアニア

リクエスト料金: 無料

Bunnyのアイデンティティ

BunnyはR2/B2/Wasabiの直接競合というより、CDNバックエンドストレージに特化しています。動画ストリーミング、画像ホスティング、ゲームパッチ配信などのユースケースに強いです。

BunnyがR2より優れるシナリオ


6. Tigris Data — グローバル分散S3、2024年の新参者

Tigris DataはFly.ioのインフラ上で運営される比較的新しいオブジェクトストレージサービスです。2024年GA後、2025〜2026年にかけて急速に注目を集めました。

Tigrisのアイデンティティ

2026年5月時点のTigris価格

ストレージ (Standard):
  $0.02 / GB-月

エグレス:
  無料

リクエスト料金:
  Class A (PUT等): $0.0045 per 1,000
  Class B (GET等): $0.0004 per 1,000

グローバル複製: 標準で含む (複数PoP間の複製に追加コストなし)

TigrisがR2と異なる点


7. R2 Data Catalog — Icebergがオブジェクトストレージに乗った

2024年後半、CloudflareはR2 Data Catalogを発表し、2025年GAになりました。これがなぜ重要かを理解するには、データレイクハウスの潮流に少し触れる必要があります。

Icebergとは何か、なぜすべてのクラウドが採用したのか

Apache IcebergはNetflixが作ったオープンテーブルフォーマットです。Parquet/ORCファイル群を「テーブル」として扱えるよう、メタデータレイヤを追加します。

2024〜2025年にAWS S3 Tables、Snowflake Open Catalog、Databricks Unity Catalogがすべて Iceberg対応を発表しました。オブジェクトストレージの上にトランザクショナルDBを乗せるという発想が業界標準になったわけです。

R2 Data Catalogが約束するもの

実コード例

# PyIcebergでR2 Catalogのテーブルをクエリ
from pyiceberg.catalog import load_catalog

catalog = load_catalog(
    "r2",
    **{
        "type": "rest",
        "uri": "https://catalog.cloudflarestorage.com/v1/<account-id>",
        "warehouse": "my-warehouse",
        "credential": "<r2-api-token>",
    }
)

table = catalog.load_table("analytics.events")
df = table.scan(
    row_filter="event_date >= '2026-05-01'",
    selected_fields=["user_id", "event_name", "event_date"],
).to_pandas()

エグレス無料という事実は分析ワークロードでこそ決定的です。S3で分析クエリを回すと、データをコンピュート側へ移すたびに送信料が発生しますが、R2ではそれが0円です。


8. Google Cloud Storage / Azure Blob — パリティ製品の現実

GCPとAzureもオブジェクトストレージを提供していますが、エグレスのポリシーはS3寄りです。

GCS (2026年5月時点)

ストレージ (Standard、us-central1):
  $0.020 / GB-月

エグレス:
  同一リージョン内: 無料
  同一大陸内: $0.01 / GB
  大陸間: $0.05 ~ $0.15 / GB

GCSの強みはBigQueryとのネイティブ統合です。Iceberg/BigLakeがGCS上で動作し、すでにGCPを使っているならデータの引力が働きます。

Azure Blob Storage (2026年5月時点)

ストレージ (Hot、East US):
  $0.0184 / GB-月

エグレス:
  同一リージョン内: 無料
  大陸間: $0.05 ~ $0.087 / GB

Azureの強みはエンタープライズコンプライアンス(特にMicrosoft 365統合)とADLS Gen2など分析変種です。

GCP/AzureがR2/B2に追従できない理由

主に3つです。

  1. ポートフォリオ保護: 送信無料に踏み切るとBigQuery/Synapseなど隣接製品の価格構造も揺れる
  2. コンピュートとの結合: GCSエグレスが無料でもCompute Engineエグレスは別請求
  3. ガバナンスコスト: エンタープライズ認証/SLAがR2/B2より高くつく

9. iDrive E2、Storj、Filebase — 分散化の周縁

iDrive E2

米iDriveのS3互換ストレージ。2026年現在$0.004 / GB-月という極めて安い保管料、エグレスも基本無料。ただし認証/SLAはB2/Wasabiより弱め。

Storj

P2P分散ストレージ。ユーザーノード(ストレージノード)へReed-Solomon erasure codingでシャーディング分散保管。2026年現在、保管$0.004 / GB-月、エグレス$0.007 / GB程度。

Filebase

IPFS/Sia/Storj/Skynetをバックエンドにする S3互換ゲートウェイ。分散ストレージへの参入障壁を下げるアダプタ。

これら3つは「Web3フレンドリー」色が強く、一般的なSaaSワークロードのメインストレージとしてはまだ推奨しづらい。ただし「バックアップのバックアップ」のようなコールド冗長としては意味があります。


10. 「1TB保管+月10TB送信」コストマトリクス

直接比較できるよう、同一ワークロードに正規化しました。

サービス                          保管      送信        リクエスト  合計(月)
---------------------------------------------------------------------------
AWS S3 (Standard)                $23.00   $900.00    ~$5         ≈ $928
AWS S3 (Intelligent-Tiering)     $23.00   $900.00    ~$5         ≈ $928
Cloudflare R2                    $15.00   $0.00      ~$2         ≈ $17
Cloudflare R2 Infrequent         $10.00   $100.00    ~$10        ≈ $120
                                          (10GB取り出し料含む)
Backblaze B2 (単独)               $6.00    $90.00     ~$5         ≈ $101
                                          (3TB無料後 7TB * $0.01)
Backblaze B2 + Cloudflare CDN    $6.00    $0.00      ~$5         ≈ $11
Wasabi                           $6.99    Free*      Free        ≈ $7
                                          (* fair-use違反リスク)
Bunny Edge Storage + CDN         $10.00   $50-100    Free        ≈ $60-110
                                          (地域mix)
Tigris Data                      $20.00   $0.00      ~$2         ≈ $22
GCS (Standard)                   $20.00   $500-1500  ~$5         ≈ $525-1525
Azure Blob (Hot)                 $18.40   $500-870   ~$5         ≈ $525-895
iDrive E2                        $4.00    $0.00      Free        ≈ $4
Storj                            $4.00    $70.00     ~$2         ≈ $76

同じワークロードでS3が$928、B2+CDNが$11、つまり84倍の差です。これがR2が市場を揺らした理由であり、4年経った今もAWSがエグレス価格を下げられない理由でもあります。


11. それでもS3な場面 — 率直な意思決定フレームワーク

R2/B2が常に正解とは限りません。次の場合はS3が合理的です。

S3が正解になる場合

  1. AWS内部だけでデータが動く場合: EC2→S3→Athena→Redshiftは送信料が発生しない。外へ出ないならS3の保管料だけで済む。
  2. S3 Select / S3 Object Lambdaを使う場合: オブジェクト内の一部だけを読む、または読み出し時に変換するnative機能。R2にはない。
  3. 超高IOPSが要る場合: S3 Express One Zone(μs単位レイテンシ)はR2標準ティアより速い。
  4. コンプライアンス認証: FedRAMP High、IL5、ITARなどの政府/防衛要求はAWS GovCloudのS3のみ満たす。
  5. データライフサイクル管理が複雑な場合: S3 Intelligent-TieringがHot/Warm/Cold/Archive間を自動で移動。R2は単一ティア+Infrequent Access程度。

R2が正解になる場合

  1. ユーザーが頻繁にダウンロードする静的アセット: 画像、動画、ゲームパッチ、モデルウェイト配信。
  2. 分析クエリが頻発するデータレイク: Icebergテーブル上でDuckDB/ClickHouseが反復クエリ。
  3. CDNのオリジン: Cloudflare CDNとゼロホップ接続。
  4. Workersベースのサーバーレスアプリ: WorkersバインディングでR2をローカルディスクのように扱う。

B2が正解になる場合

  1. バックアップ/アーカイブ: Veeam、Restic、Synology、Arqなどbackupソリューションのターゲット。
  2. 保管料そのものを最小化したい場合: $0.006/GBはR2($0.015)の40%水準。
  3. 自前CDNと組み合わせる場合: Cloudflare/Fastly/Bunnyと組み合わせるとエグレス完全無料。

Tigrisが正解になる場合

  1. グローバルマルチリージョンのアプリ: Fly.io上で複数リージョンに分散したサービス。
  2. MLモデルウェイトのグローバル配信: 各リージョンからほぼゼロレイテンシで同一ウェイトをロード。

Wasabiが正解になる場合

  1. エグレスが保管量以下のバックアップ/アーカイブ: 1TB保管で月1TB未満送信。
  2. 予測可能な定額請求が重要な場合: 経理がエグレス変動を嫌う場合。

12. マイグレーションの罠

S3からR2/B2へ移行する際に陥りやすい罠です。

罠1: マイグレーション自体のエグレスコスト

1TBをS3からR2へ移すには、S3→インターネットの送信が発生します。$90。100TBなら$9,000

→ CloudflareのSuper SlurperはR2がS3から直接pullしますが、AWS側の送信料は依然請求されます。ただし2024年3月以降の「他クラウドへの恒久移行はエグレス無料」というAWSの方針を活用できる場合があります。ただし「恒久移行」であることの証明と事後監査があります。

罠2: S3 SDK互換性の細かな差異

R2/B2/Wasabiはすべて「S3 API互換」を掲げますが、実際には一部機能が欠けています。

→ マイグレーション前に実ワークロードでSDK互換性をテストすべきです。

罠3: pre-signed URLの有効期限/署名ポリシー

S3 pre-signed URLはIAMポリシー由来、R2はAPIトークンベース。URL生成コードを書き直す必要があるかもしれません。

罠4: データライフサイクルの不在

S3には「30日後にIAへ、90日後にGlacierへ」という自動ライフサイクルがあります。R2/B2にはこれが弱いです。

→ バックアップツール側で自前のコールド層移動ロジックを組む必要があります。

罠5: オブザーバビリティの差

S3にはCloudTrail、S3 Server Access Logs、S3 Inventoryといった豊富なログツールがあります。R2もLogpushでログ送信できますが、リテンションとクエリ性能ではCloudTrailに劣ります。


13. Iceberg + S3互換ストレージ — 2026年の本物のメガトレンド

本稿で最も強調したいトレンドです。2026年現在、「安価なオブジェクトストレージ+Icebergテーブル+クエリエンジンの分離」の組み合わせがデータウェアハウスを置き換えつつあります。

従来のデータウェアハウス

Snowflake、BigQuery、Redshiftはコンピュートとストレージが一ベンダ内に束ねられ、データをその中へ取り込みます。エグレスは事実上不可能に近いです。

レイクハウスアーキテクチャ

生データ (CSV、JSON、Avro)
       ↓ 変換 (dbt、Spark)
Icebergテーブル (Parquet + メタデータ)
       ↓ 保管
オブジェクトストレージ (R2、S3、GCS)
       ↓ カタログ
Iceberg Catalog (REST、Glue、Unity、R2 Data Catalog)
       ↓ クエリ
コンピュートエンジン (DuckDB、ClickHouse、Trino、Spark、Snowflake)

ストレージとコンピュートが完全に分離し、同じデータに複数エンジンが同時アクセスできます。

R2 Data Catalogがゲームチェンジャーである理由

実際の事例

このトレンドの核心は、「分析コンピュートとストレージを束ねて売るビジネスモデルが揺らいでいる」ことです。Snowflake/Databricksは独自のIcebergカタログ(Polaris、Unity)で応戦していますが、エグレス無料ストレージとの組み合わせではR2が優位です。


14. アンチパターン: R2/B2が間違った選択である場合

最後に、「エグレス無料だから全部移す」が答えではないケースです。

アンチパターン1: 非常に小さなオブジェクトを大量に保管

R2のClass Aリクエストは$4.50 / 1M。1KBのファイル10億個をPUTすると$4,500かかります。DynamoDBやSQLite1ファイルへまとめるほうが安いです。

アンチパターン2: ホットなread-modify-writeワークロード

オブジェクトストレージはオブジェクト単位のatomicityしか保証しません。同じオブジェクトを毎秒数十回更新するワークロードはPostgreSQL/Redis/DynamoDBが正解です。

アンチパターン3: S3 Selectが必須な分析

オブジェクト内の一部だけを読み出すS3 SelectはR2/B2にはありません。Icebergのようなカラムナフォーマットに変換していない生JSON/CSVではS3 Selectのほうがコスト的に有利な場合があります。

アンチパターン4: コンプライアンスがエグレス節約より高くつく場合

金融/医療の一部ワークロードはFedRAMP/IL5/ITAR/HIPAAなどの認証を要求します。R2もSOC 2とGDPR/CCPAを持っていますが、FedRAMP High や IL5はAWS GovCloudのみ満たします。

アンチパターン5: 単一ベンダ依存が危険な場合

Cloudflareは2024年と2025年の間に2度の大規模グローバル障害を経験しました。R2が影響を免れたケースもありましたが、「Cloudflareネットワーク全体が停止すれば」R2も停止します。クロスクラウド冗長が必須なワークロードならR2 + B2(もしくは + S3)の二重書き込みを検討すべきです。


エピローグ: 意思決定チェックリスト

オブジェクトストレージを選ぶ時に答えるべき質問です。

チェックリスト

エグレス価格を見る新しい視点

2022年以前、エグレス料金は「避けられない通行料」でした。2026年現在、それは「選択」です。月のエグレス請求が保管料の10倍を超えるなら、それはもう技術判断ではなくビジネス判断です。

R2が2022年に投げた問いはシンプルでした。「データを人質に取ることがクラウドビジネスの本質ですか?」 4年後の今、その問いはもはや仮説ではなく市場価格の前提になりました。

アンチパターン要約

次回予告

次回はこの意思決定フレームワークを実コードに落とし込みます。S3からR2へ100TB移行する実シナリオ — rclone、AWS DataSync、Cloudflare Super Slurper、自作Lambda + Workersパイプライン — 各方式のコストと時間を計測した結果を扱います。続いてR2 Data Catalog上でDuckDBで100GBの分析クエリを回す実践ワークブックも準備中です。


参考 / References

コメント

まだコメントはありません。

ログインするとコメントできます