가이드

DigitalOcean Spaces용 파일 관리자: Nubbo에 연결하기

DigitalOcean Spaces 버킷을 Nubbo에 연결하는 방법: 액세스 키, 리전, 단계별 마법사 진행, CORS 규칙, 실패했을 때 해결하는 방법을 알아보세요.

Nubbo는 Spaces 액세스 키와 버킷의 리전으로 DigitalOcean Spaces에 연결해요. 몇 분이면 버킷을 직접 업로드, 공유 링크, 갤러리를 갖춘 파일 탐색기에서 사용할 수 있어요. 이 가이드는 Nubbo 마법사를 단계별로 따라가며 두 가지 방법을 모두 다뤄요: 자동 연결 또는 버킷 하나로 제한된 키를 사용한 연결.

제공되는 기능

  • 버킷을 드라이브처럼 탐색하세요: 폴더, 보기 방식, 검색, 휴지통, 라벨, 즐겨찾기.
  • 브라우저와 DigitalOcean Spaces 사이에서 파일을 직접 업로드하고 다운로드하세요. 파일은 Nubbo 서버를 거치지 않아요.
  • 비밀번호, 만료일, 다운로드 횟수 제한을 걸어 파일과 폴더를 공유하고, 버킷으로 파일을 받고, 갤러리를 만들 수 있어요.
  • 키는 AES-256-GCM으로 암호화되어 저장되며, 언제든지 버킷 연결을 해제할 수 있어요.

시작하기 전에

DigitalOcean Spaces 계정과 Nubbo 계정이 필요해요. 연결하는 버킷은 각각 요금제 한도에 포함돼요: 무료 요금제는 2개, Personal은 5개까지 연결할 수 있고 Pro는 제한이 없어요. Spaces는 13개 리전에서 제공돼요: nyc3, ams3, sfo2, sfo3, sgp1, lon1, fra1, tor1, blr1, syd1, atl1, ric1, mkc1. 리전마다 엔드포인트가 다르기 때문에 Nubbo가 리전을 물어봐요.

연결 방법 선택하기

Nubbo 마법사에는 두 가지 방법이 있어요. 어느 쪽이든 결과는 같아요: 버킷이 연결되고 브라우저에서 업로드할 준비가 돼요.

자동제한된 키 사용
키계정 전체에 액세스버킷 하나로 제한
버킷Nubbo가 기존 버킷을 사용하거나 새로 만들어요먼저 직접 만들어요
CORSNubbo가 규칙을 추가해 줘요규칙을 직접 추가해요
선택할 때가장 빠른 방법계정 전체 액세스를 주고 싶지 않을 때

자동 연결

1단계: DigitalOcean Spaces에서 키 만들기

  1. DigitalOcean 제어판에서 Spaces Object Storage를 열고 Access Keys 탭으로 이동하세요.
  2. Create Access Key를 누르고 Full access를 선택한 뒤 이름(예: nubbo)을 정하세요.
  3. 액세스 키와 시크릿을 복사하세요. DigitalOcean은 시크릿을 한 번만 보여 줘요.

2단계: Nubbo에서 버킷 연결하기

  1. Nubbo에서 버킷을 열고 버킷 연결을 누르세요. DigitalOcean Spaces를 선택하고 계속을 누르세요.

    DigitalOcean Spaces가 선택된 Nubbo 마법사의 프로바이더 단계 DigitalOcean Spaces가 선택된 Nubbo 마법사의 프로바이더 단계
  2. 자동을 선택하고 계속을 누르세요.

    자동과 제한된 키 사용 옵션이 있는 연결 방법 단계 자동과 제한된 키 사용 옵션이 있는 연결 방법 단계
  3. 키 단계에서 액세스 키와 시크릿을 붙여넣고 버킷의 리전을 선택하세요. 키 확인을 누르세요. Nubbo가 키가 작동하는지, 계정 전체에 액세스할 수 있는지 확인해요.

    빠른 설정 가이드와 키 입력란이 있는 DigitalOcean Spaces의 키 단계 빠른 설정 가이드와 키 입력란이 있는 DigitalOcean Spaces의 키 단계
  4. 버킷 중 하나를 고르고 이 버킷 사용을 누르거나, 새로 만들기를 선택해 이름을 입력하고(요청하면 리전도 선택하고) 만들고 준비하기를 누르세요. Nubbo가 앱에서의 업로드와 다운로드만 허용하는 CORS 규칙을 버킷에 추가하며, 기존 규칙은 그대로 유지해요.

    버킷 목록과 새로 만들기 옵션이 있는 버킷 단계 버킷 목록과 새로 만들기 옵션이 있는 버킷 단계
  5. 세 가지 확인 항목을 검토하고, 원하면 Nubbo에서 표시할 이름을 바꾼 뒤 완료를 누르세요. 버킷이 버킷 페이지에 표시되고 탐색기에서 열 수 있어요.

    연결, 버킷, CORS 확인 항목이 있는 완료 단계 연결, 버킷, CORS 확인 항목이 있는 완료 단계

Nubbo가 사용 중인 키로 CORS 규칙을 추가할 수 없으면 마법사가 CORS 단계로 안내해요. 그다음 CORS 규칙 추가하기를 따라 하세요.

제한된 키로 연결하기

1단계: DigitalOcean Spaces에서 버킷과 키 준비하기

  1. Spaces Object Storage에서 Create Bucket을 누르고 리전과 이름을 선택해 버킷을 만드세요.
  2. Access Keys에서 Create Access Key를 누르고 Limited access를 선택하세요.
  3. Read/Write/Delete 권한으로 버킷을 선택하고 키 이름을 정해 만드세요.
  4. 액세스 키와 시크릿을 복사하세요. 제한된 키는 버킷 정책이 있는 버킷에서는 작동하지 않아요.

