공개 엔드포인트를 통해 리전 Google API에 액세스

인터넷을 통해 공개적으로 또는 Virtual Private Cloud 내에서 비공개로 리전 및 멀티 리전 엔드포인트에 액세스할 수 있습니다. 이 문서에서는 엔드포인트에 공개적으로 액세스하는 방법을 설명합니다.

공개 인터넷에서 리전 엔드포인트에 액세스하면 트래픽이 표준 등급 네트워킹을 통해 라우팅됩니다. Google Cloud TLS 종료를 포함한 연결은 대상 리전 내에서 처리됩니다.

API에 대한 공개 인터넷 액세스 구성

리전 API 엔드포인트에 대한 공개 인터넷 액세스를 구성하려면 다음 단계를 따르세요.

역할

리전 엔드포인트를 만드는 데 필요한 권한을 얻으려면 관리자에게 VPC 네트워크에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

시작하기 전에

  1. Google Cloud CLI를 설치합니다. 설치 후 Google Cloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    $ gcloud init

    외부 ID 공급업체 (IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

  2. Compute Engine, Network Connectivity Center, Cloud DNS API를 사용 설정합니다.

    API 사용 설정에 필요한 역할

    API를 사용 설정하려면 serviceusage.services.enable 권한이 필요합니다. 프로젝트를 만든 경우 소유자 역할 (roles/owner)을 통해 이 권한을 이미 보유하고 있을 가능성이 높습니다. 그렇지 않은 경우 서비스 사용량 관리자 역할 (roles/serviceusage.serviceUsageAdmin)을 통해 이 권한을 얻을 수 있습니다. 역할 부여 방법을 알아보세요.

    API 사용 설정

  3. 또한 엔드포인트를 통해 액세스하려는 대상 서비스의 API를 사용 설정합니다. 예를 들어 spanner.me-central2.rep.googleapis.com에 액세스하려면 Cloud Spanner API를 사용 설정합니다.

  4. 이그레스 방화벽 규칙이 엔드포인트로 트래픽을 허용하는지 확인합니다. VPC 네트워크의 기본 방화벽 구성은 묵시적 이그레스 허용 규칙이 포함되어 있으므로 이 트래픽을 허용합니다. 트래픽을 차단하는 우선순위가 더 높은 이그레스 규칙을 만들지 않았는지 확인합니다.

엔드포인트 식별

워크로드에 필요한 서비스와 특정 리전 또는 멀티 리전을 결정합니다.

  • 리전 엔드포인트의 형식은 다음과 같습니다. SERVICE.REGION.rep.googleapis.com

  • 멀티 리전 엔드포인트의 형식은 SERVICE.MULTI_REGION.rep.googleapis.com입니다.

DNS 구성 수정

하이브리드 구성에서 흔히 볼 수 있는 비공개 DNS 영역을 사용하여 환경에서 googleapis.com의 공개 DNS를 재정의하는 경우 다음 단계를 따르세요.

Google Cloud CLI 구성

특정 서비스의 기본 API 엔드포인트를 재정의하려면 Google Cloud CLI를 사용하세요. 다음 예에서는 gcloud config set 명령어를 사용하여 us-central1의 Cloud Storage 재정의와 europe-west1의 Compute Engine 재정의를 설정합니다.

# Set an override for Cloud Storage in us-central1.

gcloud config set api_endpoint_overrides/storage https://storage.us-central1.rep.googleapis.com/

# Set an override for Compute Engine in europe-west1.

gcloud config set api_endpoint_overrides/compute https://compute.europe-west1.rep.googleapis.com/compute/v1/

재정의를 설정하면 해당 서비스의 gcloud CLI 명령어에서 리전 엔드포인트를 사용합니다. 기본 전역 엔드포인트 사용으로 되돌리려면 gcloud config unset 명령어를 사용하세요.

gcloud config unset api_endpoint_overrides/SERVICE

클라이언트 SDK 업데이트

대부분의 Google Cloud 클라이언트 라이브러리를 사용하면 클라이언트 초기화 중에 커스텀 엔드포인트를 지정할 수 있습니다.

Python

api_endpoint와 함께 client_options를 사용합니다.

from google.cloud import SERVICE
from google.api_core.client_options import ClientOptions

options = ClientOptions(api_endpoint='https://SERVICE.REGION.rep.googleapis.com')
SERVICE_client = SERVICE.Client(client_options=options, project='PROJECT_ID')
# ... use SERVICE_client as usual

다음을 바꿉니다.

  • SERVICE: 서비스 이름입니다.
  • REGION: 엔드포인트의 리전입니다.
  • PROJECT_ID: 프로젝트의 ID입니다. Google Cloud

Go

클라이언트 생성 중에 option.WithEndpoint를 사용합니다.

client, err := SERVICE.NewClient(ctx, projID, 
option.WithEndpoint("https://SERVICE-my-endpoint.REGION.rep.googleapis.com"), // Override endpoint

다음을 바꿉니다.

  • SERVICE: 서비스 이름입니다.
  • REGION: 엔드포인트의 리전입니다.

.NET

클라이언트 빌더에서 Endpoint를 구성합니다.

자바

서비스 설정 빌더에서 setEndpoint를 사용합니다.

다음 예에서는 자바를 사용하여 Cloud Vision API의 엔드포인트에 연결합니다.

ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder()
.setEndpoint("https://vision.REGION.rep.googleapis.com")
.build();
ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);

참고 문서

다음 단계