Skip to content
Published on

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

Authors

プロローグ: 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がいまだデフォルトなのか

  • IAM、KMS、CloudTrail、VPC EndpointなどAWSエコシステムと深く統合
  • Glacier Deep Archive ($0.00099/GB) のようなコールドティアの充実
  • Athena、Redshift Spectrum、EMRなど分析ツールとのネイティブ統合
  • S3 Object Lambda、S3 Express One Zone(低レイテンシ変種)などの拡張
  • コンプライアンス認証の網羅性が圧倒的

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ネットワーク上に直接乗っていることです。

  • WorkersからR2バケットをバインディングとしてimportし、ネットワークホップなしで呼べる
  • Cloudflare CDNとの統合がネイティブ(origin設定不要)
  • 世界295以上のPoPから最寄りへ自動ルーティング
  • S3-compatible API — boto3、aws-sdk-js、MinIOクライアントがそのまま使える

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

  • R2 Data Catalog (Iceberg) — 2024年後半に発表、2025年GA。R2バケットの上にApache Iceberg テーブルをネイティブにホストするマネージドカタログ。Spark、DuckDB、ClickHouseなどから直接クエリ可能。
  • Event Notifications — R2のPUT/DELETEイベントをQueuesへ流してサーバーレスETL。
  • Super Slurper / Sippy — S3からR2への一括/段階的マイグレーションツール。
  • Location Hints — 主コピーをどのリージョンに置くかのヒント(地域コンプライアンス用)。

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のキーセリングポイント

  • ストレージ単価がS3の4分の1 ($0.006 vs $0.023)
  • Cloudflare CDNを前段に置くと送信が完全無料 — オリジンpullがゼロ
  • S3 API互換 (2020年から)
  • Veeam、Synology、Restic、Arq等バックアップ系エコシステムが成熟
  • 米国企業、SOC 2、GDPR、HIPAA認証あり

B2の弱点

  • リージョンが少ない (us-west、us-east、eu-central程度)
  • 分析/ラムダ/イベント等の拡張サービスがほぼない
  • グローバルPoPがなく、単一リージョンのレイテンシ限界(CDNと組むのが前提)

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の特徴

  • 全リクエスト無料: PUT/GET/LIST/DELETEすべて無料
  • エグレス無料 (fair-useに従う場合)
  • ただしfair-useが厳しく、頻繁にダウンロードされるホットデータには不向き
  • S3 API互換
  • 90日最低保管要件が最大の罠 — 一時データには不適
  • グローバルリージョンは約12 (US、EU、AP、AU)

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バックエンドストレージに特化しています。動画ストリーミング、画像ホスティング、ゲームパッチ配信などのユースケースに強いです。

  • オリジンストレージはほぼ無料に近い安さ
  • CDNエグレスは地域別の従量課金(R2の無料には及ばないがGB単価は安い)
  • Bunny Stream(動画トランスコード、HLS)、Bunny Optimizer(画像変換)等のメディア特化機能
  • S3-compatibleインターフェースを提供(Bunny独自SDKも別途あり)

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

  • 動画ストリーミングでアダプティブビットレートが必要な場合(Bunny StreamのHLS変換)
  • 画像変換をOriginで処理したい場合(Bunny Optimizer)
  • CDNキャッシュヒット率が高く、従量制エグレスが負担にならない静的サイト

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

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

Tigrisのアイデンティティ

  • グローバル分散がデフォルト: アップロードされたオブジェクトが自動的に複数リージョンへ複製され、最寄りリージョンから配信
  • Fly.ioのマシン上で直接運用されており、Fly appと同一データセンター内からのアクセスはレイテンシが極小
  • S3-compatible API
  • 基本価格モデル: ストレージ+リクエスト、エグレス無料

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と異なる点

  • R2は単一リージョンから始まりPoPでキャッシュTigrisはオブジェクト自体を複数リージョンへ複製
  • Fly.ioのappが東京/シンガポール/シドニー等に分散している場合、各リージョンからほぼゼロレイテンシで同じオブジェクトへアクセス可能
  • トレードオフ: ストレージ単価がR2($0.015)より少し高い($0.02)
  • グローバル分散ML推論、マルチリージョンのゲームサーバー等に強い

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

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

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

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

  • スキーマ進化(列追加/削除/型変更)
  • ACIDトランザクション
  • Time travel(過去スナップショットの参照)
  • パーティションpruning(クエリ最適化)

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

R2 Data Catalogが約束するもの

  • R2バケットの上にネイティブIcebergテーブルを生成/管理
  • DuckDB、Spark、ClickHouse、PyIcebergなどから直接アクセス
  • エグレス無料 → 分析クエリで発生するデータ送信が0円
  • AWS Glue Data Catalogと互換のREST Catalog API

実コード例

# 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程度。

  • 利点: 検閲耐性、分散redundancy
  • 弱点: レイテンシが安定しない、メタデータカタログのオーバーヘッド

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互換」を掲げますが、実際には一部機能が欠けています。

  • R2: SSE-C(顧客提供キーによるサーバー側暗号化)非対応、S3 Select非対応、Versioningは2024年に追加
  • B2: マルチパートアップロードのpart sizeの最小値の扱いが微妙に異なる(S3の5MBは同じだが他の挙動差)
  • Wasabi: 一部のLIST 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がゲームチェンジャーである理由

  • エグレス無料 → クエリの度のデータ送信コストが0円
  • DuckDBのような組み込みエンジンと組み合わせるとインフラコストが0近くに収束
  • Iceberg標準に従うのでベンダロックインなし
  • 同じカタログをSpark、Trino、ClickHouseが同時にクエリ可能

実際の事例

  • MotherDuck(DuckDBクラウド)がR2 Data Catalog上でSQL分析を提供
  • Estuary(CDCパイプライン)がR2 Icebergをsinkとして対応
  • Hex / Definite(分析ノートブック)がR2 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)の二重書き込みを検討すべきです。


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

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

チェックリスト

  • 月間エグレスは保管量の何倍か? (1倍以下ならWasabi、1〜5倍ならB2+CDN、5倍以上ならR2)
  • AWSの他サービス(EC2、Lambda、Athena)と密結合か? (そうならS3継続)
  • CDNを別途使っているか? (Cloudflare/BunnyならB2との組み合わせ可)
  • Iceberg/データレイクハウスへ向かっているか? (そうならR2 Data Catalogを積極検討)
  • コンプライアンスがFedRAMP High/IL5/ITAR等を要求するか? (そうならAWS GovCloud)
  • グローバルマルチリージョン分散が必須か? (そうならTigris Data)
  • 小さなオブジェクトを大量に保管するか? (そうならPUTコスト比較必須)
  • バックアップ/アーカイブが主か? (そうならB2 か Wasabi)
  • マルチベンダ冗長が必要か? (そうならR2 + B2の二重化)

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

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

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

アンチパターン要約

  • エグレスのないワークロードにR2を強要しないこと(S3内で完結するならS3が答え)
  • 小さなオブジェクトの大量化をR2/B2で受けないこと(Class A料金が爆発)
  • ホットエグレスワークロードをWasabiに乗せないこと(fair-use違反)
  • マイグレーションコストを軽視しないこと(一度きりだが少なくない)
  • R2単独依存が危険なビジネスなら二重書き込みパターンを採用

次回予告

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


参考 / References