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 같은 하위 도메인이 더 간단합니다.
사용자 지정 도메인을 추가하면 기존 링크가 깨지나요?
아니요. 제공업체의 원래 주소는 사용자 지정 도메인과 함께 계속 작동합니다. 이후에 만드는 링크만 새 도메인을 사용합니다.
다른 제공업체로 옮기면서 링크를 유지할 수 있나요?
네, 내 도메인을 써야 하는 가장 좋은 이유 중 하나입니다. 같은 키로 새 버킷에 파일을 복사하고 도메인이 새 버킷을 가리키게 하면 기존 링크가 계속 작동합니다.