公開バケット(Public Bucket)は、R2 バケットの内容をインターネットへ直接公開できる機能です。デフォルトではバケットは公開されません。公開するには、明示的な許可が必要です。
公開バケットは、次のいずれかで設定できます。
- 自分が管理するカスタムドメインとしてバケットを公開する。
- 本番以外の用途向けに、Cloudflare が管理する
https://r2.devサブドメインでバケットを公開する。
これらのオプションは独立して使えます。カスタムドメインを有効にしても、r2.dev アクセスを有効にする必要はありません。
WAF カスタムルール、キャッシュ、アクセス制御、Bot Management などの機能を使うには、カスタムドメインの背後にバケットを置く必要があります。これらの機能は、r2.dev の開発用 URL では使えません。
カスタムドメイン経由でアクセスすると、Cloudflare Cache を使って R2 バケットへのアクセスを高速化できます。
キャッシュには Smart Tiered Cache を設定し、R2 バケットの近くに単一の上位ティアデータセンターを置きます。
カスタムドメインのバケットへのアクセスを制限するには、Cloudflare の既存のセキュリティ製品を使います。
- Cloudflare Zero Trust Access: チームメンバーだけがアクセスすべきバケットを保護します。詳細はチュートリアル Protect an R2 Bucket with Cloudflare Access を参照してください。
- Cloudflare WAF Token Authentication: 選択したユーザーにアクセストークンを渡し、ドキュメント、ファイル、メディアへのアクセスを制限します。
R2 バケットのカスタムホスト名で、最小 TLS バージョンや暗号スイートを変更するには、R2 custom domain settings を編集する API を呼び出します。リクエスト本文に、省略可能な minTLS と ciphers パラメータを追加します。指定できる暗号スイートの一覧は、Supported cipher suites を参照してください。
使うドメインは、R2 バケットと同じアカウントの ゾーン として追加されている必要があります。
- ドメインがすでに Cloudflare で管理されている場合は、バケットをカスタムドメインに接続する に進みます。
- ドメインが Cloudflare で管理されていない場合は、部分(CNAME)セットアップ でアカウントに追加します。
セットアップの種類に関係なく、ドメインが Cloudflare アカウントにあれば、バケットに接続できます。
-
Cloudflare ダッシュボードで R2 object storage ページを開きます。
Overview を開く ↗ -
対象のバケットを選びます。
-
Settings を選びます。
-
Custom Domains で Add を選びます。
-
接続するドメイン名を入力し、Continue を選びます。
-
DNS テーブルに追加される新しいレコードを確認し、Connect Domain を選びます。
ドメインが接続されます。ステータスが Initializing から Active に変わるまで数分かかります。更新を確認するには、ページを再読み込みしてください。ステータスが変わらない場合は、バケットの横の ... を選び、Retry connection を選びます。
追加した DNS レコードを見るには、接続済みドメインの横の ... を選び、Manage DNS を選びます。
ドメインを無効にすると、そのドメイン経由のバケットへの公開アクセスがオフになります。ほかのドメインや、管理対象の r2.dev サブドメイン経由のアクセスには影響しません。
指定したドメインは、削除するかバケットを削除するまで、R2 に接続されたままです。
ドメインを無効にする手順は次のとおりです。
- R2 で、変更するバケットを選びます。
- バケットのページで Settings を選び、Custom Domains を開きます。
- 無効にするドメインの横の ... を選び、Disable domain を選びます。
- Access to Bucket のバッジが Not allowed に更新されます。
カスタムドメインを削除すると、バケットから切断され、ダッシュボード上の設定も削除されます。ほかの有効なアクセス方法があれば、バケットは引き続き公開されます。ただし、そのドメインは接続済みドメインの一覧に表示されなくなります。
ドメインを削除する手順は次のとおりです。
- R2 で、変更するバケットを選びます。
- バケットのページで Settings を選び、Custom Domains を開きます。
- 削除するドメインの横の ... を選び、Remove domain を選びます。
- 確認ウィンドウで Remove domain を選びます。この操作で、ドメインを指す CNAME レコードも削除されます。あとからドメインを再度追加できます。
Cloudflare が管理する r2.dev サブドメイン経由で、この R2 バケットの内容をインターネットに公開します。このエンドポイントは、本番以外のトラフィック向けです。
バケットの公開開発用 URL アクセスを有効にすると、Cloudflare が管理する r2.dev サブドメイン経由で内容がインターネットに公開されます。
バケットで r2.dev 経由のアクセスを有効にする手順は次のとおりです。
- R2 で、変更するバケットを選びます。
- バケットのページで Settings を選びます。
- Public Development URL の下で Enable を選びます。
- Allow Public Access? で
allowと入力して確定し、Allow を選びます。 - Public Bucket URL でバケットとオブジェクトにアクセスできるようになります。
バケットが公開されていることを確認するには、バケット設定で Public URL Access が Allowed になっていることを確認します。
公開開発用 URL アクセスを無効にすると、r2.dev サブドメイン経由の公開が解除されます。Public Bucket URL では、バケットとオブジェクトにアクセスできなくなります。
ほかのドメインを接続している場合、それらのドメインでは引き続きアクセスできます。
バケットの公開アクセスを無効にする手順は次のとおりです。
- R2 で、変更するバケットを選びます。
- バケットのページで Settings を選びます。
- Public Development URL の下で Disable を選びます。
- Disallow Public Access? で
disallowと入力して確定し、Disallow を選びます。