Sobre como acessar APIs do Google por endpoints

Neste documento, apresentamos uma visão geral dos endpoints do Private Service Connect usados para acesso às APIs do Google.

Por padrão, se você tiver um aplicativo que usa um serviço do Google, como o Cloud Storage, ele se conectará ao nome de DNS padrão desse serviço, como storage.googleapis.com. Os nomes DNS padrão dos serviços do Google são resolvidos para endereços IP roteáveis publicamente. No entanto, o tráfego enviado dos recursos do Google Cloud para esses endereços IP permanece dentro da rede do Google.

Com o Private Service Connect, é possível criar endpoints particulares usando endereços IP internos globais na sua rede VPC. É possível atribuir nomes de DNS a esses endereços IP internos com nomes significativos como storage-vialink1.p.googleapis.com e bigtable-adsteam.p.googleapis.com. Esses nomes e endereços IP são internos da rede VPC e de qualquer rede local que esteja conectada a ela usando túneis do Cloud VPN ou anexos do Cloud Interconnect (VLANs). É possível controlar qual tráfego vai para qual endpoint e demonstrar que o tráfego permanece no Google Cloud.

Essa opção dá acesso a todas as APIs e serviços do Google incluídos nos pacotes de API.

Figura 1. O Private Service Connect permite enviar tráfego para APIs do Google usando um endpoint privado para sua rede VPC (clique para ampliar).

Recursos e compatibilidade

Esta tabela resume os recursos compatíveis com os endpoints usados para acessar as APIs do Google.

Configuração Detalhes
Configuração do consumidor (endpoint)
Acessibilidade global Usa um endereço IP global interno
Interconectar tráfego
Tráfego do Cloud VPN
Configuração automática de DNS
Versão IP IPv4
Serviços compatíveis APIs globais compatíveis do Google

Acesso no local

Os endpoints do Private Service Connect que você usa para acessar as APIs do Google podem ser acessados de hosts locais conectados e compatíveis. Para mais informações, consulte Acessar o endpoint de hosts locais.

Private Service Connect e Diretório de serviços

Os endpoints são registrados no Diretório de serviços. O Diretório de serviços é uma plataforma para armazenar, gerenciar e publicar serviços. Ao criar um endpoint para acessar APIs e serviços do Google, você seleciona uma região do diretório de serviços e um namespace do diretório de serviços.

Região do Diretório de serviços

O Diretório de serviços é um serviço regional. A região selecionada define onde está o plano de controle do Diretório de serviços. Não há diferença funcional entre as regiões, mas pode haver uma preferência por motivos administrativos.

Ao criar o primeiro endpoint do Private Service Connect para APIs do Google em uma rede VPC, a região selecionada é usada como a região padrão para todos os endpoints subsequentes criados nessa rede. Se uma região ainda não estiver definida para uma rede e você não especificar uma região, ela será definida como us-central1. Todos os endpoints de uma rede precisam usar a mesma região do Diretório de serviços.

Namespace do diretório de serviços

Quando você cria o primeiro endpoint para APIs do Google em uma rede VPC, o namespace selecionado é usado como o namespace padrão para todos os endpoints subsequentes criados nessa rede. Se o namespace ainda não estiver definido para uma rede e você não especificar um namespace, um namespace gerado pelo sistema será usado. Todos os endpoints de uma rede precisam usar o mesmo namespace do Diretório de serviços. O namespace escolhido precisa ser usado apenas para endpoints usados para acessar as APIs do Google. É possível usar o mesmo namespace para endpoints em várias redes.

Quando você cria um endpoint, as seguintes configurações de DNS são criadas:

  • Uma zona de DNS particular do Diretório de serviços é criada para p.googleapis.com

  • Registros DNS são criados em p.googleapis.com para alguns serviços e APIs do Google usados com frequência, que estão disponíveis pelo Private Service Connect e têm nomes DNS padrão que terminam em googleapis.com.

    Para instruções sobre como criar registros DNS para APIs e serviços que não têm um registro DNS em p.googleapis.com, consulte Como criar registros DNS.

Os serviços disponíveis variam, dependendo da seleção do pacote de APIs all-apis ou vpc-sc.

