Opções de acesso privado para serviços

O Google Cloud oferece várias opções de acesso particular. Cada opção permite que instâncias de máquina virtual (VM) com endereços IP internos alcancem determinadas APIs e serviços. Escolha uma opção que seja compatível com as APIs e os serviços que você precisa acessar.

A tabela a seguir resume cada opção, e você pode configurar apenas uma ou todas elas. Observe que cada uma funciona de forma independente.

Opção Clientes Conexão Serviços compatíveis Uso
Acesso privado do Google
Instâncias de VM do Google Cloud sem endereços IP externos. Conecte-se aos endereços IP externos padrão ou aos domínios e VIPs do Acesso privado do Google para obter APIs e serviços do Google através do gateway de Internet padrão da rede da nuvem privada virtual (VPC). Compatível com a maioria dos serviços e das APIs do Google. E também com o acesso a aplicativos do App Engine. Use essa opção para se conectar a serviços e APIs do Google sem fornecer endereços IP externos a recursos do Google Cloud.
Acesso privado do Google para hosts locais
Hosts locais com ou sem endereços IP externos. Conecte-se a serviços e APIs do Google pela rede local por meio do Cloud Interconnect ou de um túnel do Cloud VPN usando um dos VIPs e domínios específicos de acesso particular do Google. Os serviços do Google que podem ser acessados dependem do domínio específico de acesso particular do Google que você usa. Use essa opção para se conectar a serviços e APIs do Google por meio de uma rede VPC. Este método não exige que os hosts locais tenham endereços IP externos.
Acesso privado a serviços
Instâncias de VM do Google Cloud com ou sem endereços IP externos. Conecte-se a uma rede VPC gerenciada por terceiros ou pelo Google por meio de uma conexão de peering de redes VPC. Compatível com alguns serviços do Google ou de terceiros Use essa opção para se conectar a serviços específicos do Google e de terceiros sem atribuir endereços IP externos ao Google Cloud e a recursos do Google ou de terceiros.
Acesso VPC sem servidor
Instâncias de VM do Google Cloud com ou sem endereços IP externos. Conecte-se diretamente dos serviços do Google sem servidor por meio de uma conexão com a VPC interna. Cloud Run (totalmente gerenciado), ambiente padrão do App Engine e Cloud Functions Use essa opção para se conectar de um ambiente sem servidor no Google Cloud diretamente a recursos em uma rede VPC com endereços IP internos.

Acesso privado do Google

Instâncias de VM que só têm endereços IP internos, ou seja, que não têm endereços IP externos, podem usar o Acesso privado do Google. Elas podem acessar os endereços IP externos de serviços e APIs do Google. O endereço IP de origem do pacote pode ser o endereço IP interno principal da interface de rede ou um endereço em um intervalo de IPs de alias atribuído à interface. Se você desativar o Acesso privado do Google, as instâncias de VM não poderão mais acessar serviços e APIs do Google; elas só poderão enviar tráfego dentro da rede VPC.

O Acesso privado do Google não afeta as instâncias com endereços IP externos. Instâncias com endereços IP externos podem acessar a Internet, de acordo com os requisitos de acesso à Internet. Elas não precisam de uma configuração especial para fazer solicitações aos endereços IP externos de serviços e APIs do Google.

O Acesso privado do Google é ativado por sub-rede e é uma configuração para sub-redes em uma rede VPC. Para ativar o Acesso privado do Google em uma sub-rede e ver os requisitos, consulte Como configurar o Acesso privado do Google.

Serviços compatíveis

O Acesso privado do Google permite acesso às APIs do Cloud e de desenvolvedor, bem como à maioria dos serviços do Google Cloud, exceto:

  • Memcache do App Engine
  • Filestore
  • Memorystore

Em vez disso, o acesso de serviços privados pode ser compatível com um ou mais deles.

Exemplo

A rede VPC no exemplo a seguir atende ao requisito de roteamento do Acesso privado do Google porque tem rotas para os endereços IP externos das APIs e serviços do Google, dos quais os próximos saltos são o gateway de Internet padrão. O Acesso privado do Google está ativado para subnet-a, mas não para subnet-b.

