S3 vs Cloudflare R2: object storageの選択
Amazon S3は最も深いエコシステムを備えた業界標準のobject store。Cloudflare R2はegress料金ゼロのS3互換ストレージです。
S3は最も成熟したobject storeで、最も幅広い機能セット (lifecycle、レプリケーション、storage class、AWSとの深い統合) と最大のエコシステムを備えています。R2はS3 APIと互換で、Cloudflareのedge上で動き、決定的にegress料金がかからないため、帯域幅を多く使うワークロードやCDN経由のassetに魅力的です。S3は機能とAWS統合を重視し、R2はegressの経済性を重視します。
| S3 | Cloudflare R2 | |
|---|---|---|
| Egress料金 | あり | なし |
| API | S3 (ネイティブ) | S3互換 |
| 機能 | 最も深い (class、lifecycle) | 拡大中 |
| エコシステム | 最大 (AWS) | Cloudflareプラットフォーム |
| 最適な用途 | AWSネイティブ、リッチな機能 | egressが多い、CDNのasset |
ユースケースとコスト
S3は、高度なstorage class、lifecycleルール、AWSとの緊密な統合を必要とするAWSネイティブなワークロードに向いています。R2は、egressがコストを支配する帯域幅の多い用途 (メディア、ダウンロード、公開のasset) に向いており、Cloudflare WorkersやCDNと統合します。S3互換性により、読み書きコードの移行が容易になります。
CIとdeployでは
どちらもOIDCまたはスコープ付きトークンを使い、CIからS3 API経由でアップロード (アーティファクト、buildの出力、静的asset) を受け付けます。いずれもマネージドrunnerから動作し、より速いrunnerがアーティファクトのアップロードステップを短縮します。
結論
リッチなストレージ機能と統合を必要とするAWSネイティブなワークロードなら: S3。帯域幅コストが支配的な、egressの多いまたはCDN経由のassetなら: Cloudflare R2 (egressゼロ、S3互換)。多くのチームはAWS内部のデータにS3を保ち、公開の高egressなassetにR2を使います。