Object Storage and S3 API Guide - cloud-barista/cb-spider GitHub Wiki

1. CB-Spider Object Storage 개요

  • CB-Spider는 멀티 클라우드 Object Storage를 AWS S3 표준 방법 및 호환 API를 이용하여 동일한 형상으로 관리할 수 있다.
  • 사용자는 Bucket을 생성하고, 생성한 Bucket에 Object(파일)을 유일한 Key를 부여하여 저장 및 관리할 수 있다.
  • 사용자는 여러 개의 Bucket을 생성 관리할 수 있으며, 하나의 Bucket에는 여러 개의 Key:Object를 저장 관리할 수 있다.

image

2. CB-Spider Object Storage 제공 기능

  • Object Storage 제공 기능

    • Bucket 관리 기능

      • 오브젝트 스토리지의 기본 단위인 버킷을 생성, 조회, 삭제하고 상태를 관리하는 기능
      • 버킷 존재 여부 확인 및 버킷 위치(Location) 정보 조회 기능 제공
    • Object 관리 기능

      • 버킷 내 객체를 업로드, 다운로드, 조회, 삭제하는 기본 데이터 관리 기능
      • 파일 방식 및 폼(Form) 방식 객체 업로드 지원
      • 객체 메타데이터 조회 및 다중 객체 일괄 삭제 기능 제공
    • Multipart Upload 관리 기능

      • 대용량 객체를 여러 파트로 분할하여 업로드하는 Multipart Upload 관리 기능
      • Multipart 업로드 초기화, 파트 업로드, 업로드 완료 및 중단 기능 지원
      • 업로드 중인 Multipart 작업 및 개별 파트 목록 조회 가능
    • Versioning 관리 기능

      • 버킷 단위 객체 버전 관리 기능 제공
      • 버전 관리 설정 조회 및 활성화/비활성화 지원
      • 객체의 모든 버전 목록 조회 및 특정 버전 객체 삭제 가능
    • CORS 관리 기능

      • 버킷에 대한 Cross-Origin Resource Sharing(CORS) 정책 관리 기능
      • CORS 설정 조회, 등록, 삭제 기능 제공
    • Special(PreSigned URL 및 강제 삭제 기능)

      • 인증 없이 제한된 시간 동안 객체 접근을 허용하는 PreSigned URL 생성 기능 제공
        • 객체 다운로드용 PreSigned URL
        • 객체 업로드용 PreSigned URL
      • 버킷 내 모든 객체를 강제로 삭제하는 Empty Bucket 기능 지원
      • 버킷 및 포함 객체를 강제로 삭제하는 Force Delete 기능 제공
  • CSP별 제공 현황

    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)


3. CB-Spider S3 설정 방법

  • 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": "***"}
        

4. CB-Spider S3 API 활용


5. CB-Spider AdminWeb S3 활용

  • 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 설정 및 삭제
image

5. S3 Browser S3 탐색 도구 활용

  • 설치 및 사용 방법 등은 S3 Browser 참고
  • CB-Spider Account 설정 방법은 다음과 같다.
    • Account: S3 Compatible Storage 선택
    • API: localhost:1024 입력
    • Access Key: connection name 입력
    • Secret Access: 아무키나 입력
    • Use secure transfer (SSL/TLS): unCheck
image

⚠️ **GitHub.com Fallback** ⚠️