Object Storage 개요
  • PDF

Object Storage 개요

  • PDF

사용하기 전에 (VPC)

Q. Object Storage는 어떤 목적으로 사용하나요?

네이버 클라우드 플랫폼 Object Storage는 사용자가 언제 어디서나 원하는 데이터를 저장하고 탐색할 수 있도록 파일 저장 공간을 제공하는 서비스입니다. 다음과 같은 용도로 사용할 수 있습니다.

  • 파일 단위의 데이터 저장, 공유, 배포: 콘텐츠를 저장하고 다른 사용자에게 공유하거나 배포할 수 있습니다.
  • 대용량 저장소: 대용량의 데이터 저장소로 활용할 수 있습니다.
  • 데이터 백업 및 장기 보관: 중요한 데이터를 백업하거나 장기 보관할 수 있습니다.

Q. Object Storage 사용시 제한사항과 한도는 어떻게 되나요?

아래와 같은 제한사항 및 한도가 적용됩니다.

  • 버킷 수량 : 최대 1,000개 (※ 버킷 수량은 고객문의를 통해 요청하실 경우 한도 증가 가능합니다.)
  • 오브젝트 이름 문자열 길이(폴더path 포함) : 최대 1024 Byte
  • 업로드시 단일 오브젝트 최대 용량 : 콘솔에서 업로드시 파일당 최대 2GB, API 사용시 파일당 최대 10TB까지 업로드 가능합니다. (※ 버킷에 저장용량 제한은 없습니다.)
  • 객체 잠금 설정(WORM) 기능 적용 시, 보존 기간 만료 전까지 삭제 및 수정이 불가합니다.
  • 암호화 설정(KMS) 기능 적용 시, 잠금설정 및 정적웹호스팅 기능은 사용이 불가능합니다.

Q. Object Storage를 사용하려면 어떻게 해야 하나요?

Object Storage는 네이버 클라우드 플랫폼 콘솔에서 신청하고 사용할 수 있습니다.
아래 안내된 단계에 따라 콘솔에서 Object Storage를 이용해 보세요.

1. 콘솔에 접속하여 Object Storage 서비스를 선택합니다.

2. Object Storage 이용신청을 클릭하여 서비스를 신청합니다.

3. 콘솔에 접속해서 버킷을 생성합니다.

4. 버킷에 필요한 파일을 업로드, 다운로드하여 활용합니다.

API로 Object Storage를 이용하기 위해서는 포털 > 마이페이지 > 인증키 관리에서 API 인증키를 생성해야 합니다. 해당 페이지에서 API 인증키 생성 후, [Object Storage API 가이드]를 참고하여 API로 Object Storage를 이용해 보세요.

Q. 공개 관리와 권한 관리는 어떤 차이가 있나요?

공개 관리는 네이버 클라우드 플랫폼 사용자가 아닌 사용자에게 권한을 오픈하는 것으로 버킷과 파일에서 제공하는 권한이 다릅니다.

  • 버킷 공개하기: 버킷 안의 객체(파일/폴더)에 대한 리스트 조회, 파일 업로드
  • 파일 공개하기: 파일 정보 조회 및 다운로드

권한 관리는 네이버 클라우드 플랫폼 사용자에게 권한을 부여하기 위한 기능입니다. 특정 사용자에게 부여하고 싶은 권한만큼 제공할 때 사용할 수 있습니다.

  • 버킷 권한: 목록 조회, 업로드, ACL 조회, ACL 수정
  • 파일 권한: 다운로드, ACL 조회, ACL 수정

Q. 버킷 권한을 부여한 타 계정이 업로드한 Object를 조회하려면 어떻게 해야 하나요?

기본적으로 Object 업로드를 하면 Object의 소유주는 업로드한 계정이 됩니다. 따라서 버킷 소유주가 해당 Object를 조회하기 위해서는 버킷 소유주에게 Object에 대한 권한을 부여해야 합니다.

ObjectACL API 가이드를 참고하여 API로 ObjectACL을 설정할 수있습니다.

Q. S3와 연동되는 툴을 사용할 수 있나요?

Object Storage는 AWS S3 compatible API를 제공하므로, S3를 활용한 툴을 Object Storage에서도 사용할 수 있습니다. S3 Browser를 사용하는 방법은 다음과 같습니다.

