Configurar o acesso à rede particular

Esta página descreve como configurar o acesso de rede particular e encaminhar o tráfego em uma rede Google Cloud .

Para configurar o acesso à rede particular, você configura três projetos:

  • Um projeto que inclui uma nuvem privada virtual (VPC) e uma instância de máquina virtual (VM) que é o destino.
  • Um projeto que funciona como um projeto de serviço do Diretório de serviços.
  • Um projeto para um produto Google Cloud com a configuração que invocou o acesso à rede particular. Um exemplo de produto Google Cloud que pode chamar endpoints usando o acesso de rede particular é 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 de rede privado, 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, incluindo a API Service Directory.

  • Para vincular a 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 do projeto de rede e do projeto do Service Directory para servicedirectory.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. Se você quiser usar uma rede VPC existente, verifique se ela oferece suporte a sub-redes no modo automático ou personalizado. Redes legadas não são compatíveis.

  2. Se o destino da sua rede VPC for uma VM do Compute Engine ou um back-end de balanceador de carga interno, configure uma regra de firewall de rede VPC. Crie regras de firewall para permitir a entrada de TCP de 35.199.192.0/19 na porta em que o destino está sendo escutado. As portas 443 e 80 são típicas, mas você pode usar qualquer porta. Por padrão, as regras de firewall de rede VPC bloqueiam as conexões de entrada para VMs do Compute Engine.

    Para mais informações sobre 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 (gerenciamento de identidade e acesso, 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 diretório de serviços.

Configurar o projeto do diretório de serviços

Para configurar o projeto da Central 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 diretório de serviço do IAM (roles/servicedirectory.viewer) ao agente de serviço do produto Google Cloud que vai chamar o endpoint.

  3. Crie um namespace e um serviço do Diretório de serviços. 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 de rede privado configurado, siga estas etapas:

Console

  1. No console do Google Cloud, acesse a página Namespaces do diretório do serviço. Acessar os namespaces do diretório de serviços
  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 Port, digite 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 uma das 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 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: a região 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 Google Cloud do produto

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

  1. Ative a Google Cloud API do produto.

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

Casos de uso

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

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

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

Neste 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 seja exportada para uma VM. A VM fica em uma rede VPC do projeto.

Permitir que uma configuração de serviço do Google de um projeto seja enviada para uma VM de projeto de rede.
Figura 1. Permita que uma configuração de serviço do Google de um projeto saia para uma VM (clique para ampliar).

Configurar a 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, no 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 o HTTPS, selecione Permitir tráfego HTTPS. Além disso, instale um certificado de Transport Layer Security (TLS) de infraestrutura de chave pública (ICP).

  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 produtoGoogle Cloud que vai chamar o endpoint:

    • Função de leitor do Diretório de serviços (roles/servicedirectory.viewer)
    • Função 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 configuração de Google Cloud produto, como " Cloud Scheduler, call me every minute".
  2. Configure uma solicitação HTTP.
  3. Especifique que as solicitações devem passar por uma rede privada, como sd-1.
  4. Opcional: configure as configurações do serviço de autoridade de certificação.

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 um diretório de serviços estiverem 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 é transferido pela Internet pública.

Neste 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 projeto de serviço Google Cloud 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 projeto de serviço Google Cloud .
  • Verifique se os perímetros do VPC Service Controls dos dois projetos são usados.
  • O projeto de serviço e o projeto de rede não precisam ser conectados, mas precisam fazer parte dos mesmos 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 de rede particular com perímetros do VPC Service Controls aplicados.

Envie tráfego usando o acesso de rede particular com perímetros de VPC Service Controls
         aplicados.
Figura 2. Envie tráfego usando o acesso de rede particular 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, selecione Automático para o Modo de criação da sub-rede.

  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 o HTTPS, selecione Permitir tráfego HTTPS. Além disso, instale um certificado de Transport Layer Security (TLS) de infraestrutura de chave pública (ICP).

Se você estiver usando o VPC Service Controls, o perímetro do VPC Service Controls vai permitir que o Service Directory se conecte ao projeto de serviço Google Cloud e ao projeto do Service Directory.

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 Service Directory são diferentes.

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

  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 produtoGoogle Cloud que vai chamar o endpoint:

    • Função de leitor do Diretório de serviços (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 do VPC Service Controls vai permitir que o Service Directory se conecte ao projeto de serviço Google Cloud e ao projeto do Service Directory.

Configurar o projeto de serviço Google Cloud

  1. Ative a API para o serviço Google Cloud 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 permite que o Service Directory se conecte ao projeto de rede e ao projeto do Service Directory.

Usar o acesso de rede privada do Diretório de serviços com o Dialogflow

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

A seguir