엔드포인트를 통한 Google API 액세스

이 문서에서는 Google API에 액세스하기 위해 사용되는 Private Service Connect 엔드포인트를 간략하게 설명합니다.

기본적으로 Cloud Storage와 같은 Google 서비스를 사용하는 애플리케이션이 있으면 애플리케이션은 서비스의 기본 DNS 이름(예: storage.googleapis.com)에 연결됩니다. Google 서비스의 기본 DNS 이름은 공개적으로 라우팅 가능한 IP 주소로 확인됩니다. 하지만 Google Cloud 리소스에서 이러한 IP 주소로 전송되는 트래픽은 Google 네트워크 내부에 유지됩니다.

Private Service Connect를 사용하면 VPC 네트워크 내에서 전역 내부 IP 주소를 사용하여 비공개 엔드포인트를 만들 수 있습니다. storage-vialink1.p.googleapis.combigtable-adsteam.p.googleapis.com와 같이 의미 있는 이름을 사용하여 DNS 이름을 이러한 내부 IP 주소에 할당할 수 있습니다. 이러한 이름과 IP 주소는 VPC 네트워크 및 Cloud VPN 터널이나 VLAN 연결을 통해 연결된 온프레미스 네트워크의 내부 이름과 IP 주소입니다. 엔드포인트로 전송되는 트래픽을 제어하고 트래픽이 Google Cloud 내로 유지됨을 보여줄 수 있습니다.

이 옵션을 사용하면 API 번들에 포함된 모든 Google API 및 서비스에 액세스할 수 있습니다.

그림 1. Private Service Connect를 사용하면 VPC 네트워크에 비공개인 엔드포인트를 사용하여 Google API에 트래픽을 보낼 수 있습니다(확대하려면 클릭).

특징 및 호환성

이 표에는 Google API에 액세스하는 데 사용되는 엔드포인트에서 지원되는 기능이 요약되어 있습니다.

구성 세부정보
소비자 구성(엔드포인트)
전역 연결 가능성 내부 전역 IP 주소 사용
Interconnect 트래픽
Cloud VPN 트래픽
자동 DNS 구성
IP 스택 IPv4
프로듀서
지원되는 서비스 지원되는 글로벌 Google API

온프레미스 액세스

Google API에 액세스하기 위해 사용하는 Private Service Connect 엔드포인트는 지원되는 연결된 온프레미스 호스트에서 액세스될 수 있습니다. 자세한 내용은 온프레미스 호스트에서 엔드포인트 액세스를 참조하세요.

Private Service Connect 및 서비스 디렉터리

엔드포인트는 서비스 디렉터리에 등록됩니다. 서비스 디렉터리는 서비스를 저장, 관리, 게시하는 플랫폼입니다. Google API 및 서비스에 액세스하기 위해 엔드포인트를 만들 때 서비스 디렉터리 리전과 서비스 디렉터리 네임스페이스를 선택합니다.

서비스 디렉터리 리전

서비스 디렉터리는 리전 서비스입니다. 선택한 리전은 서비스 디렉터리 제어 영역이 있는 위치를 정의합니다. 리전 간 기능적인 차이는 없지만, 관리상의 이유로 선호할 수도 있습니다.

VPC 네트워크에서 Google API의 첫 번째 엔드포인트를 만들면 선택한 리전은 해당 네트워크에서 만드는 모든 후속 엔드포인트의 기본 리전으로 사용됩니다. 네트워크에 아직 리전이 설정되지 않았고 리전을 지정하지 않으면 리전이 us-central1으로 설정됩니다. 네트워크의 모든 엔드포인트는 동일한 서비스 디렉터리 리전을 사용해야 합니다.

서비스 디렉터리 네임스페이스

VPC 네트워크에서 Google API의 첫 번째 엔드포인트를 만들면 선택한 네임스페이스는 해당 네트워크에서 만드는 모든 후속 엔드포인트의 기본 네임스페이스로 사용됩니다. 네임스페이스에 아직 네임스페이스가 설정되지 않았고 네임스페이스를 지정하지 않으면 시스템에서 생성된 네임스페이스가 사용됩니다. 네트워크의 모든 엔드포인트는 동일한 서비스 디렉터리 네임스페이스를 사용해야 합니다. 선택한 네임스페이스는 Google API에 액세스하는 데 사용되는 엔드포인트에만 사용되어야 합니다. 여러 네트워크의 엔드포인트에 동일한 네임스페이스를 사용할 수 있습니다.

