画像をS3バケットにルーティングする
URIパスが`/images`で始まるリクエストをCloud Connectorを使用して特定のAWS S3バケットにルーティングします。
あなたのドメインの/imagesへのリクエストをAWS S3バケットにルーティングするには:
- Cloudflareダッシュボード ↗にログインし、アカウントとドメインを選択します。
- ルール > Cloud Connectorに移動します。
- Amazon Web Services - S3をクラウドプロバイダーとして選択します。
- バケットのURLを入力します。これを2つの方法で構成できます:
- サブドメインスタイルのURL:ホスト名を
<BUCKET_NAME>.s3.amazonaws.comに設定します。この場合、ファイルはバケットのルートに整理されている必要があり、URIパスはファイルに直接マッピングされます。例えば、https://<YOUR_HOSTNAME>/images/file.jpgはhttps://<BUCKET_NAME>.s3.amazonaws.com/images/file.jpgにマッピングされます。 - URIパススタイルのURL:ホスト名を
s3.amazonaws.comに設定します。ここでは、バケットにimagesという名前のフォルダーが含まれている必要があり、ファイルはこのフォルダー内に配置される必要があります。URIパスはバケット名を含むようになり、例えばhttps://<YOUR_HOSTNAME>/<BUCKET_NAME>/images/file.jpgはhttps://s3.amazonaws.com/<BUCKET_NAME>/images/file.jpgにマッピングされます。
- サブドメインスタイルのURL:ホスト名を
- (オプション) Transform RulesのRewrite URL機能を使用してURL構造を調整します。例えば、
/imagesを/<BUCKET_NAME>/imagesに変更するURLリライトを作成できます。 - 次へをクリックし、Cloud Connector名に「S3への画像ルート」のような説明的な名前を入力します。
- Ifの下で、カスタムフィルター式を選択し、次の式を入力します:
http.request.full_uri wildcard "https://<YOUR_HOSTNAME>/images/*"
<YOUR_HOSTNAME>を希望のホスト名に置き換えます。 - デプロイを選択してルールを有効にします。
この設定により、すべてのトラフィックがhttps://<YOUR_HOSTNAME>/images/*から直接あなたのS3バケットにルーティングされます。<YOUR_HOSTNAME>を実際のホスト名に置き換え、例のパスをあなたの設定に応じて調整してください。