백엔드를 통해 전역 Google API에 액세스
이 페이지에서는 교차 리전 내부 애플리케이션 부하 분산기를 기반으로 하는 Private Service Connect 백엔드를 사용하여 전역 Google API에 액세스하는 방법을 설명합니다.
이 구성을 사용하면 하나 이상의 개별 전역 Google API를 타겟팅하는 동시에 Private Service Connect 백엔드에서 제공하는 표시 및 제어를 적용할 수 있습니다.
- 선택한 전역 Google API로 트래픽을 라우팅하는 Virtual Private Cloud(VPC) 및 연결된 온프레미스 네트워크의 로컬에 있는 맞춤 호스트 이름을 구성할 수 있습니다.
- 모든 리전에서 백엔드에 액세스할 수 있으며 백엔드는 모든 리전에 있는 Private Service Connect 네트워크 엔드포인트 그룹(NEG)으로 트래픽을 로드 밸런싱할 수 있습니다.
- 피어링된 VPC 네트워크에서 백엔드로 트래픽을 전송할 수 있습니다.
사용 가능한 전역 Google API 목록은 전역 Google API 대상을 참고하세요.
시작하기 전에
-
전역 Google API에 액세스하도록 백엔드를 구성하는 데 필요한 권한을 얻으려면 관리자에게 Google Cloud 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Compute 관리자(
roles/compute.admin
) -
인증서 관리자 소유자(
roles/certificatemanager.owner
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
-
Compute 관리자(
프로젝트에서 Compute Engine API를 사용 설정합니다.
프로젝트에서 Certificate Manager API를 사용 설정합니다.
인증 기관(CA)에서 비공개 키와 서명된 인증서를 만듭니다. 1단계: 비공개 키 및 인증서 만들기의 안내를 따릅니다. 인증서 관리자로 자체 관리형 SSL 인증서를 만들려면 비공개 키와 인증서가 필요합니다.
만든 비공개 키와 서명된 인증서를 사용하여 리전 간 내부 애플리케이션 부하 분산기에 대한 인증서 리소스를 만듭니다. 인증서를 업로드할 때는 범위를
all-regions
로 설정해야 합니다. 자세한 내용은 인증서 관리자에 자체 관리형 인증서 업로드를 참고하세요. 인증서 리소스는 부하 분산기의 대상 HTTPS 프록시를 구성하는 데 필요합니다.프록시 전용 서브넷이 아직 없으면 만듭니다. 리전 간 내부 애플리케이션 부하 분산기의 전달 규칙을 만들려는 VPC 네트워크 및 리전에 단일 프록시 전용 서브넷이 있어야 합니다. 해당 네트워크와 리전 내의 모든 내부 애플리케이션 부하 분산기에서 이 서브넷을 사용합니다.
Private Service Connect NEG 만들기
액세스하려는 각 전역 Google API에 대해 Private Service Connect NEG를 만듭니다. Private Service Connect NEG는 전역 Google API에 연결하는 데 사용되더라도 리전에 해당합니다.
Private Service Connect NEG는 생성된 후에는 업데이트할 수 없습니다.
콘솔
Google Cloud 콘솔에서 네트워크 엔드포인트 그룹 만들기 페이지로 이동합니다.
네트워크 엔드포인트 그룹 만들기 페이지에서 네트워크 엔드포인트 그룹의 이름을 입력합니다.
네트워크 엔드포인트 그룹 유형으로 Private Service Connect NEG(리전)를 선택합니다.
대상에 대해 전역 Google API를 선택합니다.
네트워크 엔드포인트 그룹의 리전을 선택합니다.
네트워크 엔드포인트 그룹의 대상 서비스를 선택합니다.
만들기를 클릭합니다.
gcloud
network-endpoint-groups create
명령어를 사용합니다.
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=TARGET_SERVICE \ --region=REGION
다음을 바꿉니다.
NEG_NAME
: 네트워크 엔드포인트 그룹의 이름입니다.TARGET_SERVICE
: 연결하려는 전역 Google API 타겟입니다(예:pubsub.googleapis.com
). 지원되는 전역 Google API 대상 목록을 참고하세요.REGION
: 네트워크 엔드포인트 그룹을 만들 리전입니다.
API
regionNetworkEndpointGroups.insert
메서드에 대해 POST
요청을 실행합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkEndpointGroups { "name": "NEG_NAME", "networkEndpointType": "PRIVATE_SERVICE_CONNECT", "pscTargetService": "TARGET_SERVICE" }
다음을 바꿉니다.
PROJECT_ID
: 네트워크 엔드포인트 그룹의 프로젝트 ID입니다.REGION
: 네트워크 엔드포인트 그룹을 만들 리전입니다.NEG_NAME
: 네트워크 엔드포인트 그룹의 이름입니다.TARGET_SERVICE
: 연결하려는 전역 Google API 타겟입니다(예:pubsub.googleapis.com
). 지원되는 전역 Google API 대상 목록을 참고하세요.
부하 분산기 구성
전역 Google API에 액세스하려면 리전 간 내부 애플리케이션 부하 분산기를 구성하세요.
콘솔
구성 시작
Google Cloud 콘솔에서 부하 분산 페이지로 이동합니다.
- 부하 분산기 만들기를 클릭합니다.
- 부하 분산기 유형에서 애플리케이션 부하 분산기(HTTP/HTTPS)를 선택하고 다음을 클릭합니다.
- 공개 또는 내부에 내부를 선택하고 다음을 클릭합니다.
- 리전 간 또는 단일 리전 배포에서 리전 간 워크로드에 적합을 선택하고 다음을 클릭합니다.
- 구성을 클릭합니다.
기본 구성
- 부하 분산기의 이름을 입력합니다.
부하 분산기의 네트워크를 선택합니다.
네트워크에는 부하 분산기를 만들려는 리전의 프록시 전용 서브넷이 포함되어야 합니다.
프런트엔드 구성
- 프런트엔드 구성을 클릭합니다.
- 부하 분산기의 전달 규칙의 이름을 입력합니다.
- 프로토콜 필드에서 HTTPS(HTTP/2 및 HTTP/3 포함)를 선택합니다.
- 부하 분산기의 서브네트워크에 대한 서브네트워크 리전을 선택합니다.
- 부하 분산기의 서브네트워크를 선택합니다.
- IP 주소를 클릭한 후 다음 중 하나를 수행합니다.
- 임시 IP 주소를 자동으로 할당하려면 임시(자동)를 선택합니다.
- 임시 IP 주소를 선택하려면 임시(맞춤)을 선택한 다음 부하 분산기 서브넷의 IP 주소 범위에서 맞춤 임시 IP 주소를 입력합니다.
- 고정 내부 IP 주소를 예약하고 사용하려면 IP 주소 만들기를 클릭한 뒤 다음 단계를 따릅니다.
- IP 주소의 이름을 입력합니다.
- 고정 IP 주소를 클릭한 후 다음 중 하나를 수행합니다.
- 고정 IP 주소를 자동으로 할당하려면 자동 할당을 선택합니다.
- 특정 IP 주소를 구성하려면 직접 선택을 선택한 다음 부하 분산기 서브넷의 IP 주소 범위에서 커스텀 IP 주소를 입력합니다.
- 예약을 클릭합니다.
- HTTPS 트래픽을 허용하도록 포트가
443
으로 설정되어 있는지 확인합니다. - 인증서 목록을 클릭한 다음 자체 관리 인증서를 선택합니다.
- 완료를 클릭합니다.
백엔드 구성
- 백엔드 구성을 클릭합니다.
액세스하려는 각 전역 Google API에 대해 전역 백엔드 서비스를 만듭니다. 전역 백엔드 서비스를 만들려면 다음 단계를 따릅니다.
- 백엔드 서비스 만들기 또는 선택 메뉴에서 백엔드 서비스 만들기를 선택합니다.
- 백엔드 서비스의 이름을 입력합니다.
- 백엔드 유형을 Private Service Connect 네트워크 엔드포인트 그룹으로 설정합니다.
- Private Service Connect 대상 유형을 전역 Google API로 설정합니다.
- 프로토콜에 HTTPS를 선택합니다.
백엔드 섹션에서 새 백엔드 메뉴를 클릭하고 Private Service Connect 네트워크 엔드포인트 그룹을 선택합니다.
새 Private Service Connect 네트워크 엔드포인트 그룹을 만들어야 하는 경우 PSC NEG 만들기를 클릭합니다.
완료를 클릭합니다.
만들기를 클릭합니다.
추가하려는 각 백엔드 서비스가 백엔드 서비스 만들기 또는 선택 메뉴에서 선택되어 있는지 확인한 다음 확인을 클릭합니다.
라우팅 규칙
수신되는 HTTPS 요청을 특정 백엔드 서비스로 라우팅하는 규칙 집합을 URL 맵이라고 합니다. URL 맵에 대한 자세한 내용은 URL 맵 개요를 참조하세요.
부하 분산기에 백엔드 서비스 하나만 구성하는 경우 기본 라우팅 규칙으로 충분하며 검토 및 완료로 건너뛸 수 있습니다.
여러 백엔드 서비스를 구성하는 경우 백엔드 서비스마다 경로 일치자를 하나씩 만들어야 합니다. 호스트 규칙마다 경로 일치자를 하나씩 참조할 수 있지만 2개 이상의 호스트 규칙이 동일한 경로 일치자를 참조할 수 있습니다.
- 백엔드 서비스가 2개를 초과하면 라우팅 규칙을 클릭합니다.
- 단순한 호스트 및 경로 규칙을 선택합니다.
- 각 백엔드에서 다음을 수행합니다.
- 호스트 및 경로 규칙 추가를 클릭합니다.
- 호스트에 이 서비스에 요청을 보내는 데 사용할 호스트 이름을 입력합니다(예:
pubsub.example.com
). - 경로에 경로를 입력합니다(예:
/*
). - 백엔드에 백엔드 서비스를 선택합니다.
검토 및 완료
- 검토 및 완료를 클릭하여 구성을 검토합니다.
- 만들기를 클릭합니다.
gcloud
액세스하려는 각 전역 Google API에 대해 다음을 실행합니다.
전역 백엔드 서비스를 만들려면
gcloud compute backend-services create
명령어를 사용합니다.gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTPS \ --global
BACKEND_SERVICE_NAME
을 백엔드 서비스 이름으로 바꿉니다.해당 백엔드 서비스에 NEG를 추가하려면
gcloud compute backend-services add-backend
명령어를 사용합니다.gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=REGION \ --global
다음을 바꿉니다.
NEG_NAME
: Private Service Connect NEG의 이름입니다.REGION
: Private Service Connect NEG의 리전입니다.
부하 분산기의 전역 URL 맵을 만들려면
gcloud compute url-maps create
명령어를 사용합니다.URL 맵은 기본 백엔드 서비스를 참조해야 합니다. 하나의 백엔드 서비스로 부하 분산기를 구성하는 경우 백엔드 서비스를 기본값으로 설정합니다. 여러 백엔드 서비스를 사용하도록 부하 분산기를 구성하는 경우 URL 맵 기본값으로 사용할 백엔드 서비스를 하나 선택합니다.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME
다음을 바꿉니다.
URL_MAP_NAME
: URL 맵의 이름입니다.DEFAULT_BACKEND_SERVICE_NAME
: 부하 분산기의 기본 백엔드 서비스 이름입니다. 기본값은 호스트 규칙이 요청된 호스트 이름과 일치할 때 사용됩니다.
선택사항: 여러 백엔드 서비스를 사용하도록 부하 분산기를 구성하는 경우 이 단계를 완료합니다. URL 맵이 하나의 백엔드 서비스만 참조하는 경우에는 이 단계를 건너뜁니다.
URL 맵에 백엔드 서비스를 추가하려면
gcloud compute url-maps add-path-matcher
명령어를 사용합니다.백엔드 서비스마다 경로 일치자와 하나 이상의 호스트 규칙을 추가합니다. 경로 일치자를 백엔드 서비스당 하나씩 만들어야 합니다. 호스트 규칙마다 경로 일치자를 하나씩 참조할 수 있지만 2개 이상의 호스트 규칙이 동일한 경로 일치자를 참조할 수 있습니다.
gcloud compute url-maps add-path-matcher URL_MAP_NAME \ --path-matcher-name=PATH_MATCHER \ --default-service=BACKEND_SERVICE_NAME \ --new-hosts=HOSTNAMES
다음을 바꿉니다.
PATH_MATCHER
: 경로 일치자의 이름입니다.BACKEND_SERVICE_NAME
: 백엔드 서비스의 이름입니다.HOSTNAMES
: 백엔드 서비스에 요청을 전송할 호스트 이름 1개 이상(예:pubsub.example.com
) 쉼표로 구분된 목록으로 여러 호스트 이름을 입력할 수 있습니다.
대상 HTTPS 프록시를 만들려면
gcloud compute target-https-proxies create
명령어를 사용합니다.gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --certificate-manager-certificates=CERTIFICATE_NAME
다음을 바꿉니다.
PROXY_NAME
: 대상 HTTPS 프록시의 이름입니다.URL_MAP_NAME
: URL 맵의 이름입니다.CERTIFICATE_NAME
: 인증서 리소스의 이름입니다.
부하 분산기에 전역 전달 규칙을 만들려면
gcloud compute forwarding-rules create
명령어를 사용합니다.gcloud compute forwarding-rules create RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --address=IP_ADDRESS \ --ports=443 \ --target-https-proxy=PROXY_NAME \ --subnet=SUBNET \ --subnet-region=SUBNET_REGION \ --global
다음을 바꿉니다.
RULE_NAME
: 전달 규칙의 이름입니다.NETWORK
: 전달 규칙의 VPC 네트워크입니다. 이 네트워크에는 부하 분산기를 만들려는 리전의 프록시 전용 서브넷이 포함되어야 합니다.IP_ADDRESS
: 전달 규칙의 내부 IP 주소로, 전달 규칙의 서브넷 IP 주소 범위 내에 있어야 합니다. 특정 임시 IP 주소를 사용하려면 IP 주소(예:10.0.0.5
)를 입력합니다. 고정 내부 IP 주소를 사용하려면 IP 주소의 이름을 입력합니다. Google Cloud에서 임시 IP 주소를 선택하도록 하려면 이 플래그를 생략합니다.SUBNET
: 전달 규칙의 서브넷입니다.SUBNET_REGION
: 전달 규칙의 서브넷 리전입니다.
API
액세스하려는 각 전역 Google API에 대해 다음을 실행합니다.
전역 백엔드 서비스를 만들려면
backendServices.insert
메서드에POST
요청을 보냅니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices { "loadBalancingScheme": "INTERNAL_MANAGED", "name": "BACKEND_SERVICE_NAME", "protocol": "HTTPS" }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 프로젝트 IDBACKEND_SERVICE_NAME
: 백엔드 서비스의 이름
해당 백엔드 서비스에 NEG를 추가하려면
backendServices.patch
메서드에PATCH
요청을 보냅니다.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME { "backends": [ { "group": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkEndpointGroups/NEG_NAME" } ] }
다음을 바꿉니다.
REGION
: NEG의 리전입니다.NEG_NAME
: 추가할 네트워크 엔드포인트 그룹의 이름입니다.
부하 분산기의 전역 URL 맵을 만들려면
urlMaps.insert
메서드에POST
요청을 보냅니다.URL 맵은 기본 백엔드 서비스를 참조해야 합니다. 하나의 백엔드 서비스로 부하 분산기를 구성하는 경우 백엔드 서비스를 기본값으로 설정합니다. 여러 백엔드 서비스를 사용하도록 부하 분산기를 구성하는 경우 URL 맵 기본값으로 사용할 백엔드 서비스를 하나 선택합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps { "defaultService": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/DEFAULT_BACKEND_SERVICE_NAME", "name": "URL_MAP_NAME" }
다음을 바꿉니다.
DEFAULT_BACKEND_SERVICE_NAME
: 부하 분산기의 기본값 이름입니다. 기본값은 호스트 규칙이 요청된 호스트 이름과 일치할 때 사용됩니다.URL_MAP_NAME
: URL 맵의 이름입니다.
여러 백엔드 서비스를 사용하도록 부하 분산기를 구성하는 경우 이 단계를 완료합니다. URL 맵이 하나의 백엔드 서비스만 참조하는 경우에는 이 단계를 건너뜁니다.
URL 맵에 백엔드 서비스를 추가하려면
urlMaps.patch
메서드에PATCH
요청을 전송합니다.백엔드 서비스마다 경로 일치자와 하나 이상의 호스트 규칙을 추가합니다. 경로 일치자를 백엔드 서비스당 하나씩 만들어야 합니다. 호스트 규칙마다 경로 일치자를 하나씩 참조할 수 있지만 2개 이상의 호스트 규칙이 동일한 경로 일치자를 참조할 수 있습니다.
단일 API 요청을 실행하여 여러 경로 일치자와 호스트 규칙을 추가할 수 있습니다.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME { "pathMatchers": [ { "name": "PATH_MATCHER_NAME_1", "defaultService": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME_1" }, { "name": "PATH_MATCHER_NAME_2", "defaultService": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME_2" } ], "hostRules": [ { "hosts": ["HOSTNAME_1"], "pathMatcher": "PATH_MATCHER_NAME_1" }, { "hosts": ["HOSTNAME_2"], "pathMatcher": "PATH_MATCHER_NAME_2" } ] }
다음을 바꿉니다.
PATH_MATCHER_NAME_1
: 첫 번째 경로 일치자의 이름입니다.BACKEND_SERVICE_NAME_1
: 첫 번째 백엔드 서비스의 이름입니다.PATH_MATCHER_NAME_2
: 두 번째 경로 일치자의 이름입니다.BACKEND_SERVICE_NAME_2
: 두 번째 백엔드 서비스의 이름입니다.HOSTNAME_1
: 첫 번째 서비스에 요청을 전송할 호스트 이름입니다(예:pubsub.example.com
).HOSTNAME_2
: 두 번째 서비스에 대해 요청을 전송할 호스트 이름입니다.
대상 HTTPS 프록시를 만들려면
targetHttpsProxies.insert
메서드에POST
요청을 전송합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies { "name": "PROXY_NAME", "sslCertificates": [ "https://certificatemanager.googleapis.com/v1/projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME" ], "urlMap": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME" }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.PROXY_NAME
: 대상 HTTPS 프록시의 이름입니다.CERTIFICATE_NAME
: 인증서 리소스의 이름입니다.URL_MAP_NAME
: URL 맵의 이름입니다.
부하 분산기에 대한 전역 전달 규칙을 만들려면
globalForwardingRules.insert
메서드에POST
요청을 보냅니다. 전달 규칙의 네트워크에는 전달 규칙의 리전 서브넷에 프록시 전용 서브넷이 포함되어야 합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules { "IPAddress": "IP_ADDRESS", "loadBalancingScheme": "INTERNAL_MANAGED", "name": "FORWARDING_RULE_NAME", "network": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME", "portRange": "443", "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET_NAME", "target": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxies/PROXY_NAME" }
다음을 바꿉니다.
IP_ADDRESS
: 전달 규칙의 내부 IP 주소로, 전달 규칙의 서브넷 IP 주소 범위 내에 있어야 합니다. 특정 임시 IP 주소를 사용하려면 IP 주소(예:10.0.0.5
)를 제공합니다. 고정 내부 IP 주소를 사용하려면 IP 주소의 이름을 제공합니다. Google Cloud에서 임시 IP 주소를 선택하도록 하려면 이 필드를 생략합니다.FORWARDING_RULE_NAME
: 전달 규칙의 이름입니다.NETWORK_NAME
: 전달 규칙의 VPC 네트워크 이름입니다. 이 네트워크에는 부하 분산기를 만들려는 리전의 프록시 전용 서브넷이 포함되어야 합니다.SUBNET_REGION
: 전달 규칙의 서브넷 리전입니다.SUBNET_NAME
: 전달 규칙의 서브넷 이름입니다.
구성 확인
백엔드의 전역 Google API 연결을 테스트하려면 다음 단계를 따릅니다.
- 가상 머신이 없는 경우 백엔드를 구성한 VPC 네트워크에서 가상 머신(VM) 인스턴스를 만듭니다.
- 묵시적 IPv4 이그레스 허용 규칙을 재정의하는 방화벽 규칙 또는 방화벽 정책을 만들지 않았는지 확인합니다.
- VM에 연결합니다.
VM에서
curl
를 사용하여 각 API를 쿼리할 수 있는지 확인합니다. 이 명령어는Host
헤더를 설정하고 사용자 정의 IP 주소를 지정하여 DNS 변환을 우회합니다.-k
플래그를 사용하면 인증서 유효성 검사를 건너뛸 수 있습니다. 자체 서명된 인증서를 사용해 대상 HTTPS 프록시를 구성했거나 인증서에 서명한 인증 기관의 인증서가 VM에 없는 경우 유효성 검사를 건너뛰어야 할 수 있습니다.curl -iv --resolve HOSTNAME:443:IP_ADDRESS \ 'https://HOSTNAME/RESOURCE_URI'
다음을 바꿉니다.
HOSTNAME
: URL 맵에 구성된 호스트 이름입니다(예:pubsub.example.com
).IP_ADDRESS
: 부하 분산기의 전달 규칙의 IP 주소입니다.RESOURCE_URI
: 인증에 사용할 리소스의 나머지 URI입니다. 예를 들어 부하 분산기에서 Pub/Sub의 리전 엔드포인트로 요청을 전달하는 경우$discovery/rest?version=v1
을 사용할 수 있습니다.
DNS 레코드 구성
전달 규칙의 IP 주소를 가리키도록 URL 맵에 추가한 각 호스트의 DNS 레코드를 구성합니다. Cloud DNS를 사용하여 DNS를 관리하는 경우 레코드 추가, 수정, 삭제를 참고합니다. 그렇지 않으면 DNS 서버에서 DNS 레코드를 구성합니다.
예를 들어 다음과 같은 구성을 만들었다고 가정해 보겠습니다.
대상 서비스
pubsub.googleapis.com
을 사용하는 Private Service Connect NEGPrivate Service Connect NEG를 백엔드로 사용하는 리전 간 내부 애플리케이션 부하 분산기
pubsub.example.com
의 호스트 규칙을 정의하는 URL 맵
이 구성이 제대로 작동하려면 pubsub.example.com
이 전달 규칙의 IP 주소를 가리키도록 DNS 레코드를 만들어야 합니다.
이 구성을 사용하면 pubsub.example.com
으로 전송된 요청은 부하 분산기로 전송되어 pubsub.googleapis.com
으로 전달됩니다.
백엔드에 요청을 전송하도록 클라이언트 구성
공개 서비스 엔드포인트 대신 백엔드를 통해 요청을 전송하려면 부하 분산기의 URL 맵에 정의한 호스트 이름(예: pubsub.example.com
)으로 요청을 전송하도록 클라이언트를 구성해야 합니다. 커스텀 엔드포인트를 사용하도록 구성하는 방법은 클라이언트 또는 클라이언트 라이브러리 문서를 참조하세요. 다음 페이지에는 몇 가지 일반적인 클라이언트의 구성 단계가 나와 있습니다.
Python: 클라이언트 옵션에서
api_endpoint
를 구성할 수 있습니다.Go: ClientOptions에서
WithEndpoint
를 구성할 수 있습니다..NET: 클라이언트의 빌더 클래스에서
Endpoint
를 구성할 수 있습니다.gcloud: gcloud CLI에서
api_endpoint_overrides
를 구성할 수 있습니다.