1. 최신 버전의 S3 Browser를 다운로드하여(https://s3browser.com/download.aspx) 설치합니다.

2. S3 Brower를 실행하고 Menu > Account > Add New Account에서 다음과 같이 설정합니다.

  • Account Type: S3 Compatible Storage
  • REST Endpoint: kr.object.ncloudstorage.com
  • Access Key ID: access key (Object Storage 이용신청 시 선택한 API 인증키를 입력합니다. 인증키 정보는 포털 > 마이페이지 > 계정관리 > 인증키 관리에서 확인할 수 있습니다.)
  • Secret Access Key: secret key (위 API 인증키와 연결된 secret key를 입력합니다.)
  • Use secure transfer(SSL/TLS): 선택

3. [Task] 탭에서 정상적으로 연결이 되는지 확인합니다.

  • 버킷 생성/삭제, 파일 업로드/다운로드, 폴더 생성/삭제가 가능한지 확인합니다.
  • 권한 부여는 네이버클라우드 콘솔 및 관련 API로 제어하는 것을 권장합니다.

Q. Object Storage를 사용하면 발생하는 요금을 알려주세요.

Object Storage는 유료 서비스로, 사용한 만큼 과금됩니다.

Object Storage 요금 = 데이터 저장량 요금 + API 요청 수 요금 + 네트워크 전송 요금

  • 데이터 저장량 요금: 고객의 파일이 실제로 Object Storage에 저장된 데이터 저장량과 저장 시간에 따른 요금
  • API 요청 수 요금: Object Storage를 사용하기 위한 목록 조회, 업로드, 다운로드 요청 등의 API 요청에 따른 요금
  • 네트워크 전송 요금: 파일 다운로드에 따른 요금
    (VPC에서 사설 도메인을 이용하면 별도 요금이 발생합니다.)
참고

Object Storage와 CDN+, Global CDN 간에 발생하는 네트워크 전송 요금은 무과금 처리됩니다.

Q. 콘솔에서 Object를 업로드, 다운로드 할 수 있는 크기는 몇입니까?

콘솔에서는 object 업로드 2GB이하, 다운로드 2GB이하로 제한합니다.
제한된 사이즈보다 큰 object는 SDK 문서를 참고하여 API로 업로드 및 다운로드를 할 수 있습니다.

Q. Object 다운로드 했는데 콘솔에 보이는 사이즈와 다릅니다.

object를 다운로드하여 pc에서 확인할 경우, OS마다 사이즈가 다르게 보일 수 있습니다. 이는 OS마다 데이터 사이즈를 계산하는 방식에 차이가 있기 때문입니다.
object의 실제 사이즈는 content-length로 확인가능하며, object에는 이상이 없습니다.

Q. Lifecycle Management란 무엇인가요?

모든 데이터는 시간이 지남에 따라 사용 빈도가 낮아집니다. 그러므로 활용도가 높은 데이터는 입출력 속도가 빠른 스토리지에 저장을 하고, 규제(Compliance) 대응과 향후 분석을 위해 장기간 저장이 필요한 데이터는 요금이 저렴한 스토리지를 이용하신다면 TCO 절감을 실현하실 수 있습니다.

네이버 클라우드 플랫폼의 Object Storage는 Archive Storage 대비 입출력 속도가 빠르므로, 자주 사용하는 데이터는 Object Storage에 저장을 하고, 장기 보관을 위한 데이터는 Archive Storage에 저장하실 수 있도록 Lifecycle Management 기능을 제공합니다.

스케줄 기반 정책을 통해 Object Storage에서 Archive Storage로 자동으로 데이터를 이관하여, 원가 절감은 물론 체계적으로 데이터를 관리하실 수 있는 기반을 마련해 보시기 바랍니다.

Q. Lifecycle Management는 어떻게 사용하나요?

Lifecycle Management는 네이버 클라우드 플랫폼 콘솔에서 신청하고 사용할 수 있습니다. 아래 안내된 단계에 따라 콘솔에서 이용해 보세요.

1. 콘솔에 접속하여 Object Storage 서비스를 선택합니다.

2. Object Storage 내 Lifecycle Management를 클릭하여 전용 메뉴에 접속합니다.

3. [수명주기 정책 추가] 버튼을 눌려 정책을 추가합니다.

Q. Lifecycle Management 사용시 별도의 요금이 있나요?

Lifecycle Management를 위한 별도의 이용 요금은 없습니다.

Q. Lifecycle Management 사용시 주의사항이 있나요?

  • Lifecycle Management 는 Object Storage 에서 Archive Stoage로 데이터를 이관 시, Archive Storage의 Object 이름의 Bytes 제한으로 인해 이관이 되지 않을 수 있습니다.
  • Archive Storage에 업로드 가능한 Object의 이름은 215 Bytes 미만입니다.
  • Object 이름에 "//" double slash가 있을 경우 이관이 되지 않습니다.
  • 암호화 설정(KMS)이 적용된 버킷에 대해선 LifeCycle Management 기능 사용이 어렵습니다.

Q. Lifecycle Management사용시 기존 파일 덮어쓰기(overwrite) 기능이 있나요?

Lifecycle Management에서 지원하지 않는 기능입니다. 즉, Object Storage의 Object가 변경되었을 때 Archive Storage에서는 변경되지 않습니다.

Q. Lifecycle Management사용시 데이터 이관시간은 얼마나 걸리나요?

Lifecycle Management 사용시 데이터의 이관시간은 인프라의 상황에 따라 변동될 수 있습니다. 데이터의 정확한 이관 시간은 보장하기 어려우며 경우에 따라 다소 지연될 수도 있습니다.

Q. Metric Management란 무엇인가요?

Metric Management는 Cloud Insight 연동을 통해 Object Storage에 대한 상세 모니터링을 지원하는 기능입니다. 버킷에 상세 모니터링 정책을 생성하면 해당 버킷에 대한 API 요청 관련 지표가 수집되며 수집된 지표는 Cloud Insight 서비스에서 확인이 가능합니다. 상세 모니터링 정책은 버킷 단위로 설정 가능하며 접두사와 접미사 설정을 통해 지표 집계 대상을 제한할 수 있습니다. 상세 모니터링 정책은 한 버킷에 최대 1,000개 까지 설정이 가능합니다.

Q. Metric Management는 어떻게 사용하나요?

Metric Management는 네이버 클라우드 플랫폼 콘솔에서 신청하고 사용할 수 있습니다. 아래 안내된 단계에 따라 콘솔에서 이용해 보세요.

  1. 콘솔에 접속하여 Object Storage 서비스를 선택합니다.
  2. Object Storage 내 Metric Management를 클릭하여 전용 메뉴에 접속합니다.
  3. [상세 모니터링 정책 생성 버튼] 을 클릭하여 정책을 추가합니다.
  4. Cloud Insight의 Dashboard에서 새 widget 을 만들어 수집된 지표를 확인합니다.

Q. Metric Management 사용시 별도의 요금이 있나요?

Cloud Insight의 요금 정책이 적용됩니다.

참고

상세 모니터링 정책을 통해 수집된 API 요청 지표는 Object Storage 요금에 포함되는 API 요청 수와는 별도로 과금됩니다.

Q. VPC에서 어떻게 Object Storage에 연결하나요?

VPC에서 Object Storage로 접속 시 아래와 같은 방법이 있습니다.

1. Public Subnet 내 서버

  • 공인 도메인 kr.object.ncloudstorage.com를 이용해 인터넷 기반의 통신이 가능합니다.
  • 사설 도메인 kr.object.private.ncloudstorage.com을 이용해서 사설 통신이 가능합니다.

2. Private Subnet 내 서버

  • 기본적으로 사설 도메인인 kr.object.private.ncloudstorage.com을 이용해서 통신이 가능합니다.
  • NAT Gateway를 이용하시면 공인 도메인인 kr.object.ncloudstorage.com을 이용해 통신하실 수 있습니다.

사용하기 전에(Classic)

Q. Object Storage는 어떤 목적으로 사용하나요?

네이버 클라우드 플랫폼 Object Storage는 사용자가 언제 어디서나 원하는 데이터를 저장하고 탐색할 수 있도록 파일 저장 공간을 제공하는 서비스입니다. 다음과 같은 용도로 사용할 수 있습니다.

  • 파일 단위의 데이터 저장, 공유, 배포: 콘텐츠를 저장하고 다른 사용자에게 공유하거나 배포할 수 있습니다.
  • 대용량 저장소: 대용량의 데이터 저장소로 활용할 수 있습니다.
  • 데이터 백업 및 장기 보관: 중요한 데이터를 백업하거나 장기 보관할 수 있습니다.

Q. Object Storage 사용시 제한사항과 한도는 어떻게 되나요?

아래와 같은 제한사항 및 한도가 적용됩니다.

  • 버킷 수량 : 최대 1,000개 (※ 버킷 수량은 고객문의를 통해 요청하실 경우 한도 증가 가능합니다.)
  • 오브젝트 이름 문자열 길이(폴더path 포함) : 최대 1024 Byte
  • 업로드시 단일 오브젝트 최대 용량 : 콘솔에서 업로드시 파일당 최대 2GB, API 사용시 파일당 최대 10TB까지 업로드 가능합니다. (※ 버킷에 저장용량 제한은 없습니다.)
  • 객체 잠금 설정(WORM) 기능 적용 시, 보존 기간 만료 전까지 삭제 및 수정이 불가합니다.
  • 암호화 설정(KMS) 기능 적용 시, 잠금설정 및 정적웹호스팅 기능은 사용이 불가능합니다.

Q. Object Storage를 사용하려면 어떻게 해야 하나요?

Object Storage는 네이버 클라우드 플랫폼 콘솔에서 신청하고 사용할 수 있습니다.
아래 안내된 단계에 따라 콘솔에서 Object Storage를 이용해 보세요.

1. 콘솔에 접속하여 Object Storage 서비스를 선택합니다.

2. Object Storage 이용신청을 클릭하여 서비스를 신청합니다.

3. 콘솔에 접속해서 버킷을 생성합니다.

4. 버킷에 필요한 파일을 업로드, 다운로드하여 활용합니다.

API로 Object Storage를 이용하기 위해서는 포털 > 마이페이지 > 인증키 관리에서 API 인증키를 생성해야 합니다. 해당 페이지에서 API 인증키 생성 후, [Object Storage API 가이드]를 참고하여 API로 Object Storage를 이용해 보세요.

Q. 공개 관리와 권한 관리는 어떤 차이가 있나요?

공개 관리는 네이버 클라우드 플랫폼 사용자가 아닌 사용자에게 권한을 오픈하는 것으로 버킷과 파일에서 제공하는 권한이 다릅니다.

  • 버킷 공개하기: 버킷 안의 객체(파일/폴더)에 대한 리스트 조회, 파일 업로드
  • 파일 공개하기: 파일 정보 조회 및 다운로드

권한 관리는 네이버 클라우드 플랫폼 사용자에게 권한을 부여하기 위한 기능입니다. 특정 사용자에게 부여하고 싶은 권한만큼 제공할 때 사용할 수 있습니다.

  • 버킷 권한: 목록 조회, 업로드, ACL 조회, ACL 수정
  • 파일 권한: 다운로드, ACL 조회, ACL 수정

Q. 버킷 권한을 부여한 타 계정이 업로드한 Object를 조회하려면 어떻게 해야 하나요?

기본적으로 Object 업로드를 하면 Object의 소유주는 업로드한 계정이 됩니다. 따라서 버킷 소유주가 해당 Object를 조회하기 위해서는 버킷 소유주에게 Object에 대한 권한을 부여해야 합니다.

ObjectACL 설명서를 참고하여 API로 ObjectACL을 설정할 수있습니다.

Q. S3와 연동되는 툴을 사용할 수 있나요?

Object Storage는 AWS S3 compatible API를 제공하므로, S3를 활용한 툴을 Object Storage에서도 사용할 수 있습니다. S3 Browser를 사용하는 방법은 다음과 같습니다.

1. 최신 버전의 S3 Browser를 다운로드하여(https://s3browser.com/download.aspx) 설치합니다.

2. S3 Brower를 실행하고 Menu > Account > Add New Account에서 다음과 같이 설정합니다.

  • Account Type: S3 Compatible Storage
  • REST Endpoint: kr.object.ncloudstorage.com
  • Access Key ID: access key (Object Storage 이용신청 시 선택한 API 인증키를 입력합니다. 인증키 정보는 포털 > 마이페이지 > 계정관리 > 인증키 관리에서 확인할 수 있습니다.)
  • Secret Access Key: secret key (위 API 인증키와 연결된 secret key를 입력합니다.)
  • Use secure transfer(SSL/TLS): 선택

3. [Task] 탭에서 정상적으로 연결이 되는지 확인합니다.

  • 버킷 생성/삭제, 파일 업로드/다운로드, 폴더 생성/삭제가 가능한지 확인합니다.
  • 권한 부여는 네이버클라우드 콘솔 및 관련 API로 제어하는 것을 권장합니다.

Q. Object Storage를 사용하면 발생하는 요금을 알려주세요.

Object Storage는 유료 서비스로, 사용한 만큼 과금됩니다.

Object Storage 요금 = 데이터 저장량 요금 + API 요청 수 요금 + 네트워크 전송 요금

  • 데이터 저장량 요금: 고객의 파일이 실제로 Object Storage에 저장된 데이터 저장량과 저장 시간에 따른 요금
  • API 요청 수 요금: Object Storage를 사용하기 위한 목록 조회, 업로드, 다운로드 요청 등의 API 요청에 따른 요금
  • 네트워크 전송 요금: 파일 다운로드에 따른 요금
참고

Object Storage와 CDN+, Global CDN 간에 발생하는 네트워크 전송 요금은 무과금 처리됩니다.

Q. 콘솔에서 Object를 업로드, 다운로드 할 수 있는 크기는 몇입니까?

콘솔에서는 object 업로드 2GB이하, 다운로드 2GB이하로 제한합니다.
제한된 사이즈보다 큰 object는 SDK 문서를 참고하여 API로 업로드 및 다운로드를 할 수 있습니다.

Q. Object 다운로드 했는데 콘솔에 보이는 사이즈와 다릅니다.

object를 다운로드하여 pc에서 확인할 경우, OS마다 사이즈가 다르게 보일 수 있습니다. 이는 OS마다 데이터 사이즈를 계산하는 방식에 차이가 있기 때문입니다.
object의 실제 사이즈는 content-length로 확인가능하며, object에는 이상이 없습니다.

Q. Lifecycle Management란 무엇인가요?

모든 데이터는 시간이 지남에 따라 사용 빈도가 낮아집니다. 그러므로 활용도가 높은 데이터는 입출력 속도가 빠른 스토리지에 저장을 하고, 규제(Compliance) 대응과 향후 분석을 위해 장기간 저장이 필요한 데이터는 요금이 저렴한 스토리지를 이용하신다면 TCO 절감을 실현하실 수 있습니다.

네이버 클라우드 플랫폼의 Object Storage는 Archive Storage 대비 입출력 속도가 빠르므로, 자주 사용하는 데이터는 Object Storage에 저장을 하고, 장기 보관을 위한 데이터는 Archive Storage에 저장하실 수 있도록 Lifecycle Management 기능을 제공합니다.

스케줄 기반 정책을 통해 Object Storage에서 Archive Storage로 자동으로 데이터를 이관하여, 원가 절감은 물론 체계적으로 데이터를 관리하실 수 있는 기반을 마련해 보시기 바랍니다.

Q. Lifecycle Management는 어떻게 사용하나요?

Lifecycle Management는 네이버 클라우드 플랫폼 콘솔에서 신청하고 사용할 수 있습니다. 아래 안내된 단계에 따라 콘솔에서 이용해 보세요.

1. 콘솔에 접속하여 Object Storage 서비스를 선택합니다.

2. Object Storage 내 Lifecycle Management를 클릭하여 전용 메뉴에 접속합니다.

3. [수명주기 정책 추가] 버튼을 눌려 정책을 추가합니다.

Q. Lifecycle Management 사용시 별도의 요금이 있나요?

Lifecycle Management를 위한 별도의 이용 요금은 없습니다.

Q. Lifecycle Management 사용시 주의사항이 있나요?

  • Lifecycle Management 는 Object Storage 에서 Archive Stoage로 데이터를 이관 시, Archive Storage의 Object 이름의 Bytes 제한으로 인해 이관이 되지 않을 수 있습니다.
  • Archive Storage에 업로드 가능한 Object의 이름은 215 Bytes 미만입니다.
  • Object 이름에 "//" double slash가 있을 경우 이관이 되지 않습니다.
  • 암호화 설정(KMS)이 적용된 버킷에 대해선 LifeCycle Management 기능 사용이 어렵습니다.

Q. Lifecycle Management사용시 기존 파일 덮어쓰기(overwrite) 기능이 있나요?

Lifecycle Management에서 지원하지 않는 기능입니다. 즉, Object Storage의 Object가 변경되었을 때 Archive Storage에서는 변경되지 않습니다.

Q. Lifecycle Management사용시 데이터 이관시간은 얼마나 걸리나요?

Lifecycle Management 사용시 데이터의 이관시간은 인프라의 상황에 따라 변동될 수 있습니다. 데이터의 정확한 이관 시간은 보장하기 어려우며 경우에 따라 다소 지연될 수도 있습니다.

Q. Lifecycle Managerment에 룰을 등록했는데 적용이 되지 않는경우가 있나요?

SSE-C를 설정한 Object의 경우 Lifecycle Management에 등록한 룰이 적용되지 않습니다.

Q. Metric Management란 무엇인가요?

Metric Management는 Cloud Insight 연동을 통해 Object Storage에 대한 상세 모니터링을 지원하는 기능입니다. 버킷에 상세 모니터링 정책을 생성하면 해당 버킷에 대한 API 요청 관련 지표가 수집되며 수집된 지표는 Cloud Insight 서비스에서 확인이 가능합니다. 상세 모니터링 정책은 버킷 단위로 설정 가능하며 접두사와 접미사 설정을 통해 지표 집계 대상을 제한할 수 있습니다. 상세 모니터링 정책은 한 버킷에 최대 1,000개 까지 설정이 가능합니다.

Q. Metric Management는 어떻게 사용하나요?

Metric Management는 네이버 클라우드 플랫폼 콘솔에서 신청하고 사용할 수 있습니다. 아래 안내된 단계에 따라 콘솔에서 이용해 보세요.

  1. 콘솔에 접속하여 Object Storage 서비스를 선택합니다.
  2. Object Storage 내 Metric Management를 클릭하여 전용 메뉴에 접속합니다.
  3. [상세 모니터링 정책 생성 버튼] 을 눌려 정책을 추가합니다.
  4. Cloud Insight의 Dashboard에서 새 widget 을 만들어 수집된 지표를 확인합니다.

Q. Metric Management 사용시 별도의 요금이 있나요?

Cloud Insight의 요금 정책이 적용됩니다.

참고

상세 모니터링 정책을 통해 수집된 API 요청 지표는 Object Storage 요금에 포함되는 API 요청 수와는 별도로 과금됩니다.

Q. VPC에서 어떻게 Object Storage에 연결하나요?

VPC에서 Object Storage로 접속 시 아래와 같은 방법이 있습니다.

1. Public Subnet 내 서버

  • 공인 도메인 kr.object.ncloudstorage.com를 이용해 인터넷 기반의 통신이 가능합니다.
  • 사설 도메인 kr.object.private.ncloudstorage.com을 이용해서 사설 통신이 가능합니다.

2. Private Subnet 내 서버

  • 기본적으로 사설 도메인인 kr.object.private.ncloudstorage.com을 이용해서 통신이 가능합니다.
  • NAT Gateway를 이용하시면 공인 도메인인 kr.object.ncloudstorage.com을 이용해 통신하실 수 있습니다.

Object Storage 이용

Step 1. 인증키 준비

API를 통해 Object Storage를 이용하려는 경우 API 인증키를 준비해야 합니다.
API 인증키는 포털 > 마이페이지 >계정관리 > 인증키 관리 메뉴에서 만들 수 있습니다.

①. API 인증키를 생성하기 위해서 신규 API 인증키 생성을 클릭하세요.

  • API 인증키는 계정당 2개까지 생성할 수 있습니다.

Step 2. 이용 신청

콘솔 [Storage] > [Object Storage] 메뉴로 이동합니다.

①. [이용신청] 을 클릭합니다.

②. 안내사항을 확인하고 [확인] 버튼을 클릭하면 서비스 이용 신청이 완료됩니다.

Step 3. 버킷 생성

①. [버킷 생성] 버튼을 클릭합니다.

②. 사용할 버킷의 이름을 입력합니다.

  • 생성된 버킷 이름은 변경할 수 없습니다. 버킷 이름은 객체에 대한 도메인에 활용되므로 신중하게 선택하세요.
  • 버킷 이름은 네이버 클라우드 플랫폼 리전 내에서 유일해야 합니다.

③. 버킷 공개 여부를 선택하세요.

  • 버킷 내 파일/폴더 리스트만 공개합니다. 파일에 대한 공개 여부는 개별 파일에서 설정하세요

④. 버킷을 네이버 클라우드 플랫폼의 다른 계정에 공유할 수 있습니다.

  • 버킷에 대한 목록 조회, 업로드, ACL 조회, ACL 수정 권한 중 일부(또는 전부)를 선택하여 권한을 부여할 수 있습니다.

⑤. (필요 시) 객체 잠금 설정(WORM)을 신청합니다.

  • 객체 잠금 설정이란, 고객이 정의한 기간 동안 객체의 변경 및 삭제를 차단하여 데이터를 보호하는 기능입니다.
  • 장기간 데이터를 보존해야하는 경우 WORM을 적용하신다면 뜻하지 않게 데이터가 변형 및 삭제되는 것을 방지할 수 있습니다.
  • WORM 이용 시 지정한 만료일까지 데이터가 보호되어 서비스 해지 및 회원 탈퇴가 불가능 하오니 유의하시기 바랍니다.
  • 개인 고객의 경우 고객 문의를 통해 개별 신청을 하시면 이용하실 수 있습니다.

⑥. (필요 시) 암호화 설정(KMS)를 신청합니다.

  • 암호화 설정이란, 고객이 보유한 NCP KMS 마스터 Key와 연동하여 버킷에 대한 접근과 버킷 내 저장된 객체를 보호하는 기능입니다.
  • 암호화가 적용된 버킷에 대해 암호화를 해지하는 것은 불가능 하오니 유의하시기 바랍니다.
참고

현재는 CBT 형태로 제공 중이며, 이용을 원하시는 경우 고객 문의를 통해 개별 신청을 하시면 이용할 수 있습니다.

⑦. 객체 잠금에 대한 설정을 합니다.

  • 최대 보존 기간: 해당 버킷이 허용하는 최대 보존 기간을 의미합니다. 0 ~ 365일 범위 내에서 설정이 가능합니다
  • 기본 보존 기간: 버킷에 오브젝트가 저장될 때 적용되는 기본 보존 기간입니다. 버킷 내에 있는 객체들은 최대 보존 기간 내에서 개별적으로 보존 기간을 설정할 수 있습니다. 0 ~ 365일 범위 내에서 설정이 가능합니다.

⑧. 암호화 설정(KMS)에 대한 설정을 합니다.

  • KMS 마스터 키 : 네이버 클라우드 플랫폼 KMS에서 생성한 AES256, RSA- 2048 타입의 키를 이용하여 암호화 설정이 가능합니다.
주의

암호화 설정(KMS)을 이용하실 경우, 객체 잠금설정(WORM) 및 정적웹호스팅 기능은 사용이 불가능합니다.

⑨. 내용을 확인하고 버킷을 생성합니다.

Step 4. 파일 업로드/다운로드

파일을 업로드할 버킷을 지정하고 해당 버킷에 파일을 올립니다.

①. 파일을 업로드할 버킷 이름을 클릭합니다.

②. 파일 올리기를 클릭하여 파일을 올립니다.

  • 콘솔을 이용한 업로드의 경우 최대 파일의 크기는 2GB이며, API를 이용하면 10TB까지 지원합니다.
  • 파일에 대한 권한을 부여할 경우, 파일 올리기 설정에서 설정하면 편리하게 동일한 권한을 부여할 수 있습니다.

③. 파일을 단독 선택하면 파일에 대한 상세 정보를 확인할 수 있습니다.

  • 파일을 선택하면 [다운로드] 버튼이 활성화됩니다.

버킷 접근 로그 관리

버킷의 접근로그 관리를 통해 버킷에 접근한 요청 이력을 저장할 수 있습니다.

버킷 로그 관리 설정

①. 접근 로그 저장이 필요한 버킷을 선택한 후 로그 관리를 클릭합니다.

②. 로그를 저장할 버킷을 선택합니다. 버킷은 본인 소유의 버킷이어야 합니다.

③. 버킷에 저장될 접근 로그의 접두어(Prefix)를 선택합니다.

※ 생성 후 버킷 정보에서 접근 로그 설정 내역을 확인하실 수 있습니다.

④. 우측 [추가] 버튼을 클릭하여 접근 로그를 저장할 버킷을 추가합니다.

⑤. 페이지 하단 [확인] 버튼을 눌러 접근 로그 저장 관리 작업을 완료합니다.

참고

로그 관리를 설정하신 경우 매시간 25~35분 사이에 이전 1시간 동안의 로그가 생성됩니다.
예) 17시 00분 00초 ~17시 59분 59초의 로그는 18시 25분~35분 사이에 생성됩니다.

버킷 접근 로그 형식

Object Storage에 수행된 모든 요청에 대한 상세 정보가 JSON 형식으로 저장됩니다.
다음은 Object Storage의 객체를 조회했을 때의 로그 예제입니다.

{
  "container_id": "3aaae999-89b8-1234-abb6-5c106e4f436d",
  "container_name": "ncp-bucket",
  "container_region": "Korea",
  "credential_type": "hmac",
  "delete_marker": false,
  "e_tag": "2a158d5ab989430a11ba4f12345e357",
  "format": 1,
  "headers": {
    "Accept-Encoding": [
      "identity"
    ],
    "Authorization": [
      "AWS4-HMAC-SHA256 Credential=ABCDEFJqzABCDJ6cGS/20211109/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=1cc5b591e1f4c313a9bbf7471bd1d5b7f5d32033e4dec3bcaf1a329ef9b57e8"
    ],
    "Host": [
      "kr.object.ncloudstorage.com"
    ],
    "User-Agent": [
      "aws-cli/1.15.85 Python/2.7.9 Windows/8 botocore/1.10.84"
    ],
    "X-Amz-Content-SHA256": [
      "e3b0c44298fc1c149afbf4c8996fb92427ae41e464911234ca495991b7852b855"
    ],
    "X-Amz-Date": [
      "20211109T094038Z"
    ]
  },
  "https": {
    "cipher_suite": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
    "protocol": "TLSv1.2"
  },
  "interface_type": "s3",
  "is_secure": true,
  "last_changed": "2021-10-21T08:40:00.283Z",
  "last_modified": "2021-10-21T05:23:31.432Z",
  "object_length": "160",
  "object_name": "index.html",
  "principals": {
    "aws": "ABCDEFJqzABCDJ6cGS",
    "identity": "ncp-1234567-0@00000000-0000-0000-0000-000000000002"
  },
  "protocol": "HTTP/1.1",
  "proxy_enabled": false,
  "region": "KR",
  "remote_address": "123.45.123.45",
  "remote_user": "ABCDEFJqzABCDJ6cGS",
  "request_id": "76d34a72-2da0-400a-aac3-9861ec1040ad",
  "request_latency": "2",
  "request_method": "GET",
  "request_type": "REST.GET.OBJECT",
  "request_uri": "/ncp-bucket/object.txt",
  "response_length": "160",
  "server_name": "kr.object.ncloudstorage.com",
  "stat": {
    "client_wait": 0.056,
    "post_transfer": 0.011,
    "pre_transfer": 1.096,
    "storage_wait": 0.046,
    "total_transfer": 0.109,
    "turn_around_time": 1.14
  },
  "status": 200,
  "storage_account_id": "ncp-1234567-0",
  "storage_location_id": "24d02d1a-a0b5-7240-10b7-00655729e065",
  "time_finish": "09/Nov/2021:09:40:38 +0000",
  "time_start": "09/Nov/2021:09:40:38 +0000",
  "timestamp_finish": "1636450838774",
  "timestamp_start": "1636450838773",
  "type": "http",
  "user_agent": "aws-cli/1.15.85 Python/2.7.9 Windows/8 botocore/1.10.84",
  "version_name": "ef6dc25a-bda2-4378-9279-b3050b8da577",
  "version_transient": true
}

다음 표에서 로그 필드에 대해 설명합니다.

필드명 설명 로그 예시
container_id 버킷 UUID "3aaae999-89b8-4919-abb6-5c106e4f436d"
container_name 버킷명 "ncp-bucket"
container_region 버킷이 위치한 리전 "Korea"
error_code 오류가 발생한 경우의 오류 코드 정보 "AccessDenied"
delete_marker 삭제 마커 여부 false
e_tag 저장된 객체의 해시 값 "2a158d5ab989430a11ba4f349363e357"
format 로그 형식 버전 1
headers 요청 헤더 정보 {
"Host": [
  "kr.object.ncloudstorage.com"
 ],
"User-Agent": [
  "aws-cli/1.15.85 Python/2.7.9 Windows/8 botocore/1.10.84"
 ]
}
https HTTPS 요청 정보
protocol, cipher_suite 필드로 구성
{
  "cipher_suite": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
  "protocol": "TLSv1.2"
}
interface_type 요청에 사용된 API "s3"
is_secure 보안 연결 여부(HTTPS연결) true
last_changed 객체의 속성이 마지막으로 수정된 시간
속성 수정을 하지 않은 경우 last_modified 값과 동일
"2021-10-21T08:40:00.283Z"
last_modified 객체의 콘텐츠가 마지막으로 수정된 시간
덮어쓰기를 하지 않은 경우 생성 시간과 동일
"2021-10-21T05:23:31.432Z"
object_length 요청된 객체의 크기
삭제 요청의 경우 삭제되기 전 객체의 크기
160
principals 요청 주체 정보 {
  "aws": "ABCDEFGHqzAFTTJ6cGS",  
  "identity": "ncp-1234567-0@00000000-0000-0000-0000-000000000002"
}
protocol 요청된 프로토콜 정보 "HTTP/1.1"
proxy_enabled 프록시 활성 여부 false
referer HTTP referer 정보 "https://console.ncloud.com"
region NCP 리전 코드 "KR"
remote_address 클라이언의 IP 정보 "123.45.123.45"
remote_user 인증된 사용자의 로그인 정보
S3 API를 이용할 경우 Access Key ID 반환
"ABCDEFSHqzAFTTJ6cGS"
remote_user_subject Sub Account NRN 정보 "abcd1234-f32a-12ab-98ec-123e98765a38"
request_id 요청 ID "5a49a8f9-edff-43ab-8630-6297e11ae1d4"
request_latency 요청 처리까지 소요된 시간(밀리초) 2
request_type 요청 작업
REST.<HTTP_method>.<resource_type>
"REST.GET.OBJECT"
request_uri 요청 URI "/ncp-bucket/object.txt"
response_length 응답 크기 160
server_name 요청된 호스트명
Object Storage 엔드포인트
"kr.object.ncloudstorage.com"
status 응답에서 반환되는 상태코드 200
storage_account_id 버킷 소유자 계정ID "ncp-1234567-0"
storage_location_id 버킷 위치ID "24d02d1a-a0b5-7240-10b7-001234529e065"
time_finish 요청 완료 시간(ISO 8601) "09/Nov/2021:09:40:40 +0000"
time_start 요청 시작 시간(ISO 8601) "09/Nov/2021:09:40:40 +0000"
timestamp_finish 요청 완료 시간(유닉스 타임, 밀리초) "1636450840661"
timestamp_start 요청 시작 시간(유닉스 타임, 밀리초) "1636450840660"
type 로그 형식
접근 로그의 경우 항상 "http" 값
"http"
user_agent 사용자 에이전트 정보 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"
version_name 요청된 객체의 버전ID "ef6dc25a-bda2-4378-9279-b3050b8da577"
version_transient 버전의 "transient" 정보 true

Lifecycle Management 이용

Step 1. 정책 유형 선택

정책은 크게 3가지 입니다.

  1. 만료 삭제: 일정 기간이 지나면 Object를 삭제합니다.
  2. 이관: 일정 기간이 지나면 Archive Storage로 Object를 이동시킵니다.
  3. 이관 후 삭제: 일정 기간이 지나면 Archive Storage로 Object를 이동시키고 원본 Object는 삭제합니다.

만료 삭제와 이관 후 삭제 기능의 경우 ‘삭제'로직이 적용 되오니 신중하게 사용하시기 바랍니다.

정책을 선택 후, 정책이 유효화되는 시점을 입력합니다. Object Storage에 Object가 저장된 시점으로부터 며칠 후에 이동 혹은 삭제가 필요한지 입력하시면 됩니다. (1일 ~ 3,650일)

Step 2. 관리 대상 Object Storage의 버킷과 Object 선택

관리 대상 Object는 접두어 기반으로 선택이 가능합니다.

  • 예시) /apache/log/access_

