Storage > Object Storage > 콘솔 사용 가이드

컨테이너

컨테이너 생성

컨테이너를 만듭니다. 오브젝트 스토리지에 오브젝트를 업로드하려면 반드시 하나 이상의 컨테이너가 필요합니다. 암호화 설정을 하면 업로드한 오브젝트를 자동으로 암호화해 저장합니다.

분류 항목 설명
컨테이너 생성 이름 컨테이너 이름은 영문 256자, 한글 85자로 제한됩니다.
컨테이너 접근 정책 PRIVATE: 허가된 사용자만 컨테이너 내부의 오브젝트에 접근할 수 있습니다.
PUBLIC: 공개 URL을 통해 누구나 컨테이너 내부의 오브젝트에 접근할 수 있습니다.
스토리지 클래스 Standard: 기본 클래스입니다.
암호화 설정 암호화 오브젝트 암호화 사용 여부를 선택합니다.
대칭 키 ID Secure Key Manager 서비스에서 관리하는 대칭 키 ID를 입력합니다.

암호화 설정

암호화 컨테이너에 업로드하는 오브젝트는 NHN Cloud의 Secure Key Manager 서비스에서 관리하는 대칭 키를 사용해 암호화됩니다. 따라서 암호화 컨테이너를 만들기 위해서는 미리 Secure Key Manager 서비스에서 대칭 키를 생성해야 합니다.

암호화 컨테이너에 적용되는 정책은 다음과 같습니다.

  • 암호화 컨테이너에 업로드하는 오브젝트는 설정된 대칭 키를 사용해 암호화되어 저장됩니다.
  • 암호화된 오브젝트를 다운로드하면 복호화되어 전송됩니다.
  • 암호화 컨테이너의 오브젝트를 복사 또는 리전 간 컨테이너 복제를 통해 다른 컨테이너에 복사하면, 대상 컨테이너의 암호화 설정에 따라 재암호화되거나 복호화되어 저장됩니다.
  • 암호화 컨테이너를 만들 때 등록한 대칭 키 ID는 변경할 수 없습니다. 대칭 키를 변경하려면 Secure Key Manager 서비스에서 키 회전을 사용해야 합니다.
  • Secure Key Manager 서비스에서 암호화 컨테이너에 설정한 대칭 키를 회전한 다음 새로운 오브젝트를 업로드하면, 이전 버전 키로 암호화된 오브젝트가 회전된 키로 재암호화됩니다. 이 작업은 사용량에 따라 처리 시간이 길어질 수 있습니다. 재암호화가 완료되기 전에 이전 버전 키를 삭제하지 않도록 주의해야 합니다.

[주의] Secure Key Manager 서비스에서 암호화 컨테이너에 설정한 대칭 키를 삭제하면 암호화된 오브젝트를 복호화할 수 없습니다. 대칭 키를 실수로 삭제하지 않도록 주의하여 관리해야 합니다.

컨테이너 삭제

선택한 컨테이너를 삭제합니다. 컨테이너를 삭제하기 전에 컨테이너가 비어 있는지 확인해야 합니다. 컨테이너 안에 오브젝트가 남아 있는 경우 삭제되지 않습니다.

컨테이너 관리

선택한 컨테이너의 기본 정보를 확인하고 설정을 관리합니다.

기본 정보

컨테이너의 기본 정보와 암호화 정보를 확인하고, 접근 정책, 정적 웹 사이트, 교차 출처 리소스 공유 등의 설정을 변경할 수 있습니다.

컨테이너 접근 정책

접근 정책을 설정합니다.

  • PRIVATE: 허가된 사용자만 컨테이너 내부의 오브젝트에 접근할 수 있습니다.
  • PUBLIC: 공개 URL을 통해 누구에게나 컨테이너에 저장된 오브젝트 다운로드와 목록 조회를 허용합니다.
