デフォルトでは、R2 バケットは非公開です。R2 のオブジェクトを Cloudflare のキャッシュ経由で配信するには、自身が管理するドメイン名(Custom Domain)をバケットに紐づけます。これにより、Cloudflare のネットワークで公開 URL が作られ、保存ファイルへのリクエストは毎回 R2 に直接届くのではなく、Cloudflare のキャッシュを通ります。
バケットに Custom Domain を設定する手順は次のとおりです。
- R2 を開き、バケットを選びます。
- バケットのページで Settings を選びます。
- Public access > Custom Domains で Connect Domain を選びます。
- 接続するドメイン名を入力し、Continue を選びます。
- 追加される新しい DNS レコードを確認し、Connect Domain を選びます。
Cloudflare は、ドメインをバケットにマッピングする CNAME レコードを自動で追加します。公開 URL は [name].domain.com の形式になります。
デフォルトでは、Cloudflare は キャッシュルール に基づき、エッジデータセンター(訪問者に最も近いデータセンター)で R2 のコンテンツをキャッシュします。キャッシュミスになった各エッジデータセンターは、R2 から直接コンテンツを取得します。
Tiered Cache は、データセンターを階層化します。近くのデータセンターでキャッシュミスになると、R2 に行く前に、指定された上位層のデータセンターを先に確認します。R2 に届くリクエスト数が減ります。
R2 で Tiered Cache を有効にするには、Smart Tiered Cache を設定します。R2 バケットへのレイテンシが最も低い上位層データセンターを自動で選びます。
- アクセス制御: Custom Domain を接続すると、R2 バケットは公開されます。ファイルをリクエストできる対象を制限するには、アクセス制御を適用します。詳しくは WAF と Snippets でキャッシュアクセスを制御する を参照してください。
- キャッシュ可能なサイズ上限: キャッシュ可能なサイズ上限 を超えるファイルはキャッシュされません。Free、Pro、Business プランはファイルあたり 512 MB です。Enterprise プランのデフォルトはファイルあたり 5 GB です。
- デフォルトでキャッシュされるファイル種別: Cloudflare は、すべてのファイル種別をデフォルトでキャッシュしません。たとえば HTML と JSON は、適切な設定の Cache Rule を作らないとキャッシュされません。