Como configurar o acesso à rede privada

Para configurar o acesso à rede particular para que o tráfego seja executado em uma rede do Google Cloud, configure o projeto que possui a rede VPC, o projeto do Diretório de serviços e o projeto de serviço do Google Cloud que você está usando. Esses três projetos podem ser os mesmos ou separados.

  • Projeto de rede é o projeto da rede VPC.
  • Projeto Directory do serviço é o projeto do serviço do Diretório de serviços. Ele pode ser um projeto de serviço na rede VPC compartilhada do projeto de rede.
  • Projeto de serviço do Google Cloud é o projeto com a configuração que está invocando o acesso à rede privada. Por exemplo, uma configuração de serviço do Google Cloud.

Antes de começar

Este procedimento pressupõe que você tenha concluído as etapas a seguir.

  • Ative as APIs que você quer acessar na página de APIs e serviços do Console do Google Cloud, incluindo a API do diretório de serviços.
  • As instâncias de VM em uma rede VPC precisam ter um endereço IP privado.
  • Para hosts locais, você deve ter um túnel existente do Cloud VPN ou uma conexão do Cloud Interconnect com sua rede VPC.

Como configurar o projeto de rede

Siga estas etapas para configurar o projeto de rede.

  1. Crie ou use uma rede VPC atual. Redes VPC de modo automático e personalizado são compatíveis. Redes legadas não.
  2. Se o destino de destino for uma VM do Compute Engine ou um back-end do balanceador de carga interno, você precisará permitir a entrada por meio do firewall da VPC para acesso à rede particular. Os destinos precisam permitir a entrada TCP de 35.199.192.0/19 na porta apropriada (porta 443 ou 80).

  3. Conceda à rede de serviços de gerenciamento de identidade e acesso (IAM, na sigla em inglês) o acesso ao projeto de serviço do Google Cloud. O projeto do Google Cloud precisa estar no perímetro do VPC Service Controls do serviço do Google Cloud e do projeto do Diretório de serviços para servicedirectory.googleapis.com.

    Para saber mais sobre o VPC Service Controls, consulte a Visão geral do VPC Service Controls.

Como configurar o projeto do Diretório de serviços

Siga estas etapas para configurar o projeto do Diretório de serviços.

  1. Crie uma máquina virtual (VM, na sigla em inglês) ou um balanceador de carga interno na rede VPC.
  2. Crie um serviço de diretório de serviços apontando para a VM ou balanceador de carga interno que você criou na rede VPC.
  3. Conceda à rede de serviços de IAM acesso à conta de serviço do Google Cloud. Para mais informações sobre papéis e permissões, consulte Permissões e papéis do diretório de serviço.

Como criar um endpoint com acesso a redes privadas

Para criar um endpoint com acesso à rede particular configurado, faça o seguinte.

Console

  1. Acesse a página "Namespaces" do Diretório de serviços no Console do Google Cloud.
    Acessar a página "Namespaces do diretório de serviços"
  2. Clique em um namespace.
  3. Clique em um serviço.
  4. Clique em e em Adicionar endpoint.
  5. Digite um nome de endpoint.
  6. Digite um endereço IP IPv4, como 192.0.2.0/24.
  7. Digite um número de Porta, como 443 ou 80.
  8. Para ativar o acesso à rede privada, clique em Escolher na lista para escolher uma opção de uma lista de redes disponíveis em Rede VPC associada.
  9. Também é possível fornecer um ID de projeto específico e o nome da rede escolhendo Especificar por projeto e nome de rede.
  10. Clique em Criar.

gcloud

Execute o comando gcloud beta service-directory endpoints create com o ID do projeto e o caminho da rede especificado.

gcloud beta service-directory endpoints create ENDPOINT_NAME
    --project=PROJECT_ID \
    --location=REGION \
    --namespace=NAMESPACE_NAME \
    --service=SERVICE_ID \
    --address=IP_ADDRESS \
    --port=PORT_NUMBER \
    --network=NETWORK_PATH

Substitua:

  • ENDPOINT_NAME: um nome para o endpoint que você está criando no seu serviço, como my-endpoint.
  • PROJECT_ID: o ID do projeto
  • REGION: a região do Google Cloud que contém o namespace
  • NAMESPACE_NAME: o nome que você deu ao namespace, como my-namespace
  • SERVICE_ID: o ID do serviço
  • IP_ADDRESS: o endereço IP do endpoint, como 192.0.2.0/24
  • PORT_NUMBER: as portas em que os endpoints estão sendo executados, normalmente 443 ou 80
  • NETWORK_PATH: o URL para a rede, como projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

Como configurar o projeto de serviço do Google Cloud

  1. Ative a API de serviço do Google Cloud.
  2. Configure o serviço do Google Cloud usando o serviço de diretório de serviços criado no projeto de rede.
  3. Se você estiver usando o VPC Service Controls, verifique se o perímetro do VPC Service Controls permite que o diretório de serviço acesse o projeto de rede e o projeto do Service Directory.

Casos de uso

Esta seção apresenta exemplos de casos de uso para configurar o acesso à rede privada.

Como chamar um endpoint de HTTP quando uma rede VPC, uma VM e um diretório de serviços estiverem no mesmo projeto

