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

컨테이너

컨테이너 생성

컨테이너를 만듭니다. 오브젝트 스토리지에 오브젝트를 업로드하려면 반드시 하나 이상의 컨테이너가 필요합니다.

분류 항목 설명
컨테이너 생성 이름 컨테이너 이름은 최소 3자에서 최대 63자까지 허용하며, 영문 소문자, 숫자, ‘ - ’, ‘ . ’, ‘ + ’만 입력할 수 있습니다.
컨테이너 이름의 시작과 끝은 영문자 또는 숫자로 입력해야 합니다.
IP 주소 형식의 이름은 사용할 수 없습니다.
컨테이너 접근 정책 PRIVATE: 허가된 사용자만 컨테이너 내부의 오브젝트에 접근할 수 있습니다.
PUBLIC: 공개 URL을 통해 누구나 컨테이너 내부의 오브젝트에 접근할 수 있습니다.
스토리지 클래스 Standard: 기본 클래스입니다.
객체 잠금 설정 객체 잠금 객체 잠금 사용 여부를 선택합니다.
잠금 주기 객체 잠금 주기를 일 단위로 입력합니다.

객체 잠금 설정

객체 잠금 컨테이너에 업로드한 오브젝트는 WORM(Write-Once-Read-Many) 모델을 사용하여 저장됩니다. 객체 잠금 컨테이너에 업로드한 오브젝트에는 잠금 만료 날짜가 설정됩니다. 각 오브젝트에 설정된 잠금 만료 날짜 이전에는 오브젝트를 덮어쓰거나 삭제할 수 없습니다.

컨테이너 비우기

선택한 컨테이너 내부의 모든 오브젝트를 삭제합니다.

[참고] 잠금 만료 날짜가 지나지 않은 오브젝트는 삭제되지 않습니다. 선택한 컨테이너 내부의 멀티파트 오브젝트는 매니페스트 오브젝트만 삭제됩니다. 다른 컨테이너에 위치한 세그먼트 오브젝트는 삭제되지 않습니다.

[주의] 복제 설정을 사용 중인 경우 대상 컨테이너의 객체도 함께 삭제될 수 있습니다. 컨테이너 비우기 작업을 진행 중인 컨테이너에 객체를 업로드하는 경우 삭제될 수 있습니다.

컨테이너 삭제

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

컨테이너 관리

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

기본 정보

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

컨테이너 접근 정책

기본 접근 정책을 설정하고, 테넌트 또는 개별 사용자 단위로 역할 기반 접근 정책을 관리합니다. 접근 정책에 대한 자세한 내용은 접근 정책 설정 가이드를 참조하세요.

분류 항목 설명
기본 접근 정책 PRIVATE 허가된 사용자만 컨테이너 내부의 오브젝트에 접근할 수 있습니다.
PUBLIC 공개 URL을 통해 누구나 컨테이너 내부의 오브젝트에 접근할 수 있습니다.
역할 기반 접근 정책 설정 개별 접근 정책 사용 여부를 선택합니다.
테넌트 ID 접근을 허용할 테넌트 ID 또는 *를 입력합니다. 테넌트 ID는 콘솔의 API Endpoint 설정 대화 상자에서 확인할 수 있습니다.
API 사용자 ID 접근을 허용할 API 사용자 ID 또는 *를 입력합니다. API 사용자 ID는 콘솔의 API Endpoint 설정 대화 상자에서 확인할 수 있습니다.
권한 허용할 접근 권한(Read, Write)을 선택합니다.


IP ACL

IP 기반 접근 정책을 관리합니다. 접근 정책에 대한 자세한 내용은 접근 정책 설정 가이드를 참조하세요.

분류 항목 설명
화이트리스트 IPv4 화이트리스트에 등록할 IP를 입력합니다. IP(192.168.0.1) 또는 CIDR(192.168.0.0/24) 형식으로 입력할 수 있습니다.
권한 허용할 접근 권한(Read, Write)을 선택합니다.
블랙리스트 IPv4 블랙리스트에 등록할 IP를 입력합니다. IP(192.168.0.1) 또는 CIDR(192.168.0.0/24) 형식으로 입력할 수 있습니다.
권한 허용하지 않을 접근 권한(Read, Write)을 선택합니다.
Service Gateway IP 설정 안 함 서비스 게이트웨이를 통한 요청에 접근 제어 설정을 하지 않습니다.
Read 허용 서비스 게이트웨이를 통한 읽기 요청을 허용합니다.
Write 허용 서비스 게이트웨이를 통한 쓰기 요청을 허용합니다.
Read / Write 허용 서비스 게이트웨이를 통한 읽기, 쓰기 요청을 허용합니다.
차단 서비스 게이트웨이를 통한 요청을 허용하지 않습니다.
정적 웹사이트 설정
분류 항목 설명
정적 웹사이트 설정 인덱스 문서 정적 웹사이트의 인덱스 문서 오브젝트를 입력합니다. 오브젝트가 폴더 내에 있다면 폴더 경로를 포함해 입력해야 합니다.
최대 256 바이트, 영문자, 숫자, 일부 특수 문자(-, _, ., /)만 입력할 수 있습니다.
오류 문서 정적 웹사이트의 오류 문서 오브젝트의 접미사(suffix)를 입력합니다. 오류 문서 접미사에는 폴더 경로가 포함될 수 없습니다.
최대 256 바이트, 영문자, 숫자, 일부 특수 문자(-, _, ., /)만 입력할 수 있습니다.

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

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

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

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

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


