Configurar o acesso à rede particular

Nesta página, descrevemos como configurar o acesso à rede privada e rotear o tráfego em uma rede Google Cloud .

Para configurar o acesso à rede privada, configure três projetos:

  • Um projeto que contém uma rede de nuvem privada virtual (VPC) a ser usada pela instância de máquina virtual (VM) ou pelo balanceador de carga interno de destino.
  • Um projeto que atua como um projeto de serviço do Diretório de serviços.
  • Um projeto para um produto Google Cloud com a configuração que invoca o acesso à rede particular. Um exemplo de produto Google Cloud que pode chamar endpoints usando o acesso à rede privada é o Dialogflow CX.

Os artefatos dos projetos podem estar no mesmo projeto ou em projetos diferentes.

Antes de começar

Antes de configurar o acesso à rede privada, siga estas etapas:

  • Para cada projeto, no console do Google Cloud , na página APIs e serviços, clique em Ativar APIs e serviços para ativar as APIs que você quer usar e que ainda não estão ativadas, incluindo a API Service Directory.

  • Para vincular sua rede VPC a hosts locais, crie um túnel do Cloud VPN ou uma conexão do Cloud Interconnect.

  • Verifique se o projeto Google Cloud está dentro do perímetro do VPC Service Controls dos projetos de rede e do Diretório de serviços paraservicedirectory.googleapis.com.

    Saiba mais sobre o VPC Service Controls.

Configurar o projeto para a rede VPC

Para configurar o projeto para a rede VPC, siga estas etapas:

  1. Crie uma rede VPC ou selecione uma rede VPC que tenha uma sub-rede somente IPv4 ou de pilha dupla na região que você quer usar. Redes legadas não são compatíveis.

  2. Crie as regras de firewall de entrada necessárias.

    • Se o destino for uma VM ou um balanceador de carga de rede de passagem interna, as regras de firewall precisarão permitir o tráfego TCP do intervalo 35.199.192.0/19 para as portas usadas pelo software em execução nas instâncias de VM de destino.

    • Se o destino for um balanceador de carga de aplicativo interno ou um balanceador de carga de rede de proxy interno, as regras de firewall da VPC e as políticas hierárquicas de firewall não controlam quais protocolos e portas são aceitos pelo balanceador de carga. Para o balanceador de carga de aplicativo interno, uma política de segurança do Google Cloud Armor pode ser usada para restringir o acesso ao balanceador de carga.

    Para mais informações sobre o intervalo 35.199.192.0/19, consulte Caminhos para o Cloud DNS e o Service Directory.

  3. Conceda o papel de serviço autorizado do Private Service Connect do Identity and Access Management (IAM) (roles/servicedirectory.pscAuthorizedService) ao agente de serviço do produto Google Cloud que vai chamar o endpoint.

    Para mais informações sobre papéis e permissões, consulte Permissões e papéis do Service Directory.

Configurar o projeto do Diretório de serviços

Para configurar o projeto do Diretório de serviços, siga estas etapas:

  1. Na rede VPC, crie uma VM ou um balanceador de carga interno.

  2. Conceda o papel de leitor do Service Directory do IAM (roles/servicedirectory.viewer) ao agente de serviço do produtoGoogle Cloud que vai chamar o endpoint.

  3. Crie um namespace e um Diretório de serviços Directory. Em seguida, crie um endpoint para esse serviço seguindo as etapas na próxima seção.

Criar um endpoint com acesso à rede particular

Para criar um endpoint com acesso à rede privada configurado, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Namespaces do Service Directory. Acessar Diretório de serviços Directory
  2. Clique em um namespace.
  3. Clique em um serviço.
  4. Clique em Adicionar endpoint.
  5. Em Nome da conexão, digite um nome para o endpoint.
  6. Em Endereço IP, insira um endereço IPv4, como 192.0.2.0.
  7. Em Porta, insira um número de porta, como 443 ou 80.
  8. Para ativar o acesso à rede privada, em Rede VPC associada, selecione a opção necessária:
    • Para escolher em uma lista de redes disponíveis, clique em Escolher na lista e selecione a rede.
    • Para especificar um projeto e uma rede, clique em Especificar usando nomes de projeto e de rede e insira o número do projeto e o nome da rede.
  9. Clique em Criar.

