Cloud Connector は、現在次のクラウドプロバイダーとサービスに対応しています。
- Cloudflare R2
- Amazon Web Services - S3
- Google Cloud Platform - Cloud Storage
- Microsoft Azure - Blob Storage
- Oracle Cloud - Object Storage
Cloudflare R2 のバケットは公開し、カスタムドメインで公開する必要があります。r2.dev サブドメインで公開したバケットには対応していません。
さらに、カスタムドメインは、Cloud Connector ルールを設定するゾーンと同じゾーンで定義してください。
S3 バケット URL のホスト名は、次のいずれかの形式にしてください(* はワイルドカードです)。
*s3.amazonaws.com*s3.<REGION>.amazonaws.com*s3-website.<REGION>.amazonaws.com*s3-website-<REGION>.amazonaws.com
Cloud Connector は、サブドメイン形式と URI パス形式の URL の両方に対応しています。
- サブドメイン形式の URL: ホスト名を
<BUCKET_NAME>.s3.amazonaws.comにします。この場合、ファイルはバケットのルート直下でアクセスできます。たとえばhttps://example.com/index.htmlはhttps://<BUCKET_NAME>.s3.amazonaws.com/index.htmlに対応します。Full (Strict) の SSL/TLS モードを使う場合、<BUCKET_NAME>にドットを含められません(代わりにダッシュを使います)。詳細は AWS S3 エンドポイントへの SSL 接続 を参照してください。 - URI パス形式の URL: ホスト名を
s3.amazonaws.comにします。この場合、バケット名はリクエストの URI パスに含めます。たとえばバケット名が<BUCKET_NAME>なら、ファイルはhttps://example.com/<BUCKET_NAME>/index.htmlのようなパスで利用できます。Cloud Connector ルールでは、URI パスが/<BUCKET_NAME>で始まるトラフィックを対象にしてください。
Cloud Connector と AWS S3 のあいだのリクエストに適用される SSL 設定は、使う S3 エンドポイントの種類によって決まります。
- HTTPS 対応エンドポイント:
*s3.<REGION>.amazonaws.comや*s3.amazonaws.comのようなホスト名では、ゾーンの SSL/TLS モードを Full または Full (Strict) にすると、Cloudflare は AWS S3 へ HTTPS で接続します。Full (Strict) を使う場合、バケット名にドットを含められません(代わりにダッシュを使います)。 - HTTPS 非対応エンドポイント:
*s3-website.<REGION>.amazonaws.comや*s3-website-<REGION>.amazonaws.comのようなウェブサイト形式のホスト名は HTTPS に対応していません。Cloudflare は Flexible SSL を使います。
- Amazon S3 コンソール ↗ を開き、ナビゲーションペインで Buckets を選びます。
- バケット名を選びます。
- Properties タブを開きます。
- Static Website Hosting カードを選びます。Endpoint 欄にバケット URL が表示されます。
詳細は Amazon S3 のドキュメント ↗ を参照してください。
ストレージプロバイダーの公開バケットで Cloud Connector を設定したあと、そのバケット内のオブジェクトへアクセスできるのを Cloudflare だけにしたい場合があります。その場合は、Cloudflare の IP アドレス ↗ からの受信リクエストだけを許可するポリシーの作り方を、プロバイダーのドキュメントで確認してください。
Cloud Storage バケット URL のホスト名は、次のいずれかにしてください(* はワイルドカードです)。
*storage.googleapis.com*storage.cloud.google.com
Cloud Connector は、サブドメイン形式と URI パス形式の URL の両方に対応しています。
- サブドメイン形式の URL: ホスト名を
<BUCKET_NAME>.storage.googleapis.comにします。この場合、ファイルはバケットのルート直下でアクセスできます。たとえばhttps://example.com/index.htmlはhttps://<BUCKET_NAME>.storage.googleapis.com/index.htmlに対応します。 - URI パス形式の URL: ホスト名を
storage.googleapis.comにします。この場合、バケット名はリクエストの URI パスに含めます。たとえばバケット名が<BUCKET_NAME>なら、ファイルはhttps://example.com/<BUCKET_NAME>/index.htmlのようなパスで利用できます。Cloud Connector ルールでは、URI パスが/<BUCKET_NAME>で始まるトラフィックを対象にしてください。
-
Google Cloud コンソール ↗ を開き、Buckets を選びます。
-
バケット名を選びます。
-
バケット内の既存ファイルについて、Public 列のリンクアイコンを選ぶと、そのファイルの公開 URL がクリップボードにコピーされます。ファイル URL の形式は次のとおりです。
https://storage.googleapis.com/<BUCKET_NAME>/<OBJECT_NAME>サブドメイン形式のバケット URL を得るには、ファイル URL を
<BUCKET_NAME>.storage.googleapis.comの形式に組み替えます。
URI パス形式のバケット URL を得るには、ファイル URL からhttps://と/<BUCKET_NAME>/<OBJECT_NAME>を除きます。
バケット内のファイルが公開アクセスできない場合は、バケットの権限を変更してください。詳細は Google Cloud Storage のドキュメント ↗ を参照してください。
ストレージプロバイダーの公開バケットで Cloud Connector を設定したあと、そのバケット内のオブジェクトへアクセスできるのを Cloudflare だけにしたい場合があります。その場合は、Cloudflare の IP アドレス ↗ からの受信リクエストだけを許可するポリシーの作り方を、プロバイダーのドキュメントで確認してください。
Blob Storage バケット URL のホスト名は、次のいずれかの形式にしてください。
<BUCKET_NAME>.blob.core.windows.net<BUCKET_NAME>.web.core.windows.net
Azure Blob Storage では、Cloud Connector は <BUCKET_NAME>.blob.core.windows.net のようなサブドメイン URL のみに対応しています。ファイルはバケットのルート直下でアクセスできます。たとえば https://example.com/index.html は https://<BUCKET_NAME>.blob.core.windows.net/index.html に対応します。
- Azure ポータル ↗ を開き、ストレージアカウントを選びます。
- メニューペインの Settings で Endpoints を選びます。
- Blob service エンドポイント、または Static website エンドポイントからバケット URL を取得します。
Blob コンテナーが公開アクセス用に設定されていない場合は、コンテナー設定を変更してください。詳細は Azure Storage のドキュメント ↗ を参照してください。
ストレージプロバイダーの公開バケットで Cloud Connector を設定したあと、そのバケット内のオブジェクトへアクセスできるのを Cloudflare だけにしたい場合があります。その場合は、Cloudflare の IP アドレス ↗ からの受信リクエストだけを許可するポリシーの作り方を、プロバイダーのドキュメントで確認してください。
Cloud Connector は、Amazon S3 Compatibility API 経由で Oracle Cloud Infrastructure (OCI) Object Storage に対応しています。
プロトコル、ポート、パスを付けずに OCI のホスト名を入力します。Cloud Connector は次の形式を受け付けます。
| アドレッシング形式 | ホスト名の形式 | リクエストパス |
|---|---|---|
| パス形式(従来) | <NAMESPACE>.compat.objectstorage.<REGION>.oraclecloud.com |
/<BUCKET_NAME>/<OBJECT_NAME> |
| パス形式(専用) | <NAMESPACE>.compat.objectstorage.<REGION>.oci.customer-oci.com |
/<BUCKET_NAME>/<OBJECT_NAME> |
| Virtual-hosted 形式 | <BUCKET_NAME>.vhcompat.objectstorage.<REGION>.oci.customer-oci.com |
/<OBJECT_NAME> |
パス形式のエンドポイントでは、受信リクエストのパスにバケット名を含めます。たとえば https://example.com/<BUCKET_NAME>/index.html は、OCI エンドポイント上の同じパスに対応します。
Virtual-hosted 形式のエンドポイントでは、バケット名はホスト名の一部です。https://example.com/index.html への受信リクエストは、そのバケット上の /index.html に対応します。OCI では、virtual-hosted のバケット名にリージョンスコープと、そのリージョン内で一意な DNS 互換名が必要です。
詳細は Object Storage Dedicated Endpoints ↗、Amazon S3 Compatibility API Hosted Style Support in Object Storage ↗、Changing an Object Storage Bucket's Visibility ↗ を参照してください。
ストレージプロバイダーの公開バケットで Cloud Connector を設定したあと、そのバケット内のオブジェクトへアクセスできるのを Cloudflare だけにしたい場合があります。その場合は、Cloudflare の IP アドレス ↗ からの受信リクエストだけを許可するポリシーの作り方を、プロバイダーのドキュメントで確認してください。