Implementação do Acesso privado do Google (clique para ampliar)

A lista a seguir fornece detalhes sobre o diagrama acima:

  • As regras de firewall na rede VPC foram configuradas para permitir a saída para 0.0.0.0/0 (ou pelo menos para os IPs de servidor para serviços e APIs do Google).
  • VM A1 pode acessar serviços e APIs do Google, inclusive o Cloud Storage, porque sua interface de rede está localizada em subnet-a, que tem o Acesso privado do Google ativado. Esse tipo de acesso se aplica à instância porque ela tem apenas um endereço IP interno.
  • VM B1 não pode acessar serviços APIs e do Google porque ele tem apenas um endereço IP interno e o Acesso privado do Google está desativado para subnet-b.
  • VM A2 e VM B2 podem acessar serviços e APIs do Google, inclusive o Cloud Storage, porque cada um deles tem endereços IP externos. O Acesso privado do Google não determina se essas instâncias podem ou não acessar serviços e APIs do Google porque ambas têm endereços IP externos.

Acesso privado do Google para hosts locais

Hosts locais podem acessar serviços e APIs do Google usando o Cloud VPN ou o Cloud Interconnect da rede local até o Google Cloud. Hosts locais podem enviar tráfego dos seguintes tipos de endereços IP de origem:

  • Um endereço IP privado, como um endereço RFC 1918
  • Um endereço IP público de uso privado, exceto um endereço IP público do Google (O Acesso privado do Google para hosts locais não é compatível com a reutilização de endereços IP públicos do Google como origens na rede local.)

Para ativar o Acesso privado do Google para hosts locais, você precisa configurar o DNS, as regras de firewall e as rotas nas suas redes locais e VPC. Você não precisa ativar o Acesso privado do Google para qualquer sub-rede na sua rede VPC, como faria para o Acesso privado do Google para instâncias de VM do Google Cloud.

Hosts locais precisam se conectar aos serviços e às APIs do Google usando os endereços IP virtuais (VIPs) de um destes domínios: restricted.googleapis.com ou private.googleapis.com. Consulte VIPs e domínios específicos de Acesso privado do Google para mais detalhes.

O Google divulga publicamente os registros A de DNS que resolvem os domínios para um intervalo de VIPs. Mesmo que os intervalos tenham endereços IP externos, o Google não divulga rotas para eles. Portanto, você deve adicionar uma divulgação de rota personalizada em um Cloud Router e ter uma rota estática personalizada apropriada em sua rede VPC para o destino do VIP.

A rota deve ter um destino correspondente a um dos intervalos de VIPs e ter o gateway de Internet padrão como próximo salto. O tráfego enviado para o intervalo de VIPs permanece dentro da rede do Google em vez de passar pela Internet pública porque o Google não divulga rotas para eles externamente.

Para informações sobre configuração, consulte Como configurar o Acesso privado do Google para hosts locais.

VIPs e domínios específicos de Acesso privado do Google

A tabela a seguir descreve os nomes de domínio e seu intervalo de VIPs. Você precisa usar um desses VIPs para o acesso privado do Google para hosts locais.

Intervalos de domínios e endereços IP Serviços compatíveis Exemplo de uso
Domínios padrão

Todos os nomes de domínio para APIs e serviços do Google exceto para private.googleapis.com e restricted.googleapis.com.

Vários intervalos de endereços IP: é possível determinar um conjunto de intervalos de IP que contenha os possíveis endereços usados pelos domínios padrão consultando os endereços IP de domínios padrão
Permite o acesso da API à maioria das APIs e serviços do Google, independentemente de serem compatíveis com o VPC Service Controls. Inclui acesso da API ao Google Maps, Google Ads, Google Cloud Platform e à maioria das APIs do Google que têm nomes terminados em googleapis.com. Não é compatível com aplicativos da Web do Google Workspace. Os domínios padrão são usados quando você não configura registros DNS para private.googleapis.com e restricted.googleapis.com
private.googleapis.com