gcloud

Use o comando gcloud service-directory endpoints create com o ID do projeto e o caminho da rede especificados.

gcloud 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
  • PORT_NUMBER: as portas em que os endpoints estão sendo executados, normalmente 443 ou 80.
  • NETWORK_PATH: o URL da rede, como projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

Configurar o projeto do produto Google Cloud

Para configurar o projeto do produto Google Cloud , siga estas etapas:

  1. Ative a API do produto Google Cloud .

  2. Configure seu produto Google Cloud para chamar o serviço do Diretório de Serviços que você criou. As etapas necessárias dependem do produtoGoogle Cloud específico.

Casos de uso

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

Chamar um endpoint HTTP quando uma rede VPC, uma VM e o Diretório de serviços estão no mesmo projeto

Neste caso de uso, você configura o Dialogflow CX, um produto Google Cloud para processamento de linguagem natural, para chamar um endpoint HTTP na sua VM. Ao chamar o endpoint, verifique se o tráfego não passa pela Internet pública.

Neste caso de uso, você vai criar os seguintes artefatos no mesmo projeto:

  • Uma rede VPC
  • Uma VM
  • Um serviço do Diretório de serviços
  • Dialogflow CX

A Figura 1 mostra como permitir que uma configuração de serviço do Google de um projeto faça saída para uma VM. A VM reside em uma rede VPC do projeto.

Permite que uma configuração de serviço do Google de um projeto faça egress para uma VM de projeto de rede.
Figura 1. Permita que uma configuração de serviço do Google de um projeto faça egresso para uma VM (clique para ampliar).

Configurar sua rede e a rede de destino

  1. Crie um projeto, como myproject.
  2. Crie uma rede VPC, como vpc-1.

    Ao criar a rede VPC, em Modo de criação da sub-rede, selecione Automático.

  3. Crie uma regra de firewall, como firewall-1.

    Ao criar a regra de firewall, insira ou selecione os seguintes valores:

    • Em Rede, selecione vpc-1.
    • Em Intervalos IPv4 de origem, insira 35.199.192.0/19.
    • Em Protocolos e portas, selecione TCP e insira 443 ou 80.
  4. Na região us-central1, crie uma VM, como vm-1.

    Ao criar a VM, insira ou selecione os seguintes valores:

    • Em Rede > Interfaces de rede, selecione vpc-1.
    • Em Firewall, selecione Permitir tráfego HTTP.

    Se você quiser usar HTTPS, selecione Permitir tráfego HTTPS. Além disso, instale um certificado de Transport Layer Security (TLS) da infraestrutura de chave pública (PKI).

  5. Na região us-central1, crie um namespace, como namespace-1.

  6. No namespace, registre um serviço do Diretório de serviços, como sd-1.

  7. Crie um endpoint em sd-1. Para o endereço do endpoint, use o endereço IP interno de vm-1 na porta 443. Para mais informações, consulte Criar um endpoint com acesso à rede particular.

  8. Conceda os seguintes papéis do IAM ao agente de serviço do produto Google Cloud que vai chamar o endpoint:

    • Papel Leitor do Service Directory (roles/servicedirectory.viewer)
    • Papel de serviço autorizado do Private Service Connect (roles/servicedirectory.pscAuthorizedService)
  9. Opcional: se você quiser adicionar mais VMs, configure outra VM, como vm-2, e adicione o endpoint dela, como endpoint-2.

Configurar um Google Cloud produto

  1. Configure uma Google Cloud configuração de produto, como " Cloud Scheduler, me ligue a cada minuto".
  2. Configure uma solicitação HTTP.
  3. Especifique que as solicitações devem passar por redes particulares, como sd-1.
  4. Opcional: configure as configurações do Certificate Authority Service.

O produto Google Cloud agora pode invocar a solicitação HTTP usando sd-1.

Chamar um endpoint HTTP quando uma rede VPC compartilhada, uma VM e o Diretório de serviços estão em projetos diferentes

Neste caso de uso, você configura o Dialogflow CX, um serviço Google Cloud para processamento de linguagem natural, para chamar um endpoint HTTP na sua VM. Ao chamar o endpoint, verifique se o tráfego não passa pela Internet pública.