2단계: Nubbo에서 버킷 연결하기

  1. 버킷 페이지에서 버킷 연결을 누르고 DigitalOcean Spaces를 선택한 뒤 제한된 키 사용을 선택하세요.
  2. 액세스 키와 시크릿을 붙여넣고 리전을 선택하세요. 키 확인을 누르세요.
  3. 정확한 버킷 이름을 입력하고 액세스 확인을 누르세요.
  4. 마법사가 추가해야 할 규칙과 함께 CORS 단계로 넘어가요.

CORS 규칙 추가하기

CORS 규칙은 브라우저가 https://nubbo.app에서 버킷으로 파일을 업로드하고 다운로드할 수 있게 해 줘요. 마법사의 CORS 단계에 표시되는 규칙과 같아요.

  1. Spaces Object Storage에서 버킷을 열고 Settings로 이동하세요.
  2. CORS Configurations 아래의 Add를 누르세요.
  3. 다음 값으로 양식을 채우고 Save CORS Configuration을 누르세요.
Origin: https://nubbo.app
Allowed Methods: GET, PUT, POST, DELETE, HEAD
Allowed Headers: *
Access Control Max Age: 3600

제한된 키를 사용한다면 직접 추가해야 해요: DigitalOcean에서는 API로 CORS를 변경하려면 Full access 키가 필요해요.

버킷에 추가할 규칙이 표시된 CORS 단계 버킷에 추가할 규칙이 표시된 CORS 단계

저장했으면 Nubbo로 돌아가 추가했어요, 확인을 누르세요. 일부 프로바이더는 적용하는 데 1분 정도 걸려요. 키에 CORS 변경 권한이 있다면 자동 설정 시도로 Nubbo가 대신 설정해 줘요.

문제가 생겼을 때

Nubbo 메시지해결 방법
“인증 정보가 유효하지 않아요. 액세스 키와 시크릿 액세스 키를 확인해 주세요.”두 키를 앞뒤 공백 없이 다시 복사하세요.
“이 키는 버킷 하나로 제한된 것 같아요. 제한된 방식으로 계속하거나 전체 액세스 권한이 있는 키를 만들 수 있어요.”제한된 키로 계속을 누르거나, 계정 전체에 액세스할 수 있는 키를 만든 뒤 다른 키 사용해 보기를 누르세요.
“bucket을 찾을 수 없어요. 이름과 리전을 확인해 주세요.”정확한 버킷 이름과 선택한 리전이 버킷의 리전인지 확인하세요.
“키에 버킷 생성 권한이 없어요.”전체 액세스 권한이 있는 키를 사용하거나, 관리 화면에서 버킷을 만든 뒤 관리 화면에서 만들었어요를 누르세요.
“이 이름은 이 프로바이더에서 이미 사용 중이에요. 다른 이름을 시도하세요.”버킷 이름은 프로바이더 전체에서 고유해야 해요: 다른 이름을 고르세요.
“키에 설정 권한이 없어요.”위에서 설명한 대로 CORS 규칙을 직접 추가하세요.
“아직 작동하지 않아요. 규칙을 검토하고 다시 확인하세요. 일부 프로바이더는 적용하는 데 1분 정도 걸려요.”오리진이 끝에 슬래시 없이 정확히 https://nubbo.app인지 확인하고, 1분 정도 기다린 뒤 다시 확인하세요.
“이 bucket은 이미 사용 중이에요.”이 버킷은 내 계정이나 다른 계정에서 이미 Nubbo에 연결되어 있어요.
“bucket이 다른 리전에 있어요. 설정된 리전을 확인해 주세요.”버킷을 만든 리전과 같은 리전을 Nubbo에서 선택하세요.
“접근이 거부되었어요. 인증 정보가 여전히 유효한지와 권한을 확인해 주세요.”제한된 키라면 그 버킷에 Read/Write/Delete 권한이 있는지, 버킷에 버킷 정책이 없는지 확인하세요.

비용

Spaces는 스토리지와 전송량이 포함된 월 요금으로 청구돼요. DigitalOcean Spaces 요금에서 자세히 설명해 드려요.

자주 묻는 질문

어떤 종류의 Spaces 키가 필요한가요?

자동 방식에는 Full access 키가 필요해요. 제한된 키라면 버킷에 Read/Write/Delete 권한이 있는 Limited access 키를 사용하세요.

Nubbo에서는 어떤 리전을 선택하나요?

버킷의 리전이에요: nyc3, ams3, sfo2, sfo3, sgp1, lon1, fra1, tor1, blr1, syd1, atl1, ric1, mkc1 중 하나예요. 제어판에서 버킷 이름 옆에 표시돼요.

Nubbo가 제한된 키로 CORS를 설정할 수 없는 이유는 무엇인가요?

DigitalOcean에서는 API로 CORS를 변경하려면 Full access 키가 필요하기 때문이에요. 제한된 키를 사용한다면 Settings, CORS Configurations에서 직접 추가하세요.

여러 리전의 버킷을 연결할 수 있나요?

네. 각 버킷은 자체 리전으로 연결되며, 요금제에서 허용하는 만큼 연결할 수 있어요.

출처

요금과 제한은 아래 공식 페이지를 기준으로 해요. 프로바이더가 변경할 수 있으니 결정하기 전에 확인하세요.