199.36.153.8/30
Permite o acesso da API à maioria das APIs e serviços do Google, independentemente de serem compatíveis com o VPC Service Controls. Inclui acesso da API ao Google Ads, Google Cloud Platform e à maioria das outras APIs Google, incluindo as listas abaixo. Não é compatível com aplicativos da Web do Google Workspace.

Nomes de domínio que terminam com:
  • googleapis.com
  • googleadapis.com
  • ltsapis.goog
  • gcr.io
  • gstatic.com
  • appspot.com
  • cloudfunctions.net
  • pki.goog
  • cloudproxy.app
  • run.app
  • datafusion.googleusercontent.com
  • datafusion.cloud.google.com
Nomes de host/domínio correspondentes:
  • packages.cloud.google.com
  • gcr.io
  • appengine.google.com
  • pki.goog
Use private.googleapis.com para acessar APIs e serviços do Google usando um conjunto de endereços IP somente roteáveis do Google Cloud. Escolha private.googleapis.com 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.
restricted.googleapis.com

199.36.153.4/30
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 aplicativos da Web do Google Workspace ou com APIs do Google Workspace.
Use restricted.googleapis.com para acessar APIs e serviços do Google usando um conjunto de endereços IP roteáveis somente no Google Cloud. Escolha restricted.googleapis.com quando você precisar de acesso a APIs e serviços do Google compatíveis com o VPC Service Controls. O restricted.googleapis.com não permite acesso a APIs e serviços do Google que não são compatíveis com o VPC Service Controls.

Serviços compatíveis

Os serviços disponíveis para hosts locais são limitados àqueles compatíveis com o nome de domínio e VIP usados para acessá-los. Consulte VIPs e domínios específicos de acesso particular do Google para detalhes.

Exemplo

No exemplo a seguir, a rede local é conectada a uma rede VPC por meio de um túnel do Cloud VPN. O tráfego de hosts locais para as APIs do Google viaja pelo túnel até a rede VPC. Depois que o tráfego atinge essa rede, ele é enviado por meio de uma rota que usa o gateway de Internet padrão como próximo salto. Esse próximo salto permite que o tráfego deixe a rede VPC e seja entregue a restricted.googleapis.com (199.36.153.4/30).

Acesso privado do Google para caso de uso de nuvem híbrida (clique para ampliar)
  • A configuração de DNS local mapeia as solicitações *.googleapis.com para restricted.googleapis.com, que são resolvidas para 199.36.153.4/30.
  • O Cloud Router foi configurado para divulgar o intervalo de endereços IP 199.36.153.4/30 por meio do túnel do Cloud VPN usando uma divulgação de rota personalizada. O tráfego encaminhado para as APIs do Google é roteado pelo túnel até a rede VPC.
  • Uma rota estática personalizada foi adicionada à rede VPC, que direciona o tráfego com o destino 199.36.153.4/30 para o gateway padrão da Internet (como o próximo salto). O Google então o direciona para a API ou o serviço apropriado.
  • Se você criou uma zona privada gerenciada do Cloud DNS para *.googleapis.com mapeada para 199.36.153.4/30 e autorizou que ela fosse usada pela rede VPC, as solicitações para qualquer coisa no domínio googleapis.com são enviadas para os endereços IP usados por restricted.googleapis.com. Somente as APIs compatíveis são acessíveis com essa configuração, o que pode tornar outros serviços inacessíveis. O Cloud DNS não aceita modificações parciais. Se você precisar de modificações parciais, utilize o BIND.

Acesso privado a serviços

O Google e terceiros, conhecidos conjuntamente como fornecedores de serviços, podem oferecer serviços com endereços IP internos hospedados em uma rede VPC. O Acesso privado a serviços permite que você acesse esses endereços IP internos. Isso é útil quando você quer que as instâncias de VM na sua rede VPC utilizem endereços IP internos em vez de endereços IP externos. Para detalhes sobre como usar o acesso particular a serviços, consulte Como configurar o Acesso privado a serviços.

