리전 및 전역 엔드포인트

이 페이지에서는 Bigtable 엔드포인트, 사용하기 전에 고려해야 할 사항, cbt CLI를 사용하여 엔드포인트를 설정하는 방법을 설명합니다.

Bigtable에 요청을 보내려면 전역 또는 리전 서비스 엔드포인트를 사용하면 됩니다. Bigtable의 리전 엔드포인트는 인스턴스 데이터가 데이터가 있는 Bigtable 리전에 저장되고 처리되도록 합니다. 프로젝트의 보안 및 규정 준수 요구사항을 지원하기 위해 특정 지리적 리전에서 Bigtable에 리전 엔드포인트를 사용해야 할 수 있습니다.

이 문서를 읽기 전에 인스턴스, 클러스터, 노드앱 프로필을 숙지하세요.

주요 개념은 다음과 같습니다.

  • 서비스 엔드포인트: API 서비스의 네트워크 주소를 지정하는 기준 URL입니다. Bigtable에는 전역 엔드포인트와 리전 엔드포인트가 모두 있습니다.

  • 전역 엔드포인트: Bigtable 인스턴스의 데이터를 인스턴스의 클러스터 중 하나가 포함된 모든 리전에 대해 저장하고 라우팅할 수 있습니다. Cloud Bigtable API (Data API)의 전역 엔드포인트는 bigtable.googleapis.com입니다. 기본 Data API 엔드포인트는 전역 엔드포인트에 액세스합니다.

  • 리전 엔드포인트: Bigtable이 지정된 리전에 데이터를 저장하고 처리하도록 리전 제한을 적용합니다. Cloud Bigtable API (Data API)에만 리전 엔드포인트를 사용할 수 있습니다. Bigtable은 Cloud Bigtable Admin API의 리전 엔드포인트를 지원하지 않습니다.

리전 엔드포인트를 사용하는 경우

전역 엔드포인트 대신 Bigtable 리전 엔드포인트를 사용할 때의 이점은 리전 엔드포인트에서 보안, 규정 준수, 규제 요구사항을 충족하기 위해 리전별 격리 및 보호 기능을 제공한다는 것입니다.

하지만 리전 엔드포인트는 Data Boost 또는 Cloud Bigtable Admin API를 지원하지 않습니다. 또한 리전 엔드포인트를 사용하는 경우 월간 업타임 비율을 99.999% 이상 달성하도록 Bigtable을 구성할 수 없습니다. 자세한 내용은 이 문서의 리전 엔드포인트 사용 시 고려사항 섹션을 참고하세요.

전역 엔드포인트를 사용해야 하는 경우

다음과 같은 경우에는 전역 엔드포인트를 사용하세요.

  • 리전 엔드포인트를 사용해야 하는 리전 제한 요구사항이 없습니다.
  • Data Boost를 사용해야 합니다.
  • Cloud Bigtable Admin API를 사용해야 합니다.
  • 월간 업타임 비율이 99.999% 이상이어야 합니다.

리전 엔드포인트 사용 시 고려사항

리전 엔드포인트를 사용하는 경우 다음 요소를 고려하세요.

클러스터 위치

리전 엔드포인트를 사용하려면 먼저 데이터를 격리할 리전에 클러스터가 하나 이상 있는 인스턴스를 만들어야 합니다. Bigtable 리전 엔드포인트는 일부 Bigtable 리전에서 사용할 수 있습니다. 사용 가능한 리전 목록은 리전 서비스 엔드포인트를 참고하세요.

데이터를 격리하려는 리전에 속하는 리전 엔드포인트만 사용할 수 있습니다. 예를 들어 클러스터가 us-central1 리전에 있는 경우 bigtable.us-west1.rep.googleapis.com을 사용하여 요청을 처리할 수 없습니다.

리전 엔드포인트를 사용하여 다른 리전에 있는 클러스터에 액세스하려고 시도하면 지정된 클러스터 및 엔드포인트를 사용하여 클러스터에 액세스할 수 없다는 FAILED_PRECONDITION 오류 메시지와 함께 요청이 거부됩니다. 이 오류 메시지에 대한 자세한 내용은 Bigtable 상태 코드를 참고하세요.

앱 프로필

리전 엔드포인트를 설정한 후에는 엔드포인트 리전의 클러스터로 요청을 라우팅하도록 구성된 앱 프로필을 사용해야 합니다.

