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 acesso à 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 à 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, 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á no perímetro do VPC Service Controls do projeto de rede e do projeto 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.

  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 precisarão permitir o tráfego TCP do intervalo 35.199.192.0/19 para o endereço IP e as portas usadas pelo 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 o 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 de 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 de produto Google Cloud , siga estas etapas:

  1. Ative a API Google Cloud product.

  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 produto Google Cloud específico.

Casos de uso

Nesta seção, fornecemos 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.

Permita que uma configuração de serviço do Google de um projeto faça o encaminhamento para uma VM de projeto de rede.
Figura 1. Permita que uma configuração de serviço do Google de um projeto faça saída 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 (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 privada.

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

    • Papel de leitor do Diretório de serviços (roles/servicedirectory.viewer)
    • Papel de serviço autorizado do Private Service Connect (roles/servicedirectory.pscAuthorizedService)
  9. Opcional: se 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 produto do Google Cloud , 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 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 o Diretório de serviços estão em projetos diferentes

Neste caso de uso, você configura o Dialogflow CX, um serviço de 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 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 à rede privada com 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. Envie tráfego usando o acesso à rede privada 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 (ICP).

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

    • Papel de leitor do Diretório de serviços (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 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ço Google Cloud que você está usando.
  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 o diretório de serviços se conecte ao projeto de rede e ao projeto do Service Directory.

Usar o acesso à rede privada do Service Directory 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 Service Directory para acesso à rede particular.

A seguir