정적 웹 사이트 설정
항목 설명
인덱스 문서 정적 웹 사이트의 인덱스 문서 오브젝트를 입력합니다. 오브젝트가 폴더 내에 있다면 폴더 경로를 포함해 입력해야 합니다.
최대 1024 바이트, 영문자, 숫자, 일부 특수 문자(-, _, ., /)만 입력할 수 있습니다.
오류 문서 정적 웹 사이트의 오류 문서 오브젝트의 접미사(suffix)를 입력합니다. 오류 문서 접미사에는 폴더 경로가 포함될 수 없습니다.
최대 1024 바이트, 영문자, 숫자, 일부 특수 문자(-, _, ., /)만 입력할 수 있습니다.

컨테이너의 접근 정책을 PUBLIC으로 설정하고 인덱스 문서와 오류 문서를 입력하면 컨테이너에서 정적 웹 사이트를 호스팅할 수 있습니다. 정적 웹 사이트 URL은 컨테이너 목록에서 URL 복사 버튼을 클릭해 얻을 수 있습니다.

정적 웹 사이트의 인덱스 문서, 오류 문서로 사용할 오브젝트는 하나 이상의 영문자, 숫자 또는 일부 특수 문자(-, _, ., /)로 구성된 이름이어야 하며, 파일 확장자가 html인 하이퍼텍스트 형식이어야 합니다. 조건에 맞지 않으면 설정할 수 없거나 정적 웹 사이트가 동작하지 않을 수 있습니다.

정적 웹 사이트의 오류 문서 이름은 {응답 코드}{접미사} 형태입니다. 예를 들어 오류 문서를 error.html로 설정했다면, 404 오류가 발생했을 때 보여줄 오류 문서의 이름은 404error.html이 됩니다. 각 오류 상황에 맞게 오류 문서를 업로드해 사용할 수 있습니다. 오류 문서를 정의하지 않거나, 응답 코드에 맞는 오류 문서 오브젝트가 없다면 웹 브라우저의 기본 오류 문서가 표시됩니다.

교차 출처 리소스 공유(CORS) 변경