O Acesso privado a serviços exige que você primeiro aloque um intervalo de endereços IP internos e crie uma conexão particular. Um intervalo alocado é um bloco CIDR reservado que não pode ser usado na sua rede VPC local. Ele é reservado apenas para fornecedores de serviços e evita sobreposições entre sua rede VPC e a rede VPC do fornecedor de serviços. Quando você cria uma conexão particular, precisa especificar uma alocação.

A conexão particular vincula sua rede VPC à rede VPC do produtor de serviços. Essa conexão permite que instâncias de VM na sua rede VPC utilizem endereços IP internos para acessar os recursos de serviço que têm endereços IP internos. As instâncias podem ter endereços IP externos, mas isso não é um requisito nem são usados pelo Acesso privado a serviços.

Se um produtor de serviços oferecer vários serviços, você precisará apenas de uma conexão particular. Você usa a API Service Networking quando cria uma conexão particular. No entanto, o Google Cloud implementa essa conexão como uma conexão de Peering de redes VPC entre sua rede VPC e a rede VPC do fornecedor de serviços. Por exemplo, sua rede VPC a mostra como uma conexão de peering e, para excluir a conexão particular, é preciso excluir a conexão de peering.

Use o Acesso privado a serviços apenas com serviços compatíveis. Confira com o produtor de serviços antes de criar uma conexão particular.

Rede do produtor de serviços

No lado do produtor de serviços, a conexão particular é uma rede VPC em que os recursos de serviço são provisionados. A rede do produtor de serviços é criada exclusivamente para você e contém apenas os seus recursos.

Um recurso na rede do produtor de serviços é semelhante a outro recurso na sua rede VPC. Por exemplo, pode ser acessado com endereços IP internos por outros recursos na sua rede VPC. É possível também criar regras de firewall em sua rede VPC para controlar o acesso à rede do fornecedor de serviços.

Para detalhes sobre o lado do produtor de serviços, consulte Como ativar o Acesso privado a serviços na documentação do Service Infrastructure. Essa documentação é apenas informativa e não é necessária para ativar ou usar o Acesso privado a serviços.

Acesso privado a serviços e conectividade no local

Em cenários de rede híbrida, uma rede local é conectada a uma rede VPC por meio de uma conexão com o Cloud VPN ou o Cloud Interconnect. Por padrão, os hosts locais não podem acessar a rede do produtor de serviços usando o acesso privado a serviços.

Na rede VPC, é possível ter rotas personalizadas dinâmicas ou estáticas para direcionar corretamente o tráfego para a rede local. No entanto, a rede do produtor de serviços não contém essas mesmas rotas. Quando você cria uma conexão particular, a rede VPC e a rede do produtor de serviços apenas trocam rotas de sub-rede.

Exporte as rotas personalizadas da rede VPC para que a rede do produtor de serviços possa importá-las e rotear o tráfego corretamente para sua rede local.

Para exportar rotas personalizadas, crie uma conexão particular e modifique a configuração subjacente de peering de VPC para exportar rotas personalizadas. Para mais informações sobre como criar uma conexão particular, consulte Como configurar o Acesso privado a serviços. Para mais informações sobre como exportar rotas personalizadas, consulte Como atualizar uma conexão de peering.

Serviços compatíveis

Os seguintes serviços do Google são compatíveis com o Acesso privado a serviços:

Exemplo

No exemplo a seguir, a rede VPC do cliente alocou o intervalo de endereços 10.240.0.0/16 para serviços do Google e estabeleceu uma conexão particular que usa o intervalo alocado. Cada serviço do Google cria uma sub-rede a partir do bloco alocado para provisionar novos recursos em uma determinada região, como instâncias do Cloud SQL.

