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) de destino 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 Google Cloud produto com a configuração que invoca o acesso à rede privada. Um exemplo de um Google Cloud produto 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 Google Cloud console do, na página APIs e serviços, clique em Ativar APIs e serviços para ativar as APIs que você quer usar, 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 Google Cloud projeto está dentro do perímetro do VPC Service Controls do projeto de rede e do projeto do Diretório de serviços para servicedirectory.googleapis.com.

    Saiba mais sobre 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 atual 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 permissão 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 controlarão 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 Google Cloud produto 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 Google Cloud produto 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 privada

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

Console

  1. No Google Cloud console do, acesse a página Namespaces do Service Directory. Acesse 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, insira 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 gcloud service-directory endpoints create comando com o ID do projeto e o caminho de rede especificado.

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 serviço, como my-endpoint
  • PROJECT_ID: o ID do projeto
  • REGION: aregião que contém o namespace Google Cloud
  • 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 em execução, normalmente 443 ou 80
  • NETWORK_PATH: o URL da rede, como projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

Configurar o projeto do Google Cloud produto

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

  1. Ative a API do Google Cloud produto.

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

Casos de uso

Esta seção fornece 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

Nesse caso de uso, você configura o Dialogflow CX, um Google Cloud produto 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.

Nesse caso de uso, você cria 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 saia 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 o encerramento para uma VM de projeto de rede.
Figura 1. Permitir que uma configuração de serviço do Google de um projeto saia 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 privada.

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

    • Papel de 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 um Google Cloud produto, como " Cloud Scheduler, me ligue a cada minuto".
  2. Configure uma solicitação HTTP.
  3. Especifique que as solicitações precisam passar pela rede privada, como por sd-1.
  4. Opcional: configure as definições do Certificate Authority Service.

O Google Cloud produto 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

Nesse caso de uso, você configura o Dialogflow CX, a Google Cloud service 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.

Nesse caso de uso, você cria 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 Google Cloud projeto de serviço permite a saída para uma VM que reside no projeto de rede VPC.
  • O projeto do produtor pode não ser o mesmo que o Google Cloud serviço projeto.
  • Verifique se os perímetros do VPC Service Controls de ambos os projetos são usados.
  • O projeto do Service Directory e o projeto de rede não precisam ser conectados, mas 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 os perímetros do VPC Service Controls aplicados.

Envie tráfego usando o acesso à rede privada com perímetros do VPC Service Controls aplicados.
Figura 2. Enviar tráfego usando o acesso à rede privada com os 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 do VPC Service Controls permitirá que o Diretório de serviços se conecte aoprojeto de serviço e Google Cloud 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 de 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 privada.
  4. Conceda os seguintes papéis do IAM ao agente de serviço do Google Cloud produto que vai chamar o endpoint:

    • Papel de leitor do Service Directory (roles/servicedirectory.viewer) no projeto do Diretório de serviços
    • Papel 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 do VPC Service Controls permitirá que o Diretório de serviços se conecte aoprojeto de serviço e Google Cloud ao projeto do Diretório de serviços.

Configurar o Google Cloud projeto de serviço

  1. Ative a API para o Google Cloud serviço que você está usando.
  2. Para configurar o Google Cloud serviço PUSH, use o serviço do Diretório de serviços do projeto do Diretório de serviços.

Se você 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 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 Como usar o Service Directory para acesso à rede privada.

A seguir