위치 엔드포인트
이 페이지에서는 Bigtable 위치 엔드포인트, 사용하기 전에 고려해야 할 사항, Google Cloud CLI를 사용하여 엔드포인트를 설정하는 방법을 설명합니다.
전역 또는 위치 서비스 엔드포인트를 사용하여 요청을 Bigtable로 보낼 수 있습니다. Bigtable의 위치 엔드포인트는 인스턴스 데이터가 데이터가 있는 Bigtable 리전에 저장되고 처리되도록 합니다. 프로젝트의 보안 및 규정 준수 요구사항을 지원하기 위해 특정 지리적 리전에서 Bigtable에 위치 엔드포인트를 사용해야 할 수 있습니다.
이 문서를 읽기 전에 인스턴스, 클러스터, 노드 및 앱 프로필을 숙지해야 합니다.
주요 개념은 다음과 같습니다.
서비스 엔드포인트: 서비스 엔드포인트는 API 서비스의 네트워크 주소를 지정하는 기준 URL입니다. Bigtable에는 전역 엔드포인트와 위치 엔드포인트가 모두 있습니다.
전역 엔드포인트: 전역 엔드포인트를 사용하면 Bigtable은 Bigtable 인스턴스의 데이터를 인스턴스의 클러스터 중 하나가 포함된 모든 리전에 대해 저장하고 라우팅할 수 있습니다. Cloud Bigtable API(Data API)의 전역 엔드포인트는
bigtable.googleapis.com
입니다. 기본 Data API 엔드포인트는 전역 엔드포인트에 액세스합니다.위치 엔드포인트: 위치 엔드포인트는 데이터가 특정 리전에 저장 및 처리되도록 위치 제한을 적용합니다.
Cloud Bigtable API(Data API)에만 위치 엔드포인트를 사용할 수 있습니다. Cloud Bigtable Admin API에는 위치 엔드포인트가 지원되지 않습니다.
위치 엔드포인트를 사용해야 하는 경우
전역 엔드포인트 대신 Bigtable 위치 엔드포인트를 사용할 때의 이점은 위치 엔드포인트에서 보안, 규정 준수, 규제 요구사항을 충족하기 위해 위치별 격리 및 보호 기능을 제공한다는 것입니다.
규제 요구사항을 준수하기 위해 데이터 위치를 제한하고 제어해야 하는 경우 위치 엔드포인트를 사용합니다.
엄격한 위치 제한 요구사항이 없는 경우 전역 엔드포인트를 사용합니다.
위치 엔드포인트 사용 시 고려사항
위치 엔드포인트를 사용할 때 다음 요소를 고려하세요.
클러스터 위치
위치 엔드포인트를 사용하려면 먼저 데이터를 격리할 리전에 클러스터가 하나 이상 있는 인스턴스를 만들어야 합니다. Bigtable 위치 엔드포인트는 모든 Bigtable 위치에서 사용할 수 있습니다.
데이터를 격리하려는 리전에 속하는 위치 엔드포인트만 사용할 수 있습니다. 예를 들어 액세스하려는 클러스터가 us-central1
리전에 있는 경우 us-west1-bigtable.googleapis.com
을 사용하여 요청을 처리할 수 없습니다.
위치 엔드포인트를 사용하여 다른 리전의 클러스터에 액세스하려고 시도하면 지정된 클러스터 및 엔드포인트 사용하여 클러스터에 액세스할 수 없다는 메시지가 표시되고 FAILED_PRECONDITION
오류가 표시되면서 요청이 거부됩니다. 예를 들어 us-central1
의 클러스터에 대해 us-west1-bigtable.googleapis.com
으로 전송된 요청은 FAILED_PRECONDITION
으로 인해 실패합니다. FAILED_PRECONDITION
에 대한 자세한 내용은 Bigtable 상태 코드를 참조하세요.
앱 프로필
위치 엔드포인트를 설정한 후에는 엔드포인트 리전의 클러스터로 요청을 라우팅하도록 구성된 앱 프로필을 사용해야 합니다.
클러스터(단일 클러스터 라우팅 사용) 또는 엔드포인트와 다른 리전의 클러스터(멀티 클러스터 라우팅 사용)에만 쓰기를 전송하도록 구성된 앱 프로필을 사용하려고 하면 전제조건 오류 메시지 There are no clusters accessible through this app profile and the
REGION_NAME endpoint.
가 표시됩니다. 클러스터 라우팅에 대한 자세한 내용은 라우팅 정책을 참조하세요.
고가용성(HA) 인스턴스의 클러스터로 라우팅되도록 구성된 앱 프로필을 사용하고 위치 엔드포인트도 사용하는 경우 위치 엔드포인트는 모든 요청이 해당 리전의 클러스터로만 라우팅되도록 하며 해당 인스턴스가 다른 리전에 있는 클러스터를 사용하더라도 마찬가지입니다. 자동 장애 조치가 제한되므로, 엔드포인트 리전의 클러스터에서만 요청이 처리됩니다.
멀티 클러스터 라우팅에 대해 구성된 앱 프로필을 사용하여 us-west1-a
(오리건), us-west1-b
(오리건), us-central1-a
(아이오와)에 클러스터가 있는 인스턴스로 요청을 전송하는 예시를 살펴보세요. 이러한 요청을 us-central1-bigtable.googleapis.com
위치 엔드포인트로 전송하면 앱 프로필을 재구성하지 않은 경우에도 모든 요청이 us-central1-a
에서 제공됩니다. us-central1-a
에서 제공할 수 없는 요청은 실패합니다.
복제
위치 엔드포인트는 복제에 영향을 주거나 방지하지 않습니다. 리전 A에서 위치 엔드포인트를 구성한 다음 리전 B의 인스턴스에 클러스터를 추가하면 전역 엔드포인트를 사용할 때와 마찬가지로 데이터가 리전 B에 복제됩니다.
다른 리전에 데이터가 복제되지 않도록 하려면 원하는 리전에만 클러스터를 만듭니다.
조직의 사용자가 엔드포인트 리전 외부의 클러스터를 추가하지 못하도록 하려면 위치 제약조건을 사용하는 조직 정책을 설정하면 됩니다. 자세한 내용은 리소스 위치 제한을 참조하세요.
가용성
위치 엔드포인트를 사용하는 경우 월간 업타임 비율을 99.999% 이상 달성하도록 Bigtable구성할 수 없습니다. 월간 업타임이 99.999% 이상이면 위치 경계에서 요청의 자동 장애 조치를 수행해야 하는데 위치 엔드포인트는 모든 요청을 단일 리전으로 제한하기 때문에 이를 방지합니다. 월간 업타임 비율에 대한 자세한 내용은 Bigtable 서비스수준계약(SLA)을 참조하세요.
위치 엔드포인트의 시맨틱스
Bigtable 위치 엔드포인트 이름의 첫 번째 세그먼트는 Google Cloud 리전 이름입니다. 위치 엔드포인트는 REGION-bigtable.googleapis.com
형식을 따릅니다. 여기서 REGION은 northamerica-northeast2
와 같은 리전 이름입니다.
예를 들어 아이오와의 리전 이름이 us-central1
이므로 아이오와 리전에서 데이터를 격리하려는 경우 아이오와 리전의 위치 엔드포인트 URL은 us-central1-bigtable.googleapis.com
입니다. 사용 가능한 리전 목록은 Bigtable 위치를 참조하세요.
위치 엔드포인트 지정
Google Cloud CLI, cbt
CLI 또는 Cloud Bigtable 클라이언트 라이브러리를 사용하여 Bigtable 위치 엔드포인트를 지정할 수 있습니다.
gcloud
gcloud CLI를 사용하여 위치 엔드포인트를 지정하고 전역 엔드포인트를 재정의하려면 다음 명령어를 실행합니다.
gcloud config set api_endpoint_overrides/bigtable https://REGION-bigtable.googleapis.com/
REGION
을 us-central1
또는 europe-west1
과 같은 위치 엔드포인트를 설정할 리전으로 바꿉니다.
예를 들어 위치 엔드포인트를 us-central1
로 구성하려면 다음 명령어를 실행합니다.
gcloud config set api_endpoint_overrides/bigtable https://us-central1-bigtable.googleapis.com/
cbt
cbt
CLI를 사용하여 위치 엔드포인트를 지정하고 전역 엔드포인트를 재정의하려면 요청에 --data-endpoint
옵션을 사용하거나 ~/.cbtrc 파일에 다음을 추가하면 됩니다. ~/.cbtrc 파일 만들기에 대한 자세한 내용은 cbt CLI 참조를 확인하세요.
data-endpoint = https://REGION-bigtable.googleapis.com/
REGION
을 us-central1
또는 europe-west1
과 같은 위치 엔드포인트를 설정할 리전으로 바꿉니다.
예를 들어 위치 엔드포인트를 us-central1
로 구성하려면 다음을 ~/.cbtrc 파일에 추가합니다.
data-endpoint = https://us-central1-bigtable.googleapis.com/
전역 엔드포인트 지정
gcloud
위치 엔드포인트를 전역 엔드포인트로 다시 구성하려면 다음 명령어를 실행합니다.
gcloud config unset api_endpoint_overrides/bigtable
cbt
전역 전송 지점을 지정하려면 --data-endpoint
옵션을 사용하지 않고 요청을 전송합니다. 이전에 ~/.cbtrc 파일에 data-endpoint
줄을 추가한 경우 삭제합니다.