Acesso privado a serviços (clique para ampliar)
  • A conexão particular é atribuída ao intervalo alocado 10.240.0.0/16. A partir dessa alocação, os serviços do Google podem criar sub-redes em que novos recursos serão provisionados.
  • No lado de serviços do Google da conexão particular, o Google cria um projeto para o cliente. O projeto é isolado, o que significa que ele não é compartilhado com nenhum outro cliente e o cliente é cobrado apenas pelos recursos fornecidos.
  • Cada serviço do Google cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede geralmente é um bloco CIDR /24 escolhido pelo serviço e proveniente do intervalo de endereços IP alocado. Não é possível modificar a sub-rede do produtor de serviços. Um serviço provisiona novos recursos nas sub-redes regionais atuais que foram criadas anteriormente por esse serviço. Se uma sub-rede estiver cheia, o serviço criará uma nova sub-rede na mesma região.
  • As instâncias de VM na rede do cliente podem acessar recursos de serviço em qualquer região quando o serviço é compatível. No entanto, alguns serviços podem não aceitar a comunicação entre regiões. Por exemplo, as instâncias de VM só podem se comunicar com instâncias do Cloud SQL que estejam na mesma região. Para mais informações, consulte a documentação do serviço relevante.
  • Quando uma instância de VM se comunica com recursos de uma região diferente, os custos de saída para tráfego entre regiões continuam sendo aplicáveis.
  • A instância do Cloud SQL recebe o endereço IP 10.240.0.2. Na rede VPC do cliente, as solicitações com o destino 10.240.0.2 são roteadas para a conexão particular pela rede do produtor de serviços. Quando elas alcançam a rede do serviço, essa rede encaminha a solicitação para o recurso correto.
  • O tráfego entre redes VPC é transmitido internamente na rede do Google, e não pela Internet pública.

Acesso VPC sem servidor

O acesso VPC sem servidor permite se conectar de um ambiente sem servidor no Google Cloud diretamente à sua rede VPC. Essa conexão permite que o ambiente sem servidor acesse recursos na sua rede VPC através de endereços IP internos.

Com o acesso VPC sem servidor, você cria um conector no seu projeto do Google Cloud e o anexa a uma rede VPC. Em seguida, configure os serviços sem servidor (como serviços do Cloud Run, aplicativos do App Engine ou Cloud Functions) para usar o conector para o tráfego de rede interno.

O acesso VPC sem servidor só permite que as solicitações sejam iniciadas pelo ambiente sem servidor. Solicitações iniciadas por uma VM devem usar o endereço externo do serviço sem servidor. Consulte Acesso privado do Google para mais informações.

O acesso VPC sem servidor não é compatível com redes legadas. Para mais informações, consulte Como configurar o Acesso VPC sem servidor.

Serviços compatíveis

Os seguintes serviços do Google são compatíveis com conectores de Acesso VPC sem servidor:

  • Cloud Run (totalmente gerenciado)
  • Ambiente padrão do App Engine
    • Todos os ambientes de execução, exceto PHP 5
  • Cloud Functions

Exemplo

No exemplo a seguir, o App Engine, o Cloud Functions e o Cloud Run usam um conector de acesso VPC sem servidor para enviar solicitações a recursos internos na rede VPC.

Exemplo de Acesso VPC sem servidor (clique para ampliar)
Exemplo de Acesso VPC sem servidor (clique para ampliar)
  • O conector de acesso VPC sem servidor e os serviços sem servidor dividem o mesmo projeto e região.
  • O conector está anexado à rede VPC que contém os recursos de destino. Ele poderá acessar recursos em outras redes VPC e projetos do Google Cloud se o peering de redes VPC for usado.
  • O conector recebe o intervalo de IPs 10.8.0.0/28. As solicitações enviadas do conector para o destino têm um endereço IP de origem nesse intervalo.
  • O App Engine, o Cloud Functions e o Cloud Run alcançam os recursos de destino com o envio de solicitações para os endereços IP internos, 10.0.0.4 e 10.1.0.2. Os recursos de destino podem estar em qualquer região. Os custos de saída se aplicam ao tráfego enviado do conector para um recurso em uma região diferente.
  • As solicitações enviadas dos ambientes sem servidor para endereços IP internos são transmitidas internamente pelo conector de acesso VPC sem servidor para o recurso de destino. As solicitações enviadas para endereços IP externos são transmitidas pela Internet.

A seguir