공개 버킷 (Public buckets)
공개 버킷(Public Bucket)은 사용자가 R2 버킷의 내용을 인터넷에 직접 노출할 수 있게 해주는 기능이에요. 기본적으로 버킷은 공개적으로 접근할 수 없으며, 항상 사용자의 명시적 권한을 요구해요.
공개 버킷은 다음 두 가지 방식 중 하나로 설정할 수 있어요.
- 버킷을 본인이 관리하는 커스텀 도메인으로 노출하기.
- 비프로덕션(production)용으로 Cloudflare 관리형
https://r2.dev서브도메인으로 버킷을 노출하기.
이 옵션들은 독립적으로 사용할 수 있어요. 커스텀 도메인을 활성화해도 r2.dev 접근을 활성화할 필요는 없어요.
WAF 커스텀 규칙, 캐싱, 접근 제어, Bot Management 같은 기능을 사용하려면 버킷을 커스텀 도메인 뒤에 구성해야 해요. 이 기능들은 r2.dev 개발 URL을 사용할 때는 사용할 수 없어요.
출처: 문서
본문
커스텀 도메인 (Custom domains)
캐싱 (Caching)
커스텀 도메인을 통한 도메인 접근은 Cloudflare Cache를 사용해 R2 버킷 접근을 가속할 수 있게 해줘요.
R2 버킷 옆에 단일 상위 계층 데이터 센터를 두려면 Smart Tiered Cache를 사용하도록 캐시를 구성해요.
접근 제어 (Access control)
커스텀 도메인 버킷의 접근을 제한하려면 Cloudflare의 기존 보안 제품을 사용해요.
- Cloudflare Zero Trust Access: 팀원만 접근해야 하는 버킷을 보호해요. 자세한 내용은 Cloudflare Access로 R2 버킷 보호 튜토리얼을 참고해요.
- Cloudflare WAF 토큰 인증: 문서, 파일, 미디어에 대한 접근을 선택된 사용자에게 액세스 토큰을 제공해 제한해요.
최소 TLS 버전 및 암호화 스위트 (Minimum TLS Version & Cipher Suites)
R2 버킷 커스텀 호스트명의 최소 TLS 버전이나 암호화 스위트를 커스터마이즈하려면 R2 커스텀 도메인 설정 편집 API 호출을 실행할 수 있어요. 요청 본문에 선택적 minTLS와 ciphers 파라미터를 추가해야 해요. 지정할 수 있는 암호화 스위트 목록은 지원되는 암호화 스위트를 참고해요.
Cloudflare에 도메인 추가 (Add your domain to Cloudflare)
사용 중인 도메인은 R2 버킷과 같은 계정에 존(zone)으로 추가되어 있어야 해요.
- 도메인이 이미 Cloudflare에서 관리되고 있다면 버킷을 커스텀 도메인에 연결로 진행하면 돼요.
- 도메인이 Cloudflare에서 관리되지 않는다면 부분(CNAME) 설정을 사용해 계정에 추가해야 해요.
도메인이 Cloudflare 계정에 존재하면(설정 유형과 무관하게) 버킷에 연결할 수 있어요.
버킷을 커스텀 도메인에 연결 (Connect a bucket to a custom domain)
- Cloudflare 대시보드에서 R2 객체 스토리지(R2 object storage) 페이지로 이동해요. 개요(Overview)로 이동 ↗
- 버킷을 선택해요.
- 설정(Settings) 을 선택해요.
- 커스텀 도메인(Custom Domains) 아래에서 추가(Add) 를 선택해요.
- 연결하려는 도메인 이름을 입력하고 계속(Continue) 을 선택해요.
- DNS 테이블에 추가될 새 레코드를 검토하고 도메인 연결(Connect Domain) 을 선택해요.
이제 도메인이 연결됐어요. 상태가 초기화 중(Initializing) 에서 활성(Active) 으로 바뀌는 데 몇 분이 걸리며, 상태 업데이트를 확인하려면 새로고침이 필요할 수 있어요. 상태가 바뀌지 않았다면 버킷 옆의 ... 을 선택하고 연결 재시도(Retry connection) 를 선택해요.
추가된 DNS 레코드를 보려면 연결된 도메인 옆의 ... 을 선택하고 DNS 관리(Manage DNS) 를 선택해요.
도메인 접근 비활성화 (Disable domain access)
도메인을 비활성화하면 해당 도메인을 통한 버킷의 공개 접근이 꺼져요. 다른 도메인이나 관리형 r2.dev 서브도메인을 통한 접근은 영향을 받지 않아요.
지정한 도메인은 제거하거나 버킷을 삭제할 때까지 R2에 연결된 상태로 유지돼요.
도메인을 비활성화하려면:
- R2 에서 수정할 버킷을 선택해요.
- 버킷 페이지에서 설정(Settings) 을 선택하고 커스텀 도메인(Custom Domains) 으로 이동해요.
- 비활성화할 도메인 옆의 ... 을 선택하고 도메인 비활성화(Disable domain) 를 선택해요.
- 버킷 접근(Access to Bucket) 배지가 허용되지 않음(Not allowed) 으로 업데이트돼요.
도메인 제거 (Remove domain)
커스텀 도메인을 제거하면 버킷에서 연결이 끊기고 대시보드에서 구성이 삭제돼요. 버킷은 다른 활성화된 접근 방식을 통해서는 계속 공개적으로 접근할 수 있지만, 도메인은 연결된 도메인 목록에 더 이상 표시되지 않아요.
도메인을 제거하려면:
- R2 에서 수정할 버킷을 선택해요.
- 버킷 페이지에서 설정(Settings) 을 선택하고 커스텀 도메인(Custom Domains) 으로 이동해요.
- 비활성화할 도메인 옆의 ... 을 선택하고 도메인 제거(Remove domain) 를 선택해요.
- 확인 창에서 도메인 제거(Remove domain) 를 선택해요. 이 단계에서는 도메인을 가리키는 CNAME 레코드도 제거돼요. 도메인은 언제든지 다시 추가할 수 있어요.
공개 개발 URL (Public development URL)
Cloudflare 관리형 r2.dev 서브도메인을 통해 이 R2 버킷의 내용을 인터넷에 노출해요. 이 엔드포인트는 비프로덕션 트래픽용으로 설계됐어요.
공개 개발 URL 활성화 (Enable public development URL)
버킷의 공개 개발 URL 접근을 활성화하면, 그 내용이 Cloudflare 관리형 r2.dev 서브도메인을 통해 인터넷에서 사용할 수 있게 돼요.
버킷의 r2.dev 접근을 활성화하려면:
- R2 에서 수정할 버킷을 선택해요.
- 버킷 페이지에서 설정(Settings) 을 선택해요.
- 공개 개발 URL(Public Development URL) 아래에서 활성화(Enable) 를 선택해요.
- 공개 접근 허용(Allow Public Access?) 에서
allow를 입력해 선택을 확인하고 허용(Allow) 을 선택해요. - 이제 공개 버킷 URL(Public Bucket URL)을 사용해 버킷과 그 객체에 접근할 수 있어요.
버킷이 공개적으로 접근 가능한지 확인하려면 버킷 설정에서 공개 URL 접근(Public URL Access) 이 허용됨(Allowed) 으로 표시되는지 확인해요.
공개 개발 URL 비활성화 (Disable public development URL)
공개 개발 URL 접근을 비활성화하면 버킷이 r2.dev 서브도메인을 통해 노출되는 것이 제거돼요. 버킷과 그 객체는 더 이상 공개 버킷 URL(Public Bucket URL)로 접근할 수 없어요.
다른 도메인을 연결했다면 버킷은 해당 도메인으로 계속 접근할 수 있어요.
버킷의 공개 접근을 비활성화하려면:
- R2 에서 수정할 버킷을 선택해요.
- 버킷 페이지에서 설정(Settings) 을 선택해요.
- 공개 개발 URL(Public Development URL) 아래에서 비활성화(Disable) 를 선택해요.
- 공개 접근 금지(Disallow Public Access?) 에서
disallow를 입력해 확인하고 금지(Disallow) 를 선택해요.