Como ativar o acesso a serviços privados

Como produtor de serviço, você permite que os consumidores de serviço provisionem recursos com endereços IP públicos ou privados (RFC 1918). Se os consumidores de serviço quiserem utilizar endereços IP particulares, precisarão usar o acesso a serviços privados, No entanto, os consumidores de serviço só podem usar o acesso de serviço particular se o serviço gerenciado o oferecer. Para oferecer conectividade particular, é preciso concluir o processo de integração uma única vez.

O processo de integração exige que você utilize unidades de locação e a API Service Networking. Para ver instruções detalhadas passo a passo, entre em contato com o representante do Google.

Visão geral

Nas seções a seguir, você conhecerá os componentes e a topologia geral de rede necessários para ativar o acesso a serviços privados do serviço gerenciado.

Unidades de locação

Quando um consumidor de serviço ativa o serviço gerenciado por você, o serviço cria uma unidade de locação para formalizar um relacionamento entre a organização do Google Cloud e o projeto do consumidor de serviço. As unidades de locação isolam recursos e custos de faturamento entre diferentes consumidores de serviço.

Você terá duas unidades de locação para cada consumidor de serviço: uma para o serviço gerenciado e outra para o serviço de gerenciamento de acesso particular. O serviço gerenciado é o serviço externo oferecido aos consumidores de serviço. Já o serviço de gerenciamento de acesso privado gerencia conexões particulares com redes VPC do consumidor de serviço. Essas unidades de locação devem estar na mesma organização do Google Cloud em que residir o serviço gerenciado.

Rede de serviços

O Service Networking automatiza a configuração da conectividade particular (usando peering de rede VPC) entre você e o consumidor de serviço. Você ativa e usa o Service Networking no mesmo projeto em que criou o serviço de gerenciamento de acesso privado. Esse é um projeto diferente daquele que contém o serviço gerenciado.

Quando um consumidor de serviço cria uma conexão particular com o serviço gerenciado, o Service Networking cria um projeto de host de VPC compartilhada e uma rede VPC compartilhada para você. O projeto e a rede host são criados em uma pasta predefinida do Google Cloud na organização. Especifique o nome dessa pasta como parte do processo de integração. Como o projeto e a rede estão contidos em uma unidade de locação, eles estão isolados e só podem ser usados por esse consumidor de serviço.

Depois de criar a rede VPC compartilhada, o Service Networking cria automaticamente uma conexão de peering de rede VPC entre a rede VPC compartilhada e a rede VPC especificada pelo consumidor de serviço.

Os consumidores de serviço também precisam fornecer um intervalo de endereços IP alocado ao criarem a conexão particular. Essa alocação reserva endereços IP que só podem ser usados por você, que é um produtor de serviço. Por exemplo, quando um consumidor de serviço provisiona um recurso, você usa o Service Networking para criar sub-redes na rede VPC compartilhada. No caso do intervalo de endereços IP da sub-rede, o Service Networking seleciona um intervalo automaticamente no intervalo alocado. Esse processo evita conflitos entre a rede VPC compartilhada e a rede VPC do consumidor de serviço.

Projetos de serviço de VPC compartilhada

Quando seu serviço provisiona um recurso do consumidor de serviço pela primeira vez, o serviço gerenciado o provisiona em um projeto de serviço de VPC compartilhada, que é anexado ao projeto de host do Service Networking. Essa relação com a VPC compartilhada permite que os recursos no projeto de serviço usem sub-redes na rede VPC compartilhada.

O serviço gerenciado cria o projeto de serviço em uma unidade de locação e em uma pasta predefinida, especificada durante o processo de integração. A pasta e a unidade de locação estão relacionadas ao serviço gerenciado e são diferentes das usadas pelo Service Networking.

Topologia de rede

O exemplo a seguir mostra um único consumidor de serviço que tem conectividade particular com um único produtor de serviço. O consumidor de serviço provisionou dois recursos em diferentes regiões. Como cada recurso está em uma região diferente, eles estão em sub-redes diferentes.