관리 대상 Object 접두어 정책은 객체의 전체 경로에 대해 적용됩니다. (폴더 및 파일명에 모두 적용됨)

  • 예시) 접두어 : test10 적용시 아래 2가지 모두에 정책이 적용됩니다.

    ① 파일명에 접두어가 포함된 경우 : test101.jpg

    ② 경로상 폴더명에 접두어가 포함된 경우 : test1010/img1.jpg

Step 3. (이관/이관 후 삭제 선택 시) Object를 이동시킬 Archive Storage의 버킷과 세부 경로 입력

  • 예시) /apache_log/

Step 4. 입력 정책을 최종 확인 및 적용

적용 후 정책은 자동으로 On 상태가 됩니다. 필요에 따라 정책을 시작(On)/중지(Off) 하실 수 있습니다.

Metric Management 이용(Cloud Insight연동)

Step 1. 콘솔 접속

1. 콘솔 > Object Storage > Metric Management 메뉴에 접속합니다.

2. [상세 모니터링 정책 생성 버튼] 을 클릭합니다.

Step 2. 정책 생성

1. 상세 모니터링 정책 이름 설정

상세 모니터링 정책의 이름은 버킷 별로 유일해야 하며 생성 이후 수정이 불가능합니다.

2. 상세 모니터링 정책 대상 버킷 선택

