2026年9月30日 · 6分で読めます
バケットのファイルリンクに独自ドメインを使う方法
https://files.example.com/report.pdfのようなリンクは信頼感があり、ストレージプロバイダを変えても使い続けられ、バケット名も漏れません。主要なプロバイダはどれも自分のドメインでバケットをHTTPS配信できますが、方法はそれぞれ異なります。
Cloudflare R2
いちばん簡単です。ドメインは、バケットと同じCloudflareアカウントのゾーンである必要があります。
- バケットのSettingsを開き、Custom DomainsでAddを選択します。
files.example.comを入力し、DNSレコードを確認してConnect Domainを選択します。
DNSレコードと証明書はCloudflareが作成します。詳しくはR2バケットを公開する方法をご覧ください。
Amazon S3とCloudFront
S3単体では独自ドメインでHTTPS配信できないため、前にCloudFrontを置きます。
- AWS Certificate Managerのus-east-1リージョンで
files.example.comの証明書をリクエストし(CloudFrontが使えるのはこのリージョンの証明書だけです)、DNSで検証します。 - バケットをオリジンとし、Origin access controlを使うCloudFrontディストリビューションを作成します。これでバケットは非公開のままにできます。CloudFrontが提示するバケットポリシーを適用してください。
files.example.comを代替ドメイン名として追加し、証明書を選択します。- 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のようなサブドメインのほうが簡単です。
独自ドメインを追加すると、以前のリンクは使えなくなりますか?
いいえ。プロバイダの元のアドレスは、独自ドメインと並んで引き続き使えます。新しいドメインが使われるのは、そのあとに作成したリンクだけです。
リンクを保ったまま別のプロバイダに移行できますか?
はい。それこそ自分のドメインを使う最大の理由のひとつです。同じキーでファイルを新しいバケットにコピーし、ドメインをそちらに向ければ、既存のリンクはそのまま使えます。