단일 클러스터 라우팅을 사용하여 클러스터에만 쓰기를 전송하도록 구성된 앱 프로필이나 멀티 클러스터 라우팅을 사용하여 엔드포인트와 다른 리전의 클러스터에 쓰기를 전송하도록 구성된 앱 프로필을 사용하려고 하면 FAILED_PRECONDITION 오류 메시지가 표시됩니다. 클러스터 라우팅에 관한 자세한 내용은 라우팅 정책을 참고하세요.

고가용성 (HA) 인스턴스의 클러스터로 라우팅되도록 구성된 앱 프로필을 사용하고 리전 엔드포인트도 사용하는 경우 리전 엔드포인트는 모든 요청이 해당 리전의 클러스터로만 라우팅되도록 하며 해당 인스턴스가 다른 리전에 있는 클러스터를 사용하더라도 마찬가지입니다. 자동 장애 조치가 제한되므로, 엔드포인트 리전의 클러스터에서만 요청이 처리됩니다.

멀티 클러스터 라우팅에 대해 구성된 앱 프로필을 사용하여 us-west1-a(오리건), us-west1-b(오리건), us-central1-a(아이오와)에 클러스터가 있는 인스턴스로 요청을 전송하는 예시를 살펴보세요. 이러한 요청을 bigtable.us-central1.rep.googleapis.com 리전 엔드포인트로 전송하면 앱 프로필을 재구성하지 않은 경우에도 모든 요청이 us-central1-a에서 제공됩니다. us-central1-a에서 제공할 수 없는 요청은 실패합니다.

복제

리전 엔드포인트는 복제에 영향을 주거나 방지하지 않습니다. 리전 A에서 리전 엔드포인트를 구성한 다음 리전 B의 인스턴스에 클러스터를 추가하면 전역 엔드포인트를 사용할 때와 마찬가지로 데이터가 리전 B에 복제됩니다.

다른 리전에 데이터가 복제되지 않도록 하려면 원하는 리전에만 클러스터를 만듭니다.

조직의 사용자가 엔드포인트 리전 외부의 클러스터를 추가하지 못하도록 하려면 위치 제약 조건을 사용하는 조직 정책을 설정하면 됩니다.

가용성

리전 엔드포인트를 사용하는 경우 월간 업타임 비율을 99.999% 이상 달성하도록 Bigtable구성할 수 없습니다. 월간 업타임이 99.999% 이상이면 리전 경계에서 요청의 자동 장애 조치를 수행해야 합니다. 리전 엔드포인트는 모든 요청을 단일 리전으로 제한하기 때문에 자동 장애 조치를 방지합니다. 월간 업타임 비율에 대한 자세한 내용은 Bigtable 서비스수준계약 (SLA)을 참고하세요.

리전 엔드포인트의 시맨틱스

리전 엔드포인트는 bigtable.REGION.rep.googleapis.com 형식을 따릅니다. 여기서 REGION은 Google Cloud 리전 이름(예: northamerica-northeast2)입니다.

예를 들어 아이오와의 리전 이름이 us-central1이므로 아이오와 리전에서 데이터를 격리하려는 경우 아이오와 리전의 리전 엔드포인트 URL은 bigtable.us-central1.rep.googleapis.com입니다.

리전 엔드포인트 지정

cbt CLI 또는 Cloud Bigtable 클라이언트 라이브러리를 사용하여 Bigtable 리전 엔드포인트를 지정할 수 있습니다.

cbt

cbt CLI를 사용하여 리전 엔드포인트를 지정하고 전역 엔드포인트를 재정의하려면 요청에 --data-endpoint 옵션을 사용하거나 ~/.cbtrc 파일에 다음을 추가하면 됩니다. ~/.cbtrc 파일 만들기에 대한 자세한 내용은 cbt CLI 참조를 확인하세요.

data-endpoint = https://bigtable.REGION.rep.googleapis.com/

REGIONus-central1 또는 europe-west1과 같은 리전 엔드포인트를 설정할 리전으로 바꿉니다.

예를 들어 리전 엔드포인트를 us-central1로 구성하려면 다음을 ~/.cbtrc 파일에 추가합니다.

data-endpoint = https://bigtable.us-central1.rep.googleapis.com/

전역 엔드포인트 지정

cbt

전역 전송 지점을 지정하려면 --data-endpoint 옵션을 사용하지 않고 요청을 전송합니다. 이전에 ~/.cbtrc 파일에 data-endpoint 줄을 추가한 경우 삭제합니다.

전역 API 엔드포인트 사용 제한

리전 엔드포인트 사용을 강제하려면 constraints/gcp.restrictEndpointUsage 조직 정책 제약조건을 사용하여 전역 API 엔드포인트에 대한 요청을 차단하세요. 자세한 내용은 엔드포인트 사용 제한을 참고하세요.

다음 단계