상세 모니터링 정책은 한 버킷에 최대 1,000개 까지 생성이 가능합니다.
정책 생성 이후 대상 버킷은 수정이 불가능합니다.

3. 상세 모니터링 정책의 접두사 및 접미사 설정

상세 모니터링 정책의 접두사 및 접미사를 설정합니다.
접두사 및 접미사 설정을 통해 지표 집계 대상을 특정 요청으로 제한할 수 있습니다.

상세 모니터링 정책의 접두사/접미사는 객체의 전체 경로에 대해 적용됩니다. (폴더 및 파일명에 모두 적용됨)

  • 예시) 접두사 : /imgaes 와 접미사: jpg 적용시 집계 대상은 아래와 같습니다.

    ① /images/somepath/test101.jpg (집계 대상)

    ② /images/somepath/test101.png (집계 대상 아님)

4. 상세 모니터링 정책 생성

[정책 생성] 버튼을 누르면 상세 모니터링 정책 생성이 완료됩니다.

생성된 정책에 대해 수집된 지표를 확인하려면 Cloud Insight의 Dashboard 및 Widget 생성이 필요합니다.

상세 모니터링 정책 생성 이후 Cloud Insight 에서 해당 지표를 확인할 수 있기까지 시간이 소요될 수 있습니다.