엔드포인트를 만들면 다음 DNS 구성이 생성됩니다.

  • 서비스 디렉터리 비공개 DNS 영역p.googleapis.com에 생성됩니다.

  • DNS 레코드는 Private Service Connect를 사용하여 제공되며 googleapis.com으로 끝나는 기본 DNS 이름을 갖는 일반적으로 사용되는 Google API 및 서비스에 대해 p.googleapis.com에 생성됩니다.

    p.googleapis.com에 DNS 레코드가 없는 API 및 서비스에 대한 DNS 레코드를 만들려면 DNS 레코드 만들기를 참조하세요.

사용 가능한 서비스는 all-apis 또는 vpc-sc API 번들을 선택했는지에 따라 달라집니다.

엔드포인트가 포함된 각 VPC 네트워크에 서비스 디렉터리 DNS 영역 1개가 생성됩니다.

VPC 네트워크의 모든 리전에서 엔드포인트의 DNS 이름에 액세스할 수 있습니다.

지원되는 API

Google API 및 서비스에 액세스하기 위해 엔드포인트를 만들 때 액세스해야 하는 API 번들을 모든 API(all-apis) 또는 VPC-SC(vpc-sc) 중에서 선택합니다.

  • all-apis 번들은 모든 *.googleapis.com 서비스 엔드포인트를 포함하여 대부분의 Google API 및 서비스에 대한 액세스를 제공합니다.

  • vpc-sc 번들은 VPC 서비스 제어를 지원하는 API 및 서비스에 대한 액세스를 제공합니다.

API 번들은 TCP(HTTP, HTTPS, HTTP/2)를 통한 HTTP 기반 프로토콜만 지원합니다. MQTT, ICMP를 비롯한 다른 모든 프로토콜은 지원되지 않습니다.

API 번들 지원되는 서비스 사용 예시
all-apis

VPC 서비스 제어에서 지원하는지 여부에 관계없이 대부분의 Google API 및 서비스에 대한 API 액세스를 사용 설정합니다. 아래 목록을 포함하여 Google 지도, Google Ads, Google Cloud 및 다른 대부분의 Google API에 대한 API 액세스가 포함됩니다. Gmail 및 Google Docs와 같은 Google Workspace 웹 애플리케이션을 지원하지 않습니다. 대화형 웹사이트를 지원하지 않습니다.

일치하는 도메인 이름:

  • accounts.google.com(OAuth 인증에 필요한 경로만)
  • *.aiplatform-notebook.cloud.google.com
  • *.aiplatform-notebook.googleusercontent.com
  • appengine.google.com
  • *.appspot.com
  • *.backupdr.cloud.google.com
  • backupdr.cloud.google.com
  • *.backupdr.googleusercontent.com
  • backupdr.googleusercontent.com
  • *.cloudfunctions.net
  • *.cloudproxy.app
  • *.composer.cloud.google.com
  • *.composer.googleusercontent.com
  • *.datafusion.cloud.google.com
  • *.datafusion.googleusercontent.com
  • *.dataproc.cloud.google.com
  • dataproc.cloud.google.com
  • *.dataproc.googleusercontent.com
  • dataproc.googleusercontent.com
  • dl.google.com
  • gcr.io 또는 *.gcr.io
  • *.googleapis.com
  • *.gstatic.com
  • *.ltsapis.goog
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev 또는 *.pkg.dev
  • pki.goog 또는 *.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

다음과 같은 상황에서 all-apis을 선택합니다.

  • VPC 서비스 제어를 사용하지 않는 경우
  • VPC 서비스 제어를 사용하지만 VPC 서비스 제어에서 지원하지 않는 Google API 및 서비스에도 액세스해야 하는 경우 1

vpc-sc

VPC 서비스 제어가 지원하는 Google API 및 서비스에 대한 API 액세스를 사용 설정합니다.

