2026年9月30日 · 6分で読めます

バケットのファイルリンクに独自ドメインを使う方法

https://files.example.com/report.pdfのようなリンクは信頼感があり、ストレージプロバイダを変えても使い続けられ、バケット名も漏れません。主要なプロバイダはどれも自分のドメインでバケットをHTTPS配信できますが、方法はそれぞれ異なります。

Cloudflare R2

いちばん簡単です。ドメインは、バケットと同じCloudflareアカウントのゾーンである必要があります。

  1. バケットのSettingsを開き、Custom DomainsでAddを選択します。
  2. files.example.comを入力し、DNSレコードを確認してConnect Domainを選択します。

DNSレコードと証明書はCloudflareが作成します。詳しくはR2バケットを公開する方法をご覧ください。

Amazon S3とCloudFront

S3単体では独自ドメインでHTTPS配信できないため、前にCloudFrontを置きます。

  1. AWS Certificate Managerのus-east-1リージョンでfiles.example.comの証明書をリクエストし(CloudFrontが使えるのはこのリージョンの証明書だけです)、DNSで検証します。
  2. バケットをオリジンとし、Origin access controlを使うCloudFrontディストリビューションを作成します。これでバケットは非公開のままにできます。CloudFrontが提示するバケットポリシーを適用してください。
  3. files.example.comを代替ドメイン名として追加し、証明書を選択します。
  4. DNSプロバイダで、filesからディストリビューションのd….cloudfront.netアドレスへのCNAMEを作成します。

S3の静的ウェブサイトエンドポイントでもCNAMEは使えますが、プレーンなHTTPのみで、バケット名がドメインとまったく同じ場合に限られるため、CloudFrontのほうが適しています。

DigitalOcean Spaces

SpaceのCDNを有効にし、その設定でカスタムサブドメインを追加します。ドメインのDNSをDigitalOceanで管理している場合は、Let's Encryptの証明書を自動で発行できます。そうでない場合は、自分の証明書をアップロードしてください。これでファイルはhttps://files.example.com/keyから配信されます。

Backblaze B2

B2は、公開ファイルをhttps://f003.backblazeb2.com/file/your-bucket/keyのようなURLで配信します。自分のドメインを使うには、Cloudflareを使うのが一般的です。files.example.comからバケットのf00X.backblazeb2.comホストへのプロキシしたCNAMEを追加し、パスの先頭に/file/your-bucketを付け加える書き換えルールを設定します。この構成はBackblazeのドキュメントに記載されており、Cloudflare経由のトラフィックにはダウンロード料金がかかりません。

ドメインが動作したら

  • ブラウザのプライベートウィンドウでhttps://files.example.com/<key>のファイルを開き、公開されていることを確認します。
  • リンクを組み立てるときは、どこでもそのドメインをベースURLに使い、共有するすべてのリンクがそのドメインになるようにします。
  • アップロードは引き続きプロバイダのAPIエンドポイント経由で行います。独自ドメインは読み取り専用です。

よくある質問

サブドメインではなくルートドメインを使えますか?

Cloudflare R2ならたいてい可能で、Apexドメインを割り当てられます。ほかの多くの構成はCNAMEに頼っているので、files.example.comのようなサブドメインのほうが簡単です。

独自ドメインを追加すると、以前のリンクは使えなくなりますか?

いいえ。プロバイダの元のアドレスは、独自ドメインと並んで引き続き使えます。新しいドメインが使われるのは、そのあとに作成したリンクだけです。

リンクを保ったまま別のプロバイダに移行できますか?

はい。それこそ自分のドメインを使う最大の理由のひとつです。同じキーでファイルを新しいバケットにコピーし、ドメインをそちらに向ければ、既存のリンクはそのまま使えます。