참고
  • 상세 모니터링 정책은 버킷에 대한 API 요청 지표 수집을 활성화하는 기능입니다.
  • 상세 모니터링 정책 활성화 여부와 상관없이 버킷 지표(버킷 크기, 버킷 내 객체 수)는 Cloud Insight Dashboard 에서 확인 가능합니다. 버킷 지표(버킷 크기, 버킷 내 객체 수)는 객체 업로드 및 삭제 이후 반영되기까지 시간이 소요됩니다.
  • 상세 모니터링 활성화를 통해 수집되는 API 요청 지표의 경우 1분 단위로 측정되며 집계 지연 이후 Cloud Insight Widget 을 통해 제공됩니다.

객체 잠금 이용 (WORM : Write Once Read Many)

고객이 정의한 기간 동안 객체의 변경 및 삭제를 차단하여 데이터를 보호하는 기능입니다. 장기간 데이터를 보존해야하는 경우 WORM을 적용하신다면 뜻하지 않게 데이터가 변형 및 삭제되는 것을 방지할 수 있습니다.
객체 잠금 관리를 적용한 버킷은 오브젝트 업로드 시 헤더에 Content MD5 값을 필수로 추가하여야합니다.

주의

WORM 이용 시 지정한 만료일까지 데이터가 보호되어 서비스 해지 및 회원 탈퇴가 불가능하오니 유의하시기 바랍니다.