Visão geral da Service Networking para produtores de serviço (clique para ampliar)
  • Existem dois projetos do Endpoints: um para o serviço gerenciado e outro para o serviço de gerenciamento de acesso privado. Eles devem estar na mesma organização do Google Cloud.

  • Dentro da organização do Google Cloud, existem duas pastas, uma para cada um dos serviços do Endpoints. A pasta do serviço de gerenciamento de acesso privado contém um projeto de host VPC compartilhado para a conexão privada. A pasta do serviço gerenciado contém um projeto de serviço para recursos do consumidor de serviço.

    • Em cada pasta, os projetos relacionados ao consumidor de serviço estão contidos em unidades de locação Ambas as unidades de locação estão associadas a consumer-project-a.
  • Os consumidores de serviço precisam iniciar a conexão particular (que também é uma conexão de Peering de rede VPC). Eles têm que fornecer um intervalo de endereços IP alocado referente à conexão particular que gerou os endereços IP de sub-redes. Para mais informações sobre as etapas de consumidores de serviço, consulte Como configurar o acesso a serviços privados.

    • Se você oferece vários serviços, os consumidores de serviço só precisam de uma conexão particular. Todo o tráfego de entrada e saída do consumidor de serviço passa pelo projeto de host de VPC compartilhada.
  • Várias redes VPC podem se conectar de forma privada aos serviços em um único projeto de consumidor de serviço. Isso requer um projeto de host de VPC compartilhada para cada rede VPC conectada. No entanto, todos esses projetos podem estar contidos na mesma unidade de locação consumer-project-a.

  • No projeto de host, é necessário configurar regras de firewall e rotas para ativar a conectividade com novos recursos. Como outros serviços podem usar a mesma rede VPC compartilhada, essas regras podem permitir ou negar a conectividade entre os diferentes serviços.

Processo de integração

A lista a seguir é uma descrição geral do processo de integração. Você deve concluir esse processo para cada serviço gerenciado que oferecerá conectividade privada. Entre em contato com o representante do Google para mais informações.

  1. Crie um serviço de gerenciamento de peering.

    Trata-se de um serviço gerenciado que é criado por um produtor de serviço usando o Service Management e a API Endpoints. Para mais informações, entre em contato com o representante do Google.

  2. Forneça as seguintes informações de configuração ao representante do Google:

    • O intervalo mínimo de endereços IP que precisa ser alocado pelos consumidores de serviço durante a conexão, especificado como um tamanho de prefixo IPv4. Se você oferece vários serviços, convém que os usuários aloquem um intervalo de endereços IP maior, como /16.
    • O ID da pasta em que o serviço de gerenciamento de acesso privado cria projetos de host de VPC compartilhada. Use o Resource Manager para localizar o ID da pasta.
    • A conta de faturamento associada à organização em que o serviço de gerenciamento de acesso privado cria projetos de host de VPC compartilhada.
    • Os membros (geralmente IDs de contas de serviço) que gerenciam as regras de firewall de rede do projeto de host.
  3. Ative a API do Compute Engine.

    Para cada projeto de host de VPC compartilhada, ative a API compute.googleapis.com, que você pode fazer ao usar as APIs da Service Usage ou na configuração do projeto.

    Depois que os recursos tiverem sido provisionados, configure regras de firewall para a rede VPC compartilhada no projeto de host. Use a identidade fornecida durante o processo de integração para acessar a rede VPC. Caso você ofereça outros serviços, eles poderão usar a mesma rede VPC. Não crie regras que possam permitir ou negar inadvertidamente o tráfego para outros serviços.

  4. Informe os consumidores de serviço.

    Informe aos consumidores de serviço que eles precisam estabelecer uma conexão particular. Para mais informações, consulte Como configurar o acesso a serviços privados. É necessário que os consumidores de serviço forneçam as seguintes informações:

    • O nome do projeto deles e da rede em que querem estabelecer conectividade particular.
    • A região do Cloud em que o recurso precisa ser provisionado.

A seguir