VPC 서비스 제어를 지원하지 않는 Google API 및 서비스에 대한 액세스를 차단합니다. Google Workspace API 또는 Google Workspace 웹 애플리케이션(예: Gmail 및 Google Docs)을 지원하지 않습니다.

VPC 서비스 제어에서 지원하는 Google API 및 서비스에 액세스해야 하는 경우에만 vpc-sc을 선택합니다. vpc-sc 번들은 VPC 서비스 제어를 지원하지 않는 Google API 및 서비스에 대한 액세스를 허용하지 않습니다.1

1 VPC 서비스 제어를 지원하는 Google API 및 서비스로만 사용자를 제한해야 하는 경우에는 vpc-sc을 사용하세요. VPC 서비스 제어는 호환 가능하고 구성된 서비스에 적용되지만, vpc-sc은 사용하는 번들에 관계없이 데이터 무단 반출 위험을 추가적으로 완화해 줍니다. vpc-sc을 사용하면 VPC 서비스 제어에서 지원하지 않는 Google API 및 서비스에 대한 액세스가 거부됩니다. 자세한 내용은 VPC 서비스 제어 문서의 비공개 연결 설정을 참조하세요.

IP 주소 요구사항

VPC 네트워크에서 Private Service Connect를 구성할 때 엔드포인트에 사용할 IP 주소를 제공합니다.

이 주소는 전역 내부 IP 주소의 프로젝트 할당량에 반영됩니다.

IP 주소는 다음 사양을 충족해야 합니다.

  • 주소 범위가 아닌 단일 IP 주소여야 합니다.

  • 올바른 IPv4 주소여야 합니다. RFC 1918 주소이거나 RFC 1918 이외의 주소일 수 있습니다. Private Service Connect에는 IPv6 주소가 지원되지 않습니다.

  • VPC 네트워크에서 구성된 서브넷 범위 내에 있을 수 없습니다.

  • VPC 네트워크 또는 VPC 네트워크 피어링을 사용하여 VPC 네트워크에 연결된 네트워크 내의 모든 서브넷의 기본 또는 보조 IP 주소 범위 내에 있을 수 없습니다.

  • 로컬 VPC 네트워크의 /32 커스텀 정적 경로와 겹칠 수 없습니다. 예를 들어 VPC 네트워크에 10.10.10.10/32의 커스텀 정적 경로가 있는 경우 Private Service Connect의 10.10.10.10 주소를 예약할 수 없습니다.

  • 피어링된 네트워크가 커스텀 경로를 내보내도록 구성하고 VPC 네트워크가 커스텀 경로를 가져오도록 구성한 경우 /32 피어링 커스텀 정적 경로와 겹칠 수 없습니다.

  • 로컬 VPC 네트워크가 자동 모드 네트워크이거나 자동 모드 네트워크와 피어링된 경우 자동 모드 IP 범위(10.128.0.0/9 내) 내에 있을 수 없습니다.

  • 로컬 VPC 네트워크의 할당된 IP 범위 내에 있을 수 없습니다. 그러나 피어링된 VPC 네트워크의 할당된 IP 범위 내에는 있을 수 있습니다.

  • 엔드포인트가 대상이 동일한 /32인 커스텀 동적 경로와 겹치는 경우 엔드포인트가 우선 적용됩니다.

  • 엔드포인트 IP 주소가 커스텀 정적 경로, 커스텀 동적 경로 또는 피어링 커스텀 경로의 대상 범위 내에 있고 해당 경로의 서브넷 마스크가 /32보다 짧은 경우 엔드포인트가 우선 적용됩니다.

사용 사례

동일한 VPC 네트워크에서 여러 엔드포인트를 만들 수 있습니다. 특정 엔드포인트로 전송되는 총 대역폭에는 제한이 없습니다. 엔드포인트는 전역 내부 IP 주소를 사용하므로 Cloud VPN 터널 또는 Cloud Interconnect 연결을 사용하여 연결된 온프레미스 네트워크 또는 VPC 네트워크의 모든 리소스에서 사용할 수 있습니다.

