리전 API 엔드포인트에 액세스

이 페이지에서는 me-central2 (KSA) 리전에서 사용할 수 있는Google Cloud의 리전 API 엔드포인트 (리전 엔드포인트)를 사용하는 방법을 설명합니다.

리전 엔드포인트는 클라이언트와 동일한 Google Cloud 리전에서 트래픽을 라우팅하고 처리하여 전송 중 데이터 상주 기능을 제공합니다. 클라이언트가 리전 엔드포인트를 사용하여 서비스를 호출하면 클라이언트의 TLS 세션이 엔드포인트 이름에 표시된 리전에서 종료됩니다. 따라서 리전 엔드포인트는 단일 리전 또는 관할권 외부의 종속 항목이 없는 워크로드에만 사용해야 합니다.

인터넷을 통해 공개 리전 엔드포인트에 연결할 수 있습니다. 인터넷 수신 트래픽의 경우 이러한 엔드포인트는 전역 Google 프런트엔드 (GFE)를 사용하지 않으므로 최선을 다하는 라우팅을 사용하여 전송 중인 트래픽을 리전 (또는 관할권)에 로컬로 유지합니다. 대신 선택한 리전에 가장 가까운 피어링 지점에서만 공지되는 IP 주소로 확인됩니다.

예를 들어 KSA에서 근무하는 데이터 엔지니어는 리전 서비스 엔드포인트 bigquery.me-central2.rep.googleapis.com을 사용하여 me-central2 리전 (담맘)에서 BigQuery를 사용하도록 클라이언트를 구성할 수 있습니다. 트래픽은 표준 등급을 사용하여 라우팅되며 클라이언트의 TLS 세션은 me-central2에서 종료됩니다.

이 시나리오에서 리전 서비스 엔드포인트에 해당하는 공개 VIP는 리전의 피어링 지점에서 Google이 공지한 IP 프리픽스에서 시작됩니다. 따라서 사용자가 KSA의 로컬 ISP에 연결되어 있으면 관할권 내에서 트래픽이 라우팅될 수 있습니다.

리전 엔드포인트 형식

리전 엔드포인트는 다음 형식을 사용합니다.

SERVICE_NAME.REGION.rep.googleapis.com

자리표시자 값은 다음과 같이 정의됩니다.

  • SERVICE_NAME: 지원되는 서비스 엔드포인트 이름입니다(예: bigquery).
  • REGION: 지원되는 Google Cloud 리전(예: me-central2)

다음은 BigQuery의 전체 리전 엔드포인트의 예입니다.

bigquery.me-central2.rep.googleapis.com

지원되는 리전 및 서비스

리전 엔드포인트는 다음 리전에서 지원됩니다.

리전 이름 위치
me-central2 사우디아라비아 왕국(KSA) 담맘

리전 엔드포인트는 다음 서비스에서 지원됩니다.

서비스 이름 리전 엔드포인트
Artifact Registry artifactregistry.me-central2.rep.googleapis.com
apt.me-central2.rep.pkg.dev
docker.me-central2.rep.pkg.dev
go.me-central2.rep.pkg.dev
googet.me-central2.rep.pkg.dev
kfp.me-central2.rep.pkg.dev
maven.me-central2.rep.pkg.dev
npm.me-central2.rep.pkg.dev
python.me-central2.rep.pkg.dev
yum.me-central2.rep.pkg.dev
BigQuery bigquery.me-central2.rep.googleapis.com
bigquerydatatransfer.me-central2.rep.googleapis.com
bigquerymigration.me-central2.rep.googleapis.com
bigqueryreservation.me-central2.rep.googleapis.com
bigquerystorage.me-central2.rep.googleapis.com
Bigtable bigtable.me-central2.rep.googleapis.com
Cloud Key Management Service(Cloud KMS) cloudkms.me-central2.rep.googleapis.com
Cloud Logging logging.me-central2.rep.googleapis.com
Spanner spanner.me-central2.rep.googleapis.com
Cloud Storage storage.me-central2.rep.googleapis.com
Dataflow dataflow.me-central2.rep.googleapis.com
Dataproc dataproc.me-central2.rep.googleapis.com
Pub/Sub pubsub.me-central2.rep.googleapis.com