업로드 정책 설정 변경

컨테이너에 오브젝트 이름 기반의 업로드 정책을 설정합니다. 업로드 정책 설정을 활용하면 이름에 특정 확장자나 키워드가 포함된 오브젝트만 업로드하거나 업로드하지 못하도록 제한할 수 있습니다.

업로드 정책은 화이트리스트 또는 블랙리스트를 설정할 수 있으며, 두 방식을 동시에 설정할 수 없습니다. 업로드할 파일의 확장자 또는 파일명에 포함되는 키워드를 설정할 수 있습니다. 단, 경로가 포함된 오브젝트는 경로를 제외한 오브젝트명이 정책에 반영됩니다. 업로드 정책은 설정된 이후부터 신규 업로드되는 오브젝트에 적용됩니다.

화이트 리스트로 확장자 exe, jpg를 설정하면 .exe, .jpg 확장자를 가지는 오브젝트만 업로드할 수 있습니다. 파일명 example을 추가 설정하면 exe_example.exe, iamge_example.jpg와 같이 설정된 파일명과 확장자를 모두 가지는 오브젝트만 업로드할 수 있습니다.

블랙리스트의 경우 확장자 exe, jpg를 설정하면 모든 .exe, .jpg 확장자를 가지는 오브젝트는 업로드할 수 없습니다. 파일명 exmaple을 추가 설정하면 test.exe, image.jpg와 같은 확장자 제한된 확장자의 파일과 text_example.txt와 같은 제한된 키워드를 가지는 파일 모두 업로드할 수 없습니다.

수명 주기 및 버전 관리

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

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

업로드한 오브젝트의 기본 수명 주기를 설정할 수 있습니다. 수명 주기가 만료된 오브젝트는 설정된 수명 주기 만료 동작에 따라 삭제되거나 지정된 컨테이너로 옮겨집니다.

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

오브젝트 버전 관리 설정

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

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

객체 잠금

객체 잠금 컨테이너의 객체 잠금 주기를 확인하고 변경할 수 있습니다. 잠금 주기는 일 단위로 입력할 수 있으며, 해제할 수 없습니다.

분류 항목 설명
객체 잠금 설정 객체 잠금 객체 잠금 사용 여부를 선택합니다.
잠금 주기 객체 잠금 주기를 일 단위로 입력합니다.

[참고] 변경된 객체 잠금 주기는 설정 변경 이후에 업로드한 오브젝트에 적용됩니다. 일반 컨테이너를 객체 잠금 컨테이너로 변경하거나, 객체 잠금 컨테이너를 일반 컨테이너로 변경할 수 없습니다. 객체 잠금 컨테이너는 아카이브 컨테이너 또는 복제 대상 컨테이너로 지정할 수 없습니다.

복제

복제 설정을 통해 컨테이너의 오브젝트를 다른 리전의 컨테이너로 복제할 수 있습니다. 복제 설정은 재해 복구(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://kr1-api-object-storage.gov-nhncloudservice.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

멀티파트 오브젝트는 매니페스트 오브젝트만 복사 또는 이동됩니다.

오브젝트 삭제

선택한 오브젝트를 삭제합니다. 여러 개의 오브젝트를 동시에 선택해 삭제할 수 있습니다.

[참고] 멀티파트 오브젝트를 삭제하면 선택한 매니페스트 오브젝트만 삭제됩니다. 선택하지 않은 세그먼트 오브젝트는 삭제되지 않습니다.

서명된 URL 생성

역할 기반 접근 정책에 관계없이 설정한 시간 동안 지정한 오브젝트에 자유롭게 접근할 수 있는 서명된 URL을 생성합니다.

[참고] 단일 오브젝트만 선택할 수 있으며, 폴더 오브젝트는 선택할 수 없습니다. 유효 기간은 최대 720분까지 분 단위로 설정할 수 있습니다.

[주의] 서명된 URL이 유출되면 누구나 선택한 오브젝트에 접근할 수 있으므로 주의해서 사용해야 합니다. 서명된 URL이 유출되어도 피해를 줄일 수 있도록 상황과 용도에 맞게 적절한 유효 기간을 설정하여 사용하는 것을 권장합니다.

오브젝트 관리

선택한 오브젝트의 기본 정보를 확인하고 속성을 관리합니다.

[참고] 객체 만료 날짜와 잠금 만료 날짜를 모두 설정한다면 객체 만료 날짜는 항상 잠금 만료 날짜 이후로 설정해야 합니다.

객체 만료 날짜 변경

선택한 오브젝트의 만료 날짜를 변경할 수 있습니다.

객체 잠금 날짜 변경

선택한 오브젝트의 잠금 만료 날짜를 변경할 수 있습니다. 이전에 설정된 만료 날짜 이전으로는 변경할 수 없습니다.

접두어 검색

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

S3 API 자격 증명

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

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

TOP