프로젝트용 스토리지 CLI 설치 및 구성

이 페이지에서는 Google Distributed Cloud (GDC) 오프라인 프로젝트를 사용할 때 객체 스토리지를 관리하기 위해 gdcloud CLI를 설치하고 구성하는 방법을 안내합니다. 이 문서에서는 이 격리된 환경에서 스토리지 버킷과 객체를 효과적으로 사용하는 데 필요한 구성요소와 설정을 다운로드, 설치, 구성하는 방법을 설명합니다.

이 페이지는 GDC 오프라인 환경 내 프로젝트의 객체 스토리지 버킷을 프로비저닝하고 관리하려는 인프라 운영자 그룹의 IT 관리자 또는 애플리케이션 운영자 그룹의 개발자와 같은 사용자를 대상으로 합니다. 자세한 내용은 GDC 오프라인 문서 대상을 참고하세요.

시작하기 전에

스토리지 CLI를 설치하고 구성하려면 조직 IAM 관리자에게 연락하여 조직 네트워크 정책을 만들고, 수정하고, 삭제할 수 있는 조직 네트워크 정책 관리자 (org-network-policy-admin) 역할을 요청하세요.

gdcloud CLI 다운로드

안내에 따라 gdcloud CLI를 다운로드합니다.

gdcloud CLI 설치

스토리지 명령 트리 사용을 위해서는 스토리지 종속 항목 구성요소가 설치되어 있어야 합니다.

  1. gdcloud CLI 설치를 따릅니다.

  2. 저장소 종속 항목 구성요소를 설치하려면 다음 명령어를 실행합니다.

    gdcloud components install storage-cli-dependencies
    

    components install 명령어에 대한 자세한 내용은 gdcloud CLI 설치를 참고하세요.

객체 스토리지를 위한 gdcloud CLI 구성

객체 스토리지를 위해 gdcloud CLI를 사용하려면 다음 구성을 설정해야 합니다.

  1. 액세스 사용자 인증 정보 가져오기의 보안 비밀에서 가져온 액세스 키 ID로 ACCESS_KEY_ID를 바꿉니다.

    gdcloud config set storage/s3_access_key_id ACCESS_KEY_ID
    
  2. SECRET_ACCESS_KEY을 액세스 사용자 인증 정보 가져오기의 보안 비밀에서 가져온 보안 비밀 키로 바꿉니다.

    gdcloud config set storage/s3_secret_access_key SECRET_ACCESS_KEY
    
  3. CA_BUNDLE_FILE을 CA 인증서 경로로 바꿉니다. 이는 신원을 보증하는 신뢰할 수 있는 조직인 인증 기관 (CA)에 속하는 디지털 인증서입니다. 인프라 운영자 (IO) 그룹의 구성원에게 GDC CA 신뢰 번들을 요청할 수 있습니다. GDC CA 인증서를 획득하는 방법에 관한 자세한 내용은 GDC 신뢰 번들 가져오기를 참고하세요.

    gdcloud config set storage/s3_custom_ca_certs_file CA_BUNDLE_FILE
    
  4. ENDPOINT을 인프라 운영자 (IO)가 제공하는 엔드포인트로 바꿉니다.

    gdcloud config set storage/s3_endpoint ENDPOINT
    

    이 단계는 이중 영역 버킷의 경우 약간 다릅니다. 각 이중 영역 버킷은 버킷에 액세스하는 데 사용할 수 있는 세 개의 엔드포인트를 제공합니다. 대부분의 경우 자동 장애 조치를 활용하기 위해 전역 엔드포인트가 적합합니다.

    • Zone1 엔드포인트: 이 엔드포인트는 항상 zone1에서 수신됩니다. 이 엔드포인트를 사용하는 경우 zone1에 기록된 객체에 대해 쓰기 후 읽기 일관성이 있습니다. 하지만 zone1이 다운되면 클라이언트는 이 버킷에 계속 읽기/쓰기를 하려면 zone2 또는 전역 엔드포인트를 사용하도록 변경해야 합니다. 클라이언트가 사용자 클러스터에서 오는 경우 이 엔드포인트는 zone1 내에서만 액세스할 수 있습니다.
    • Zone2 엔드포인트: 이 엔드포인트는 항상 zone2에서 수신합니다. 이 엔드포인트를 사용하면 zone2에 기록된 모든 객체에 대해 쓰기 후 읽기 일관성이 적용됩니다. 하지만 zone2가 다운되면 클라이언트가 zone1 또는 전역 엔드포인트를 사용하도록 변경해야 이 버킷에 계속 읽기/쓰기를 할 수 있습니다. 클라이언트가 사용자 클러스터에서 오는 경우 이 엔드포인트는 zone2 내에서만 액세스할 수 있습니다.
    • 전역 엔드포인트: 이 엔드포인트는 요청을 zone1 또는 zone2로 라우팅합니다. 이 옵션은 세션 어피니티를 제공하지 않으므로 동일한 세션을 사용하여 이루어진 요청이 zone1 또는 zone2에 도착할 수 있습니다. 즉, 전역 엔드포인트에 대한 요청에는 쓰기 후 읽기 보장이 없습니다. 전역 엔드포인트는 영역이 다운되는 경우 자동 장애 조치를 제공하므로 사용자는 영역 엔드포인트를 사용하는 경우와 같이 워크로드에서 엔드포인트를 변경할 필요가 없습니다. 또한 이 엔드포인트는 모든 영역의 사용자 클러스터에서 액세스할 수 있습니다.

    관리 API 서버에 대해 다음 명령어를 실행하여 버킷의 전역 및 영역 엔드포인트를 확인하고 사용할 엔드포인트를 선택합니다.

    kubectl get buckets BUCKET_NAME -n PROJECT_NAME -o jsonpath="{.status.globalEndpoint}" --kubeconfig MANAGEMENT_API_SERVER
    
    kubectl get buckets BUCKET_NAME -n PROJECT_NAME -o jsonpath="{.status.zonalEndpoints}" --kubeconfig MANAGEMENT_API_SERVER