Object Storage and S3 API Guide - cloud-barista/cb-spider GitHub Wiki
- CB-Spider는 멀티 클라우드 Object Storage를 AWS S3 표준 방법 및 호환 API를 이용하여 동일한 형상으로 관리할 수 있다.
- 사용자는 Bucket을 생성하고, 생성한 Bucket에 Object(파일)을 유일한 Key를 부여하여 저장 및 관리할 수 있다.
- 사용자는 여러 개의 Bucket을 생성 관리할 수 있으며, 하나의 Bucket에는 여러 개의 Key:Object를 저장 관리할 수 있다.
-
-
- 오브젝트 스토리지의 기본 단위인 버킷을 생성, 조회, 삭제하고 상태를 관리하는 기능
- 버킷 존재 여부 확인 및 버킷 위치(Location) 정보 조회 기능 제공
-
- 버킷 내 객체를 업로드, 다운로드, 조회, 삭제하는 기본 데이터 관리 기능
- 파일 방식 및 폼(Form) 방식 객체 업로드 지원
- 객체 메타데이터 조회 및 다중 객체 일괄 삭제 기능 제공
-
- 대용량 객체를 여러 파트로 분할하여 업로드하는 Multipart Upload 관리 기능
- Multipart 업로드 초기화, 파트 업로드, 업로드 완료 및 중단 기능 지원
- 업로드 중인 Multipart 작업 및 개별 파트 목록 조회 가능
-
- 버킷 단위 객체 버전 관리 기능 제공
- 버전 관리 설정 조회 및 활성화/비활성화 지원
- 객체의 모든 버전 목록 조회 및 특정 버전 객체 삭제 가능
-
- 버킷에 대한 Cross-Origin Resource Sharing(CORS) 정책 관리 기능
- CORS 설정 조회, 등록, 삭제 기능 제공
-
- 인증 없이 제한된 시간 동안 객체 접근을 허용하는 PreSigned URL 생성 기능 제공
- 객체 다운로드용 PreSigned URL
- 객체 업로드용 PreSigned URL
- 버킷 내 모든 객체를 강제로 삭제하는 Empty Bucket 기능 지원
- 버킷 및 포함 객체를 강제로 삭제하는 Force Delete 기능 제공
- 인증 없이 제한된 시간 동안 객체 접근을 허용하는 PreSigned URL 생성 기능 제공
-
-
CSP Bucket Object Multipart Upload Versioning CORS Special AWS O O O O O O GCP O O O O O O ALIBABA
(중국본토제외)O O O O O O TENCENT O O O O O O IBM O O O O O O OPENSTACK O O NA NA O O NCP O O O NA NA O NHN O O O NA NA O KT O O O O O O ● Legend: O = Provided (Supported), NA = Not Applicable (CSP does not support or unstable)
-
※ CSP별 S3 제공 특이 사항: PR #1618 참고
- Alibaba: 중국 본토 Region 제외(Domain 설정 등 추가 설정 필요)
-
- S3 사전 확인: CSP Console에서 Object Storage 사용 enable 및 권한 설정 확인 필요
- S3 인증 발급: CSP별 S3 인증 정보(HMAC key) 발급 (CSP별 발급 Guide)
- S3 인증 등록: CB-Spider Connection의 Credential 정보에 S3 인증 추가 설정 필요
-
기존 Credential과 동일하여 S3 인증 정보 추가가 불필요한 CSP
[AWS/Alibaba/NCP] -
기존 Credential에 S3 인증 정보 추가가 필요한 CSP
[GCP/IBM/OpenStack/NHN/KT]-
(1) 각 CSP Web Console이 제공하는 Key Name을 그대로 활용한 추가 방법
[GCP] curl -X POST "http://localhost:1024/spider/credential" \ -H 'Content-Type: application/json' \ -d '{ "CredentialName": "gcp-credential01", "ProviderName": "GCP", "KeyValueInfoList": [ { "Key": "PrivateKey", "Value": "-----BEGIN PRIVATE KEY-----\nxxx\n-----END PRIVATE KEY-----\n" }, { "Key": "ProjectID", "Value": "project" }, { "Key": "ClientEmail", "Value": "[email protected]" }, { "Key": "Access Key", "Value": "XXXX" }, <======= for S3 { "Key": "Secret", "Value": "YYYY" } <======= for S3 ] }' [IBM] ... 기존 Credential 정보 {"Key": "access_key_id", "Value": "***"}, {"Key": "secret_access_key", "Value": "***"} [OpenStack] ... 기존 Credential 정보 {"Key": "access", "Value": "***"}, {"Key": "secret", "Value": "***"} [NHN/KT] ... 기존 Credential 정보 ... {"Key": "Access Key", "Value": "***"}, {"Key": "Secret Key", "Value": "***"} -
(2) 추상화된 동일한 Key Name을 활용한 추가 방법
[GCP/IBM/OpenStack/NHN/KT] ... 기존 Credential 정보 ... {"Key": "S3AccessKey", "Value": "***"}, {"Key": "S3SecretKey", "Value": "***"}
-
-
- CB-Spider Object Storage S3 API Guide (XML Format, S3 호환)
- CB-Spider Object Storage S3 API Guide (JSON Format, CB 표준)
- CB-Spider Object Storage S3 API Swagger UI
- Connection 선택
- S3 관리 페이지로 이동
- S3 관리 주요 기능은 다음과 같다
- (1) Bucket 생성
- (2) 생성한 Bucket 정보 제공 및 선택
- (3) 선택한 Bucket에 Object 저장
- (4) 저장한 Object 정보 제공
- (5) 저장한 Object 다운로드
- (6) 저장한 Object PreSigned URL 생성
- (7) 현재 Bucket의 Object들의 Version 관리 제공 여부 선택
- (8) Versioning 선택한 Bucket의 경우 Objecet들에 대한 Version 관리
- (9) 현재 Bucket의 CORS 설정 및 삭제
- 설치 및 사용 방법 등은 S3 Browser 참고
- CB-Spider Account 설정 방법은 다음과 같다.
-
Account:S3 Compatible Storage선택 -
API:localhost:1024입력 -
Access Key:connection name입력 -
Secret Access: 아무키나 입력 -
Use secure transfer (SSL/TLS): unCheck
-