신청 조건

최초 버킷 생성 시 또는 버킷이 비어있는 경우 객체 잠금 관리를 적용하실 수 있습니다.
본 기능은 기업 고객에게만 제공하고 있습니다. 개인 고객 중 이용을 원하시는 고객께서는 고객 센터를 통해 신청하시기 바랍니다.

잠금 관리 설정

버킷 레벨에서 설정

버킷현황 > 설정 > 잠금관리 메뉴에서 버킷 레벨의 설정이 가능합니다.

① 최대 보존 기간 : 해당 버킷이 허용하는 최대 보존 기간을 의미합니다. 0 ~ 365일 범위 내에서 설정이 가능합니다

② 기본 보존 기간 : 버킷에 오브젝트가 저장될 때 적용되는 기본 보존 기간입니다. 버킷 내에 있는 객체들은 최대 보존 기간 내에서 개별적으로 보존 기간을 설정할 수 있습니다. 0 ~ 365일 범위 내에서 설정이 가능합니다.

객체 레벨에서 설정

객체를 업로드 하실 때 보존 기간을 설정하실 수 있습니다. 업로드 시 권한 및 메타데이터 설정 > 잠금 관리 메뉴에서 다양한 형태의 보존 설정을 하실 수 있습니다. 보존 유형은 아래와 같이 2가지를 제공하고 있습니다. 업로드 시 객체에 설정된 보존 기간은 버킷에 지정된 최대 보존 기간 내에서 연장만 가능합니다.