공개 인터넷에서 리전 엔드포인트에 액세스하도록 클라이언트 구성

공용 인터넷에서 리전 엔드포인트를 사용하려면 먼저 특정 리전 엔드포인트에 연결하도록 클라이언트 (예: Google Cloud CLI 또는 Google Cloud SDK 클라이언트 라이브러리)를 구성해야 합니다.

gcloud CLI 구성

기본적으로 gcloud CLI는 bigquery.googleapis.com와 같은 전역 서비스 엔드포인트를 사용합니다. 리전 서비스 엔드포인트를 사용하려면 다음 단계를 완료하여 이를 사용하도록 gcloud CLI를 구성해야 합니다.

  1. 지원되는 서비스가 아직 사용 설정되지 않은 경우 다음 명령어를 사용하여 사용 설정합니다.

    gcloud services enable SERVICE_NAME

    SERVICE_NAME를 사용할 지원되는 서비스의 이름으로 바꿉니다. 예를 들면 다음과 같습니다.

    gcloud services enable cloudkms
  2. 리전 서비스 엔드포인트를 사용하려면 gcloud config set api_endpoint_overrides 명령어를 사용하여 gcloud CLI를 구성해야 합니다.

    gcloud config set api_endpoint_overrides/SERVICE_NAME REGIONAL_API_URL

    다음 값을 직접 바꿉니다.

    • SERVICE_NAME: 사용할 지원 서비스의 이름입니다. 예를 들면 cloudkms입니다.
    • REGIONAL_API_URL: 특정 엔드포인트의 URL입니다. 예를 들면 다음과 같습니다.

      https://SERVICE_NAME.REGION_NAME.rep.googleapis.com/SERVICE_NAME/API_VERSION

      다음 값을 직접 바꿉니다.

      • REGION_NAME: 필수 Google Cloud 리전의 이름입니다. 예를 들면 me-central2입니다.
      • API_VERSION: 사용할 서비스의 API 버전입니다. 예를 들면 v1입니다. 참고: 일부 서비스에는 이 매개변수가 필요하지 않을 수 있습니다.

      다음은 REGIONAL_API_URL 값의 예입니다.

      https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1

    다음은 Cloud KMS의 gcloud config set api_endpoint_overrides 명령어 예시입니다.

    gcloud config set api_endpoint_overrides/cloudkms https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1

이제 리전 서비스 엔드포인트를 사용하도록 gcloud CLI가 구성되었으므로 이후 명령어는 전역 서비스 엔드포인트 대신 이를 기본값으로 사용합니다.

Google Cloud SDK 클라이언트 라이브러리 구성

기본적으로 Google Cloud SDK 클라이언트 라이브러리는 pubsub.googleapis.com와 같은 전역 서비스 엔드포인트를 사용합니다. 리전 서비스 엔드포인트를 사용하려면 이를 사용하도록 Google Cloud SDK 클라이언트 라이브러리를 구성해야 합니다.

Python

google-api-core 패키지의 ClientOptions 클래스에서 api_endpoint 매개변수를 설정합니다.

from google.api_core.client_options import ClientOptions

options = ClientOptions(api_endpoint = "pubsub.me-central2.rep.googleapis.com")
client = pubsub_v1.PublisherClient(client_options=options)

// Alternatively
client = pubsub_v1.PublisherClient(client_options={"api_endpoint": "pubsub.me-central2.rep.googleapis.com")

자바

com.google.cloud.vision 패키지에서 ImageAnnotatorSettings 클래스newBuilder 메서드를 사용합니다.

ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder()
  .setEndpoint("pubsub.me-central2.rep.googleapis.com")
  .build();
ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);

Go

api 패키지의 ClientOptions 패키지에서 WithEndpoint 함수를 사용합니다.

client, err := pubsub.NewClient(ctx, projID,
    option.WithEndpoint("pubsub.me-central2.rep.googleapis.com"), // Override endpoint

.NET

사용하는 라이브러리의 Google.Cloud 패키지에 있는 클라이언트의 ClientBuilder 클래스에서 Endpoint 속성을 설정합니다.

string region = "me-central2";
var client = new DatasetServiceClientBuilder
{
    Endpoint = $"pubsub.{region}.rep.googleapis.com"
}.Build();

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

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