Uma zona DNS do Diretório de serviços é criada para cada rede VPC que contém um endpoint.

Os nomes DNS de um endpoint são acessíveis em todas as regiões na sua rede VPC.

APIs compatíveis

Ao criar um endpoint para acessar APIs e serviços do Google, você escolhe a qual pacote de APIs precisa acessar: Todas as APIs (all-apis) ou VPC-SC (vpc-sc):

Os pacotes de API são compatíveis apenas com protocolos baseados em HTTP sobre TCP (HTTP, HTTPS e HTTP/2). Todos os outros protocolos, incluindo MQTT e ICMP, não são compatíveis.

Pacote de API Serviços compatíveis Exemplo de uso
all-apis

Permite o acesso da API à maioria das APIs e serviços do Google, sejam ou não compatíveis com o VPC Service Controls. Inclui acesso da API ao Google Maps, Google Ads, Google Cloud e à maioria das outras APIs do Google, incluindo as listas abaixo. Não é compatível com aplicativos da Web do Google Workspace, como o Gmail e o Documentos Google. Não é compatível com sites interativos.

Nomes de domínio que correspondem:

  • accounts.google.com (somente os caminhos necessários para a autenticação do 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 ou *.gcr.io
  • *.googleapis.com
  • *.gstatic.com
  • *.kernels.googleusercontent.com
  • *.ltsapis.goog
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev ou *.pkg.dev
  • pki.goog ou *.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

Escolha all-apis nestas circunstâncias:

  • Você não usa o VPC Service Controls.
  • Você usa o VPC Service Controls, mas também precisa acessar APIs e serviços do Google que não são compatíveis com o VPC Service Controls. 1

vpc-sc

Permite o acesso da API a APIs e serviços do Google compatíveis com o VPC Service Controls.

Bloqueia o acesso a APIs e serviços do Google que não são compatíveis com o VPC Service Controls. Não é compatível com APIs do Google Workspace ou aplicativos da Web do Google Workspace, como o Gmail e o Documentos Google.

Escolha vpc-sc quando você precisar de acesso a APIs e serviços do Google compatíveis com o VPC Service Controls. O pacote vpc-sc não permite acesso a APIs e serviços do Google que não são compatíveis com o VPC Service Controls. 1

1 Se você precisar restringir usuários apenas às APIs e aos serviços do Google compatíveis com o VPC Service Controls, use vpc-sc, porque oferece redução de riscos adicionais para vazamento de dados. O uso de vpc-sc nega acesso a APIs e serviços do Google que não são compatíveis com o VPC Service Controls. Consulte Como configurar a conectividade privada na documentação do VPC Service Controls para mais detalhes.

Requisitos de endereço IP

Ao configurar o Private Service Connect em uma rede VPC, você fornece um endereço IP a ser usado para o endpoint.

O endereço é contabilizado na cota do projeto para endereços IP internos globais.

O endereço IP precisa atender às seguintes especificações:

  • Ele precisa ser um único endereço IP, e não um intervalo de endereços.

  • A entrada precisa ser um endereço IPv4 válido Pode ser um endereço RFC 1918 ou um endereço não RFC 1918. Os endereços IPv6 não são compatíveis com o Private Service Connect.

  • Ela não pode estar dentro do intervalo de sub-redes configuradas na rede VPC.

  • Ele não pode estar dentro de um intervalo de endereços IP primário ou secundário de qualquer sub-rede na rede VPC ou em uma rede conectada à rede VPC usando peering de rede VPC.

  • Ele não pode se sobrepor a uma rota estática personalizada /32 na rede VPC local. Por exemplo, se a rede VPC tiver uma rota estática personalizada para 10.10.10.10/32, não será possível reservar o endereço 10.10.10.10 para o Private Service Connect.

  • Ele não pode se sobrepor a uma rota estática personalizada de peering /32 se você tiver configurado a rede com peering para exportar rotas personalizadas e tiver configurado sua rede VPC para importar rotas personalizadas.

  • Não poderá estar dentro de qualquer um dos intervalos de IP de modo automático (em 10.128.0.0/9) se a rede VPC local for uma rede de modo automático ou se ela estiver em peering com uma rede de modo automático.

  • Ela não pode estar dentro de um intervalo de IP alocado na rede VPC local. No entanto, ele pode estar dentro de um intervalo de IP alocado em uma rede VPC com peering.

  • Se um endpoint se sobrepuser a uma rota dinâmica personalizada cujo destino seja o mesmo /32, o endpoint terá prioridade.

  • Se um endereço IP de endpoint estiver localizado no intervalo de destino de uma rota estática local, rota dinâmica local ou peering personalizado rota e essa rota tiver uma máscara de sub-rede menor que /32, o endpoint terá prioridade mais alta.

Casos de uso

É possível criar vários endpoints na mesma rede VPC. Não há limite na largura de banda total enviada para um endpoint específico. Como os endpoints usam endereços IP internos globais, eles podem ser usados por qualquer recurso na sua rede VPC ou em uma rede local conectada usando túneis do Cloud VPN ou anexos do Cloud Interconnect.

Com vários endpoints, é possível especificar caminhos de rede diferentes usando o Cloud Router e as regras de firewall.

  • É possível criar regras de firewall para impedir que algumas VMs acessem as APIs do Google por meio de um endpoint e, ao mesmo tempo, permitir que outras VMs tenham acesso.

  • É possível ter uma regra de firewall em uma instância de VM que proíba todo o tráfego para a Internet. O tráfego enviado para os endpoints do Private Service Connect ainda chega ao Google.

  • Se você tiver hosts locais conectados a uma VPC usando um túnel do Cloud VPN ou um anexo do Cloud Interconnect (VLAN), poderá enviar algumas solicitações por meio do túnel ou da VLAN enquanto envia outras solicitações pela Internet pública. Essa configuração permite ignorar o túnel ou a VLAN para serviços como o Google Livros que não são compatíveis com o Acesso privado do Google.

    Para criar essa configuração, crie um endpoint do Private Service Connect, anuncie os endereços IP do endpoint usando divulgações de rota personalizadas do Cloud Router e ative uma Política de encaminhamento de entrada do Cloud DNS. O aplicativo pode enviar algumas solicitações por meio do túnel do Cloud VPN ou do anexo da VLAN usando o nome do endpoint e outras solicitações pela Internet usando o nome DNS padrão.

  • Se você conectar sua rede local à rede VPC usando vários anexos da VLAN, é possível enviar parte do tráfego do local por uma VLAN e o restante por outras, como mostrado na figura 2. Isso permite usar sua própria rede de longa distância em vez da do Google e controlar a movimentação de dados para atender aos requisitos geográficos.

    Para criar essa configuração, crie dois endpoints. Crie uma divulgação de rota personalizada para o primeiro endpoint na sessão do BGP do Cloud Router que gerencia a primeira VLAN e crie uma divulgação de rota personalizada diferente para o segundo endpoint na sessão do BGP do Cloud Router que gerencia a segunda VLAN. Os hosts locais configurados para usar o nome do endpoint enviam tráfego pelo anexo da VLAN correspondente.

  • Também é possível usar vários anexos da VLAN em uma topologia ativa/ativa. Se você anunciar o mesmo endereço IP do endpoint usando divulgações de rota personalizadas para sessões do BGP nos roteadores do Cloud Router gerenciando as VLANs, os pacotes enviados de sistemas locais para os endpoints serão roteados nas VLANs que usam ECMP.

    Figura 2. Ao configurar o Private Service Connect, o Cloud Router e os hosts locais, é possível controlar qual anexo da VLAN é usado para enviar tráfego às APIs do Google (clique para ampliar).

Preços

Os preços do Private Service Connect são descritos na página de preços da VPC.

Cotas

O número de endpoints do Private Service Connect que pode ser criado para acesso às APIs do Google é controlado pela cota PSC Google APIs Forwarding Rules per VPC Network. Para mais informações, consulte Cotas.

Restrições da política da organização

Um administrador de política da organização pode usar a restrição constraints/compute.disablePrivateServiceConnectCreationForConsumers para definir o conjunto de tipos de endpoints para os quais os usuários não podem criar regras de encaminhamento.

Para informações sobre como criar uma política da organização que use essa restrição, consulte Impedir que os consumidores implantem endpoints por tipo de conexão.

A seguir