① 기간: 버킷에 지정된 최대 보존 기간 내에 객체의 보존 기간을 자유롭게 입력하실 수 있습니다.

② 날짜: 보존 만료 날짜를 명시적으로 입력하실 수 있습니다. 날짜 입력 시 버킷에 지정된 최대 보존 기간 내에서 입력이 가능합니다.

법적 보존

버킷 보존 기간과 무관하게 객체 잠금을 설정하실 수 있으며, 라벨을 통해 객체 보존의 이유를 명시적으로 관리하실 수 있습니다. 법적 보존이 설정된 객체는 보호되어 변경 및 삭제가 불가능 합니다

잠금 정보 확인 및 변경

  • 버킷의 잠금 정보는 버킷의 잠금 관리 메뉴에서 확인이 가능합니다. 한 번 잠금 설정이 활성화 된 버킷은 잠금 관리 해제를 하실 수 없습니다. 최대 보존 기간과 기본 보존 기간은 변경이 가능합니다.
  • 오브젝트의 잠금 정보는 객체를 선택하신 후 상세정보 > 잠금 관리 메뉴에서 확인이 가능합니다. 잠금 설정 여부 외에도 객체의 잠금 만료 날짜를 확인하실 수 있으며, 보존 기간도 연장 하실 수 있습니다.

암호화 설정 이용하기 (KMS : Key Management Service)

주의
  • 암호화를 적용한 버킷은 다시 암호화 해제가 불가능합니다.
  • 하나의 버킷에 대해, 암호화 설정과 잠금설정 또는 정적웹호스팅기능을 동시에 적용할 수 없습니다.

신청 조건

최초 버킷 생성 시에만 적용하실 수 있습니다.

참고

현재는 CBT 형태로 제공 중이며, 이용을 원하시는 경우 고객 문의를 통해 개별 신청을 하시면 이용할 수 있습니다.

암호화 설정

콘솔에서 설정

콘솔에서 버킷 생성을 하실 때, 설정관리 단계에서 암호화 설정이 가능합니다.
설정 시엔 아래와 같은 제약사항이 있습니다.

  • 암호화 설정이 적용된 버킷의 경우, 공개 설정이 불가능합니다.
  • 암호화 설정이 적용된 버킷에 대해 타 계정 권한 부여가 불가능합니다.
  • 암호화 설정이 적용된 버킷은 LifeCycle Management 설정이 불가능합니다.
  • 암호화 설정과 잠금설정은 동시에 적용될 수 없습니다.
  • 암호화 설정과 정적웹호스팅기능은 동시에 적용될 수 없습니다.

API 또는 CLI에서 설정

API 또는 CLI를 통해 버킷 생성을 하실 때, 암호화 설정이 가능합니다.
설정 시엔 아래와 같은 제약사항이 있습니다.

  • 암호화 설정이 적용된 버킷의 경우 콘솔에서만 생성이 가능합니다.
  • API 또는 CLI 환경에서 암호화 설정이 적용된 버킷에 대한 Object 관련 operation을 수행하실 경우, 메인 계정의 API Key는 사용이 불가능합니다.
    • Subaccount를 신규로 생성하거나 기존에 보유하고 있는 Subaccount의 API Key를 사용하여 암호화 버킷의 Object 관련 operation을 수행하실 수 있습니다.
    • Subaccount 생성 및 API Key에 대한 가이드는 관련 사용가이드를 참고 부탁드립니다.
  • 암호화 설정이 적용된 버킷의 경우, 공개 설정이 불가능합니다.
  • 암호화 설정이 적용된 버킷에 대해 타 계정 권한 부여가 불가능합니다.
  • 암호화 설정이 적용된 버킷은 LifeCycle Management 설정이 불가능합니다.
  • 암호화 설정과 잠금설정은 동시에 적용될 수 없습니다.
  • 암호화 설정과 정적웹호스팅기능은 동시에 적용될 수 없습니다

접근 제어 기능 이용 (VPC)

고객이 정의한 서버에서만 Object Storage 이용이 가능하도록 설정할 수 있습니다.

storage-6-1-1-10_ko

①. 접근 제어가 필요한 버킷을 선택합니다.

②. 접근 제어를 클릭하고 접근 제어 기능을 활성화합니다.

③. 선택한 버킷에 접근 권한을 부여할 서버를 선택합니다.

참고

본인 소유의 VPC 내 서버만 가능합니다.

④. 우측 화살표 버튼을 클릭하여 ACL 설정 정보에 추가합니다.

참고

기존에 설정된 서버를 삭제하고 싶은 경우 우측의 ACL 설정 정보내 서버를 선택한 후 좌측 화살표 버튼을 클릭하여 설정을 제거합니다.

⑤. 확인 버튼을 눌러 기능을 적용합니다.

참고
  • 접근 제어를 적용한 버킷의 경우, CDN+ 및 Global CDN 사용이 불가능합니다.
  • VPC 서버와 접근 제어를 적용한 버킷간 통신은 사설 도메인 kr.object.private.ncloudstorage.com을 통해 가능합니다.

정적 웹 사이트 호스팅 이용

Object Storage를 이용하여 정적 웹 사이트를 호스팅하거나 요청을 리다이렉션할 수 있습니다.