É possível configurar um produto do Google Cloud para chamar um endpoint HTTP na sua VM. Esse trânsito não pode ser transportado pela Internet pública.

Nesta configuração, você tem um projeto com uma rede VPC, uma VM, um serviço de diretório de serviços e o serviço do Google Cloud no mesmo projeto.

Como permitir que a configuração do serviço do Google de um projeto saia em uma VM de projeto de rede que reside em uma rede VPC de um projeto de serviço do Google Cloud
Como permitir que a configuração do serviço do Google de um projeto saia de uma VM de projeto de rede que reside em uma rede VPC de um projeto de serviço do Google Cloud (clique para ampliar)

Para configurar seu produto do Google Cloud usando o acesso privado à rede, siga estas etapas.

Configurar a rede e a rede de destino

  1. Crie um projeto, como my-project.
  2. Crie uma rede VPC, como VPC-1 (projects/project-number/locations/global/networks/my-network).
  3. Conceda acesso de proxy à entrada em VPC-1 ou à sub-rede ou VM.
  4. Permitir a entrada de 35.199.192.0/19.
  5. Crie VM-1 na região us-central1 em VPC-1.
  6. Configure-o para executar o serviço na porta P.
  7. Se você preferir usar HTTPS, instale um certificado de segurança de camada de transporte (ICP, na sigla em inglês) de infraestrutura pública.
  8. Crie um serviço de diretório de serviços SD-1 em REGION-1.
  9. Crie um endpoint em SD-1 com o endereço IP interno de VM-1=10.10.10.10, P=443 e network=projects/project-number/global/networks/my-network. Para instruções detalhadas, consulte Como criar um endpoint com acesso a rede privada configurado.
  10. Conceda à conta de serviço do Google Cloud os seguintes papéis do IAM:

    • servicedirectory.viewer
    • servicedirectory.pscAuthorizedService
  11. Opcionalmente, você pode configurar VM-2 e adicionar Endpoint-2.

Configurar um produto do Google Cloud

  1. Defina a configuração do produto do Google Cloud CONFIG-1, como "Cloud Scheduler, me chame a cada minuto".
  2. Configure uma solicitação HTTP.
  3. Especifique que a solicitação precisa vir por rede privada, como por meio de SD-1.
  4. (Opcional) Defina as configurações do serviço de autoridade de certificação.

Agora, o produto do Google Cloud pode invocar a solicitação HTTP usando SD-1.

Como chamar um endpoint de HTTP quando uma rede VPC, uma VM e um diretório de serviços estiverem em projetos diferentes

Nesta configuração de exemplo, você quer configurar um serviço do Google Cloud, como Events, Tasks ou Pub/Sub, para chamar um endpoint HTTP na sua VM. Neste exemplo, o projeto do Diretório de serviços, o projeto de rede e os projetos de serviço do Google Cloud são diferentes. Esse tráfego não pode estar conectado pela Internet pública. Como alternativa, essa invocação de API precisa respeitar o perímetro do VPC Service Controls.

Nesse caso, a configuração do projeto de serviço do Google Cloud permite a saída para uma VM de projeto de serviço do Google Cloud, que reside na rede VPC do projeto de rede.

O projeto de serviço do Google Cloud pode ser diferente do projeto produtor. Os perímetros do VPC Service Controls dos dois projetos são usados.

Como enviar tráfego usando o acesso particular à rede com os perímetros do VPC Service Controls aplicados
Como enviar tráfego usando o acesso privado à rede com os perímetros do VPC Service Controls aplicados (clique para ampliar)

Criar um projeto de rede

Verifique se você tem as seguintes permissões do IAM:

  • servicedirectory.services.resolve para o serviço de mensagens
  • servicedirectory.networks.access para a rede

Observações:

  • O projeto de serviço e o projeto de rede não precisam ser conectados, mas precisam fazer parte dos mesmos VPC Service Controls.
  • O firewall e o IAM ficam desativados por padrão na rede e no serviço.

Para criar o projeto de rede, siga estas etapas.

  1. Crie uma rede VPC, como VPC-1 (projects/project-number/locations/global/networks/my-network).
  2. Ative o firewall da rede VPC.

  3. Se estiver usando o VPC Service Controls, o perímetro do VPC Service Controls permitirá que o diretório de serviços se conecte ao projeto de serviço do Google Cloud e ao projeto do Service Directory.

Configurar o projeto no Diretório de serviços

  1. Crie uma VM ou um balanceador de carga interno na rede VPC.
  2. Crie um serviço de diretório de serviços que aponte para a VM ou o balanceador de carga interno na rede VPC.
  3. Conceda acesso service read do Diretório de serviços de IAM ao serviço de mensagens do projeto de serviço do Google Cloud.
  4. Se estiver usando o VPC Service Controls, o perímetro do VPC Service Controls permitirá que o diretório de serviços se conecte ao projeto de serviço do Google Cloud e ao projeto do Service Directory.

Configurar o projeto de serviço do Google Cloud

  1. Ative a API do serviço de mensagens que você está usando.
  2. Configure o serviço de mensagem PUSH usando o serviço Diretório de serviços do projeto do Diretório de serviços.
  3. Se estiver usando o VPC Service Controls, o perímetro do VPC Service Controls permitirá que o diretório de serviços se conecte ao projeto de rede e ao projeto do Service Directory.

A seguir