브라우저에서 Object Storage API를 직접 호출하려면 교차 출처 리소스 공유 설정이 필요합니다. 교차 출처 리소스 공유 항목의 변경 버튼을 클릭하면 허용할 출처 URL을 등록할 수 있습니다. URL에는 프로토콜(https:// 또는 http://)이 포함되어야 합니다. *을 등록하면 모든 출처를 허용할 수 있습니다.


수명 주기 및 버전 관리

컨테이너에 저장되는 오브젝트의 수명 주기와 버전 관리 정책을 조회하고 변경할 수 있습니다.

분류 항목 설명
오브젝트 수명 주기 오브젝트의 수명 주기를 일 단위로 입력합니다. 공란으로 두면 수명 주기 설정이 해제됩니다.
오브젝트
버전 관리 정책
버전 관리 정책 버전 관리 정책 사용 여부를 선택합니다.
아카이브 컨테이너 오브젝트의 이전 버전을 보관할 컨테이너를 입력합니다.
아카이빙 오브젝트
수명 주기
오브젝트의 이전 버전의 수명 주기를 일 단위로 입력합니다. 공란으로 두면 수명 주기 설정이 해제됩니다.
오브젝트 수명 주기

업로드한 오브젝트의 기본 수명 주기를 설정할 수 있습니다. 설정된 수명 주기가 지난 오브젝트는 자동으로 삭제됩니다.

[참고] 오브젝트 수명 주기 설정 이후에 업로드한 오브젝트에만 적용됩니다.

오브젝트 버전 관리 설정

오브젝트 버전 관리 설정을 통해 오브젝트의 이전 버전을 보관할 수 있습니다. 오브젝트를 업데이트 또는 삭제할 때 이전 버전이 지정된 아카이브 컨테이너에 보관됩니다. 이전 버전에 대한 수명 주기를 설정하면 수명 주기를 초과한 이전 버전은 자동으로 삭제됩니다.

[주의] 아카이브 컨테이너를 원본 컨테이너보다 먼저 삭제하면, 원본 컨테이너의 오브젝트를 업데이트 또는 삭제할 때 오류가 발생합니다. 이미 삭제했다면 아카이브 컨테이너를 새로 생성하거나 원본 컨테이너의 버전 관리 정책을 해제해 해결할 수 있습니다.

복제

복제 설정을 통해 컨테이너의 오브젝트를 다른 리전의 컨테이너로 복제할 수 있습니다. 복제 설정은 재해 복구(disaster recovery)를 위한 기능으로 원본 리전의 오브젝트를 대상 리전에 동일하게 복제하고 관리합니다. 복제는 백그라운드에서 일정 주기마다 진행됩니다.

분류 항목 설명
복제 설정 복제 복제 기능 사용 여부를 선택합니다.
대상 리전 현재 이용 중인 리전 외에 복제할 대상 리전을 선택합니다.
대상 컨테이너 복제 대상 컨테이너를 입력합니다.

복제 정책은 다음과 같습니다.

  • 원본 컨테이너에서 오브젝트를 변경(업로드, 업데이트, 삭제)하면 복제 대상 컨테이너에 동일하게 반영됩니다.
  • 복제 대상 컨테이너에서 변경된 오브젝트는 원본 컨테이너에 반영되지 않습니다.
  • 복제 대상 컨테이너에서 복제된 오브젝트를 변경하면, 그 오브젝트는 이후 원본 오브젝트에 변경이 있더라도 복제되지 않을 수 있습니다.
  • 복제 대상 컨테이너는 빈 컨테이너 사용을 권장합니다. 대상 컨테이너에 원본 컨테이너의 오브젝트와 같은 이름의 오브젝트가 이미 있다면 복제가 원활하지 않을 수 있습니다.
  • 복제 대상 컨테이너를 삭제하면 같은 이름의 컨테이너를 다시 만들더라도 복제가 재개되지 않습니다. 복제를 재개하려면 복제 설정을 다시 해야 합니다.
  • 복제 대상 컨테이너를 다른 리전에 복제하거나, 다른 컨테이너의 복제 대상 컨테이너로 중복 설정할 수 없습니다.
  • 복제 설정을 사용 안 함으로 변경하면 복제는 중단되지만 이미 복제된 오브젝트는 유지됩니다.
  • 원본 컨테이너와 복제 대상 컨테이너의 이름을 동일하게 설정하는 것을 권장합니다. 컨테이너의 이름이 다르면 복제된 대용량 오브젝트 접근에 실패할 수 있습니다.
  • 멀티파트 업로드한 대용량 오브젝트의 세그먼트 오브젝트가 다른 컨테이너에 저장되어 있다면, 해당 컨테이너도 복제 설정을 해야 복제된 대용량 오브젝트에 접근할 수 있습니다.

오브젝트

폴더 생성

폴더를 생성합니다. 폴더는 컨테이너의 오브젝트를 그룹으로 묶기 위한 가상의 단위입니다. Windows의 폴더나 Linux의 디렉터리와 유사하게 계층적으로 오브젝트를 관리할 수 있도록 도와줍니다. 폴더 이름은 영문 256자, 한글 85자로 제한됩니다.

[참고] 오브젝트 스토리지의 폴더는 파일 시스템이 제공하는 디렉터리와는 개념이 다릅니다. 편의를 위해 제공하는 의사(pseudo) 폴더입니다. 폴더를 생성하면 실제로는 {폴더-이름}/라는 빈 오브젝트가 만들어 집니다. 폴더 안의 오브젝트는 {폴더-이름}/{오브젝트-이름} 형태의 이름을 가집니다. 오브젝트 복사 기능을 이용하여 새로운 폴더로 오브젝트를 복사하면 {폴더-이름}/ 형태의 빈 오브젝트 없이 바로 {폴더-이름}/{오브젝트-이름} 형태의 오브젝트가 만들어집니다. 따라서 이 복사된 오브젝트를 삭제할 경우 폴더까지 삭제된 것처럼 보이게 됩니다. 미리 만든 폴더로 복사할 때는 폴더의 오브젝트를 삭제하더라도 폴더가 남아 있습니다.

폴더 삭제

폴더를 삭제합니다. 폴더를 삭제하기 전에 폴더가 비어 있는지 확인해야 합니다. 폴더 안에 오브젝트가 남아 있는 경우 삭제되지 않습니다.

오브젝트 업로드

모든 오브젝트는 컨테이너 안에 업로드해야 합니다. 오브젝트 하나의 최대 용량은 5GB로 제한됩니다.

[참고] 웹 콘솔에서는 5GB를 초과하는 파일은 업로드할 수 없습니다. 업로드할 오브젝트의 용량이 5GB를 초과한다면 split 등의 명령줄 도구를 사용해 나누거나, 사용자 애플리케이션에서 5GB 이하의 크기로 나누어 업로드하도록 프로그래밍해야 합니다. 자세한 사용 방법은 API 가이드의 멀티파트 업로드를 참고합니다.

오브젝트 다운로드

선택한 오브젝트를 다운로드합니다. 컨테이너를 만들 때 컨테이너 접근 정책을 PRIVATE으로 설정했다면 허용된 사용자만 오브젝트에 접근할 수 있습니다. PUBLIC으로 설정했다면 목록에서 URL 복사 버튼을 클릭해 오브젝트의 공개 URL을 확인할 수 있습니다. 이 URL로 오브젝트의 하이퍼링크를 만들거나, 오브젝트를 직접 다운로드할 수 있습니다.

하이퍼 링크 예시
  • 웹 페이지 작성
  • # cat > index.html
    <html>
    <body> hello world!
    <a href="https://api-storage.cloud.toast.com/v1/{account}/{container}/{object}">Download</a>
    </body>
    </html>
    
  • Python3의 http 모듈을 이용해 웹 서버 실행
  • # python -m http.server
    Serving HTTP on :: port 8000 (http://[::]:8000/) ...
    
  • 웹 브라우저를 통해 http://localhost:8000에 접속한 다음 Download를 클릭하여 정상적으로 파일이 다운로드되는 것을 확인

오브젝트 복사

오브젝트를 복사하여 새로운 오브젝트를 만듭니다. 복사할 오브젝트가 있는 컨테이너에 새로운 이름의 오브젝트를 만들거나, 다른 컨테이너에 오브젝트를 복사할 수 있습니다.

[참고] 입력할 수 있는 경로의 최대 길이는 오브젝트 이름에 따라 가변적입니다. 복사할 경로에 오브젝트 이름을 더한 길이가 1024 바이트 이하여야 합니다. {경로 최대 길이} = 1024 - {오브젝트명 길이} - 1

5GB를 초과하는 멀티파트 오브젝트는 복사할 수 없습니다.

오브젝트 삭제

선택한 오브젝트를 삭제합니다. 멀티파트 오브젝트를 삭제하면 세그먼트 오브젝트도 함께 삭제됩니다.

접두어 검색

검색 창에 접두어를 입력하고 검색 버튼을 클릭하면 입력한 접두어로 시작하는 컨테이너, 폴더, 오브젝트를 검색할 수 있습니다. 컨테이너 목록에서는 컨테이너를, 오브젝트 목록에서는 폴더와 오브젝트를 검색합니다.

S3 API 자격 증명

Amazon S3 호환 API를 사용하기 위한 자격 증명을 발급받을 수 있습니다. S3 API 자격 증명은 유효 기간이 없으며, 사용자별로 프로젝트당 최대 3개까지 발급받을 수 있습니다.

[주의] S3 API 자격 증명 키가 유출되면 누구나 유출된 키를 이용해 오브젝트에 접근할 수 있습니다. 키가 유출되었다면 유출된 자격 증명을 삭제하고 새로 발급 받아 사용하는 것을 권장합니다.

TOP