Step 1. 콘솔 접속

①. 콘솔 > Object Storage > Bucket Management 메뉴로 이동합니다.

②. 버킷 목록에서 정적 웹 사이트 호스팅 기능을 이용할 버킷의 우측 상세 메뉴 버튼을 클릭합니다.

③. [정적 웹 사이트 호스팅] 버튼을 클릭합니다.

④. 정적 웹 사이트 활성화 버튼을 활성화합니다.

Step 2. 정적 웹 사이트 호스팅 설정

1. 호스팅 유형 설정

호스팅 유형은 두가지입니다.

  • 정적 웹 사이트 호스팅 : 버킷 엔드포인트를 웹 주소로 사용합니다. 웹 사이트 엔드포인트의 콘텐츠에 접근 할 수 있게 하려면 버킷 내의 모든 파일을 공개 설정해야 합니다.
  • 파일에 대한 요청 리다이렉션 : 요청을 다른 버킷 또는 도메인으로 리다이렉션합니다.

2. 세부 사항 설정

2-1. 인덱스 파일 및 오류 파일 설정

정적 웹 사이트 호스팅 설정을 선택한 경우, 인덱스 파일 및 오류 파일을 설정합니다.

  • 인덱스 파일 : 웹사이트의 기본 페이지이며, 정적 웹 사이트 호스팅 기능 사용을 위해 필수적으로 설정해야합니다.
  • 오류 파일 : 오류 발생 시 반환할 사용자 오류 페이지를 설정합니다.

2-2. 리다이렉션할 호스트 설정
파일에 대한 요청 리다이렉션을 선택한 경우, 리다이렉션할 호스트를 설정합니다.

  • 호스트 이름 : 대상 버킷 웹 사이트 주소 혹은 개인 도메인을 입력합니다.
  • 프로토콜 : 환경에 맞게 없음, http, https 중 하나를 선택합니다.

3. 정적 웹 사이트 호스팅 설정 완료

[확인] 버튼을 눌러 정적 웹 사이트 호스팅 설정을 완료합니다.

설정한 페이지는 버킷 웹 사이트 엔드포인트 링크로 이용하실 수 있습니다.
추후 설정을 변경할 경우 변경 사항이 적용될 때까지 시간이 소요될 수 있습니다.

이벤트 알람 이용

버킷에서 특정 이벤트가 발생했을 시 알람을 전달합니다.

콘솔에서는 다음과 같은 절차로 이벤트 알람을 설정할 수 있습니다.

Step 1. 콘솔 접속 및 버킷 선택

①. 콘솔 > Object Storage > Bucket Management 메뉴로 이동합니다.

②. 버킷 목록에서 이벤트 알람을 설정할 버킷의 우측 상세 메뉴 버튼을 클릭합니다.

③. [이벤트 관리] 를 클릭합니다.

④. [생성] 버튼을 클릭합니다.

Step 2. 버킷 이벤트 생성

1. 이벤트 이름 입력

  • 이벤트 이름은 영문, 숫자, 특수문자 -(하이픈), _(언더라인)만 가능합니다. 첫 글자는 영문, 숫자만 허용합니다.

2. 필터 선택

필터를 선택할 수 있습니다.

  • 필터는 특정 객체에 대해서 이벤트 필터링할 때 사용할 조건을 정규 표현식으로 입력합니다.
  • 조건은 객체 경로에 적용되며, 필터를 입력하지 않으면 모든 객체에 대해 이벤트가 발생합니다.

3. 이벤트 유형 선택

4. 대상 선택

  • 이벤트 알람이 전달될 목적지를 선택합니다. 대상은 현재 Cloud Functions를 지원하고있습니다.

5. 트리거 선택

5-1. 트리거를 선택합니다.

5-2. 트리거가 없다면 [트리거 생성] 버튼을 클릭하여 생성합니다.

6. 이벤트 생성 완료

[생성] 버튼을 클릭하여 이벤트를 생성합니다.

이벤트 종류와 내용

Object Storage는 다음과 같은 이벤트를 전달할 수 있습니다.

이벤트 종류 내용
객체 생성 전체 (ObjectCreated:*)
생성 (ObjectCreated:PUT)
생성 (ObjectCreated:POST)
복사 (ObjectCreated:COPY)
멀티 파트 업로드 완료 (ObjectCreated:COMPLETE_UPLOAD)
객체 생성에 대한 이벤트입니다.
멀티 파트 업로드 완료는 CompleteMultipartUpload요청에서 발생합니다.
실패한 요청은 이벤트가 발생하지 않습니다.
객체 삭제 (ObjectRemoved:DELETE) 객체 삭제에 대한 이벤트입니다.
DeleteMultipleObjects 요청은 각 객체에 대해 따로 이벤트가 발생합니다.
실패한 요청은 이벤트가 발생하지 않습니다.

이벤트 알람 메시지

Object Storage에서 보내는 알람 메세지 구조는 다음과 같습니다.

{
    "container_name": "버킷 이름",
    "event_name": "이벤트 이름",
    "event_type": "이벤트 종류",
    "event_version": "1.0",
    "object_length": "객체 크기",
    "object_name": "객체 키",
    "region": "리전 이름",
    "remote_address": "요청 IP",
    "remote_user_sha256": "사용자 Access Key의 SHA256 hash hex값",
    "remote_user_type": "사용자 종류",
    "request_method": "요청 Method",
    "request_type": "요청 종류",
    "timestamp_finish": "요청 처리가 끝난 시간, 유닉스 시간, 밀리초",
    "timestamp_start": "요청 처리를 시작한 시간, 유닉스 시간, 밀리초"
}

remote_user_type이 user가 아닌 경우 remote_address와 remote_user_sha256은 null이 들어갑니다.

알람 메세지 예시는 다음과 같습니다.

{
    "container_name": "mybucket",
    "event_name": "testevent",
    "event_type": "ObjectCreated:PUT",
    "event_version": "1.0",
    "object_length": "1000",
    "object_name": "test.png",
    "region": "KR",
    "remote_address": "127.0.0.1",
    "remote_user_sha256": "ef5dd4b34d9de8d98182a9be416576efbd162b9a915d8b302ba8c3fa0c81b764",
    "remote_user_type": "user",
    "request_method": "PUT",
    "request_type": "REST.PUT.OBJECT",
    "timestamp_finish": "1609426801000",
    "timestamp_start": "1609426800000"
}
주의
  • Cloud Functions와 연동시 트리거에 연결된 액션이 Object Storage 버킷을 사용하고 있는지 확인해야 합니다.
  • 동일한 버킷을 사용할 경우 재귀 호출이 생성될 위험이 증가하여 Cloud Functions 사용량 증가 및 비용 증가를 발생시킬 수 있습니다.
  • 입력과 출력을 동일한 버킷에 사용하는 것은 권장되지 않으며, 이 구성으로 인해 재귀 호출, Cloud Functions 사용량 증가 및 비용 증가가 발생할 수 있습니다.

이 글이 도움이 되었나요?

What's Next