본문으로 건너뛰기
Berth

오디오북을 S3 호환 저장소에 보관하기

2026년 10월 27일 업데이트

Berth는 서버 디스크 대신 모든 S3 호환 버킷에 책을 저장할 수 있어요. 서버는 라이브러리를 관리하고 누가 들을 수 있는지 정해요. 오디오 자체는 버킷이나 CDN에서 휴대폰으로 바로 전달될 수 있어요.

왜 객체 저장소인가요

지원 제공업체

S3 호환 서비스라면 무엇이든 쓸 수 있어요. 관리자에는 엔드포인트와 리전을 채워 주는 프리셋이 있어요: AWS S3, Cloudflare R2, Yandex Cloud, Backblaze B2, Bunny Storage, MinIO. Cloudflare R2에는 버킷과 키를 대신 만들어 주는 마법사도 있어요.

버킷 연결하기

  1. 제공업체 콘솔에서 버킷과, 그 버킷에 읽기·쓰기 권한이 있는 액세스 키를 만드세요.
  2. 버킷에 CORS 규칙을 추가하세요: 오리진은 Berth 주소, 메서드는 GET, HEAD, PUT, 헤더는 *. 관리자는 브라우저에서 버킷으로 파일을 바로 업로드하므로 이 규칙이 꼭 필요해요.
  3. Berth 관리자에서 저장소 설정을 열고 저장소를 추가한 뒤 “S3 버킷”을 선택하고, 프리셋을 고르거나 항목을 직접 입력하세요.
  4. 이름, 버킷, 엔드포인트(AWS는 비워 둠), 리전(비우면 us-east-1), 액세스 키 ID, 비밀 액세스 키를 입력하세요. MinIO에서는 경로 방식 주소를 켜세요. IP 주소나 localhost에서는 자동으로 켜져요.
  5. “연결 확인”을 누르세요. Berth가 작은 테스트 파일을 쓰고, 다시 읽고, 삭제한 뒤 서버 주소에서 CORS를 확인해요.
  6. 이 저장소를 기본 저장소로 지정하세요. 새 책은 기본 저장소에 저장돼요.

키는 서버 키 secret.key로 암호화해 저장되며 다시 표시되지 않아요.

오디오가 휴대폰에 전달되는 방식

서명 없이 CDN 뒤에 있는 파일은 만료되지 않는 링크로 열려요. 파일 이름은 SHA-256 해시라서 추측할 수 없지만, 기기 연결을 해제해도 그 기기가 이미 가진 링크는 막히지 않아요. Bunny CDN 토큰 인증을 쓰면 링크가 6시간 뒤 만료돼요.

모드작동 방식언제 쓰나요
직접 링크(기본값)휴대폰이 15분 동안 유효한 버킷 서명 링크를 받아요서버 부하를 덜어 줘요
서버를 통해서버가 파일을 스트리밍해요. 링크는 6시간 유효하고, 기기 연결을 해제하면 즉시 작동을 멈춰요휴대폰이 버킷에 접근할 수 없을 때
CDN을 통해링크가 CDN이나 버킷의 공개 주소를 가리켜요버킷에 CDN이 있을 때 가장 빨라요

알아 두면 좋은 점

자주 묻는 질문

Berth에 버킷 공개 접근이 필요한가요?

아니요. 기본 모드에서는 버킷이 비공개로 유지되고, 휴대폰은 15분 뒤 만료되는 서명된 링크를 받아요.

확인 결과 버킷이 브라우저에서의 업로드를 받지 않는다고 나와요. 어떻게 하나요?

CORS 규칙을 추가하세요: 오리진은 Berth 주소, 메서드는 GET, HEAD, PUT, 헤더는 *. 그런 다음 다시 확인하세요.