Neste caso de uso, você vai criar os seguintes artefatos em projetos diferentes:

  • uma rede VPC compartilhada;
  • Uma VM
  • Um serviço do Diretório de serviços
  • Dialogflow CX

Antes de criar os projetos, observe o seguinte:

  • Verifique se a invocação da API respeita o perímetro do VPC Service Controls.
  • Verifique se a configuração do projeto de serviço Google Cloud permite o tráfego de saída para uma VM que reside no projeto da rede VPC.
  • O projeto do produtor pode não ser o mesmo que o projeto do serviço Google Cloud .
  • Verifique se os perímetros do VPC Service Controls dos dois projetos estão sendo usados.
  • O projeto do Service Directory e o projeto de rede não precisam estar conectados, mas ambos precisam fazer parte do mesmo VPC Service Controls.
  • Na rede e no serviço, o firewall e o IAM são desativados por padrão.

A Figura 2 mostra como enviar tráfego usando o acesso à rede privada com perímetros do VPC Service Controls aplicados.

Envie tráfego usando o acesso à rede particular com perímetros do VPC Service Controls aplicados.
Figura 2. Envie tráfego usando o acesso à rede particular com perímetros do VPC Service Controls aplicados (clique para ampliar).

Configurar o projeto de rede

  1. Crie um projeto, como my-vpc-project.
  2. Crie uma rede VPC, como vpc-1.

    Ao criar a rede VPC, em Modo de criação da sub-rede, selecione Automático.

  3. Crie uma regra de firewall, como firewall-1.

    Ao criar a regra, insira ou selecione os seguintes valores:

    • Em Rede, selecione vpc-1.
    • Em Intervalos IPv4 de origem, insira 35.199.192.0/19.
    • Em Protocolos e portas, selecione TCP e insira 443 ou 80.
  4. Na região us-central1, crie uma VM, como vm-1.

    Ao criar a VM, insira ou selecione os seguintes valores:

    • Em Rede > Interfaces de rede, selecione vpc-1.
    • Em Firewall, selecione Permitir tráfego HTTP.

    Se você quiser usar HTTPS, selecione Permitir tráfego HTTPS. Além disso, instale um certificado de Transport Layer Security (TLS) da infraestrutura de chave pública (PKI).

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

Configurar o projeto do Diretório de serviços

  1. Crie um projeto, como my-sd-project.

  2. Você precisa de uma permissão extra do IAM porque o projeto da rede VPC e o projeto do Diretório de serviços são diferentes.

    No projeto de rede, conceda o papel de Anexador de rede do diretório de serviços (roles/servicedirectory.networkAttacher) ao principal do IAM que cria o endpoint do Diretório de serviços.

  3. Crie um endpoint do Diretório de serviços que aponte para a VM na rede VPC:

    1. Na região us-central1, crie um namespace, como namespace-1.
    2. No namespace, registre um serviço do Diretório de serviços, como sd-1.
    3. Crie um endpoint em sd-1. Para o endereço do endpoint, use o endereço IP interno de vm-1 na porta 443. Para mais informações, consulte Criar um endpoint com acesso à rede particular.
  4. Conceda os seguintes papéis do IAM ao agente de serviço do produto Google Cloud que vai chamar o endpoint:

    • Papel de Leitor do Service Directory (roles/servicedirectory.viewer) no projeto do Diretório de serviços
    • Função de serviço autorizado do Private Service Connect (roles/servicedirectory.pscAuthorizedService) no projeto de rede

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

Configurar o projeto de serviço Google Cloud

  1. Ative a API para o serviçoGoogle Cloud que você está usando, se ela ainda não estiver ativada.
  2. Para configurar o serviço Google Cloud PUSH, use o serviço do Diretório de serviços no projeto do Diretório de serviços.

Se você estiver usando o VPC Service Controls, o perímetro dele permitirá que Diretório de serviços se conecte ao projeto de rede e ao projeto do Diretório de serviços.

Usar o acesso à rede privada do Service Directory com o Dialogflow

Para instruções sobre como usar o acesso à rede privada do Diretório de serviços com o Dialogflow, consulte Usar o Service Directory para acesso à rede privada.

A seguir