엔드포인트가 여러 개 있으면 Cloud Router와 방화벽 규칙을 사용하여 다른 네트워크 경로를 지정할 수 있습니다.

  • 다른 VM에서 액세스하도록 허용하는 동안 일부 VM이 엔드포인트를 통해 Google API에 액세스하지 못하도록 방화벽 규칙을 만들 수 있습니다.

  • VM 인스턴스에 인터넷의 모든 트래픽을 허용하지 않는 방화벽 규칙이 있을 수 있습니다. Private Service Connect 엔드포인트로 전송된 트래픽은 계속 Google에 도달합니다.

  • Cloud VPN 터널이나 VLAN 연결을 사용하여 VPC에 연결된 온프레미스 호스트가 있으면 공개 인터넷을 통해 다른 요청을 보내는 동안 터널이나 VLAN을 통해 일부 요청을 보낼 수 있습니다. 이 구성을 사용하면 비공개 Google 액세스에서 지원하지 않는 Google 도서와 같은 서비스의 터널이나 VLAN을 우회할 수 있습니다.

    이러한 구성을 만들려면 Private Service Connect 엔드포인트를 만들고 Cloud Router 커스텀 경로 공지를 사용하여 엔드포인트 IP 주소를 공지하고 Cloud DNS 인바운드 전달 정책을 사용 설정합니다. 애플리케이션은 엔드포인트 이름을 사용하여 Cloud VPN 터널 또는 VLAN 연결을 통해 일부 요청을 전송할 수 있으며 기본 DNS 이름을 사용하여 인터넷을 통해 다른 요청을 전송할 수 있습니다.

  • VLAN 연결 여러 개를 사용하여 온프레미스 네트워크를 VPC 네트워크에 연결하면 그림 2와 같이 온프레미스에서 VLAN 하나를 통해 온프레미스의 일부 트래픽을 전송하고 다른 VLAN을 통해 나머지 트래픽을 전송할 수 있습니다. 이렇게 하면 Google이 아닌 고유한 광역 네트워킹을 사용하여 지리적 요구 사항이 충족되도록 데이터 이동을 제어할 수 있습니다.

    이 구성을 만들려면 두 개의 엔드포인트를 만듭니다. 첫 번째 VLAN을 관리하는 Cloud Router의 BGP 세션에 첫 번째 엔드포인트에 대한 커스텀 경로 공지를 만들고 두 번째 VLAN을 관리하는 Cloud Router의 BGP 세션에 두 번째 엔드포인트에 대한 다른 커스텀 경로 공지를 만듭니다. 엔드포인트 이름을 사용하도록 구성된 온프레미스 호스트는 해당 VLAN 연결을 통해 트래픽을 전송합니다.

  • 활성/활성 토폴로지에서 VLAN 연결을 여러 개 사용할 수도 있습니다. VLAN을 관리하는 Cloud Router의 BGP 세션에 대한 커스텀 경로 공지를 사용하여 동일한 엔드포인트 IP 주소를 공지하면 온프레미스 시스템에서 엔드포인트로 전송된 패킷은 ECMP를 사용하여 VLAN으로 라우팅됩니다.

    그림 2. Private Service Connect, Cloud Router, 온프레미스 호스트를 구성하면 Google API에 트래픽을 전송하는 데 사용되는 VLAN 연결을 제어할 수 있습니다.

가격 책정

Private Service Connect의 가격은 VPC 가격 책정 페이지에 설명되어 있습니다.

할당량

Google API에 액세스하기 위해 만들 수 있는 Private Service Connect 엔드포인트 수는 PSC Google APIs Forwarding Rules per VPC Network 할당량에 따라 제어됩니다. 자세한 내용은 할당량을 참조하세요.

조직 정책 제약조건

조직 정책 관리자는 constraints/compute.disablePrivateServiceConnectCreationForConsumers 제약조건을 사용하여 사용자가 전달 규칙을 만들 수 없는 엔드포인트 유형 집합을 정의할 수 있습니다.

이 제약조건을 사용하는 조직 정책을 만드는 방법에 대한 자세한 내용은 사용자가 연결 유형별로 엔드포인트를 배포하지 못하도록 차단을 참조하세요.

다음 단계