Configure o acesso à rede privada

Esta página descreve como configurar o acesso de rede privado e encaminhar o tráfego numa Google Cloud rede.

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

  • Um projeto que inclui uma nuvem virtual privada (VPC) e uma instância de máquina virtual (VM) que é o destino.
  • Um projeto que atua como um projeto de serviço do Service Directory.
  • Um projeto para um Google Cloud produto com a configuração que invoca o acesso de rede privada. Um exemplo de um Google Cloud produto que pode chamar pontos finais através do acesso à rede privada é o Dialogflow CX.

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

Antes de começar

Antes de configurar o acesso à rede privada, conclua os seguintes passos:

  • Para cada projeto, na Google Cloud consola, na página APIs e serviços, clique em Ativar APIs e serviços para ativar as APIs que quer usar, incluindo a API Service Directory.

  • Para associar a sua rede VPC a anfitriões nas instalações, crie um túnel do Cloud VPN ou uma ligação do Cloud Interconnect.

  • Certifique-se de que o Google Cloud projeto está dentro do perímetro dos VPC Service Controls do projeto de rede e do projeto do Service Directory para servicedirectory.googleapis.com.

    Saiba mais acerca dos VPC Service Controls.

Configure o projeto para a rede VPC

Para configurar o projeto para a rede VPC, siga estes passos:

  1. Crie uma rede de VPC. Se quiser usar uma rede VPC existente, certifique-se de que suporta sub-redes no modo automático ou personalizado. As redes antigas não são suportadas.

  2. Se o destino da sua rede VPC for uma VM do Compute Engine ou um back-end do balanceador de carga interno, configure uma regra de firewall da rede VPC. Crie regras de firewall para permitir a entrada de TCP de 35.199.192.0/19 na porta onde o destino está a escutar. As portas 443 e 80 são típicas, mas pode usar qualquer porta. Tenha em atenção que, por predefinição, as regras de firewall da rede VPC bloqueiam as ligações de entrada às VMs do Compute Engine.

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

  3. Conceda a função de serviço autorizado do Private Service Connect (roles/servicedirectory.pscAuthorizedService) da gestão de identidade e de acesso (IAM) ao agente de serviço do produto que vai chamar o ponto final. Google Cloud

    Para mais informações acerca das funções e autorizações, consulte o artigo Autorizações e funções do diretório de serviços.

Configure o projeto do diretório de serviços

Para configurar o projeto do Service Directory, siga estes passos:

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

  2. Conceda a função de leitor do diretório de serviços do IAM (roles/servicedirectory.viewer) ao agente de serviço do produtoGoogle Cloud que vai chamar o ponto final.

  3. Crie um espaço de nomes e um serviço do Service Directory. Em seguida, crie um ponto final para este serviço, seguindo os passos na secção seguinte.

Crie um ponto final com acesso à rede privada

Para criar um ponto final com acesso à rede privada configurado, siga estes passos:

Consola

  1. Na Google Cloud consola, aceda à página Namespaces do Service Directory. Aceda aos espaços de nomes do Service Directory
  2. Clique num espaço de nomes.
  3. Clique num serviço.
  4. Clique em Adicionar ponto final.
  5. Em Nome do ponto final, introduza um nome para o ponto final.
  6. Em Endereço IP, introduza um endereço IPv4, como 192.0.2.0.
  7. Em Porta, introduza um número de porta, como 443 ou 80.
  8. Para ativar o acesso à rede privada, em Rede de VPC associada, selecione a opção necessária:
    • Para escolher a partir de uma lista de redes disponíveis, clique em Escolher a partir da lista e, de seguida, selecione a rede.
    • Para especificar um projeto e uma rede, clique em Especificar por um projeto e um nome de rede e, de seguida, introduza 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 o seguinte:

  • ENDPOINT_NAME: um nome para o ponto final que está a criar no seu serviço, como my-endpoint
  • PROJECT_ID: o ID do projeto
  • REGION: a região que contém o espaço de nomes Google Cloud
  • NAMESPACE_NAME: o nome que atribuiu ao espaço de nomes, como my-namespace
  • SERVICE_ID: o ID do serviço
  • IP_ADDRESS: o endereço IP do ponto final, como 192.0.2.0
  • PORT_NUMBER: as portas em que os pontos finais estão a ser executados, normalmente 443 ou 80
  • NETWORK_PATH: o URL para a rede, como projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

Configure o Google Cloud projeto de produto

Para configurar o Google Cloud projeto do produto, siga estes passos:

  1. Ative a Google Cloud API Product.

  2. Configure o seu Google Cloud produto para chamar o serviço do diretório de serviços que criou. Os passos necessários dependem do Google Cloud produto específico.

Exemplos de utilização

Esta secção apresenta exemplos de utilização para configurar o acesso de rede privado.

Chamar um ponto final HTTP quando uma rede VPC, uma VM e o Service Directory estão no mesmo projeto

Neste exemplo de utilização, configura o Dialogflow CX, um Google Cloud produto para o processamento de linguagem natural, para chamar um ponto final HTTP na sua VM. Ao chamar o ponto final, certifique-se de que o tráfego não transita pela Internet pública.

Neste exemplo de utilização, cria os seguintes artefactos no mesmo projeto:

  • Uma rede da VPC
  • Uma VM
  • Um serviço de diretório de serviços
  • Dialogflow CX

A Figura 1 mostra como pode permitir que uma configuração de serviço Google de um projeto saia para uma VM. A VM reside numa rede de VPC do projeto.

Permitir que uma configuração de serviço Google de um projeto saia para uma VM de projeto de rede.
Figura 1. Permitir uma configuração de serviço Google de um projeto para saída para uma VM (clique para aumentar).

Configure a sua rede e 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 de sub-redes, selecione Automático.

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

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

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

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

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

    Se quiser usar HTTPS, selecione Permitir tráfego HTTPS. Certifique-se também de que instala um certificado Transport Layer Security (TLS) da infraestrutura de chave pública (PKI).

  5. Na região us-central1, crie um espaço de nomes, como namespace-1.

  6. No espaço de nomes, registe um serviço do Service Directory, como sd-1.

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

  8. Conceda as seguintes funções de IAM ao agente de serviço do Google Cloud produto que vai chamar o ponto final:

    • Função de visitante 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 quiser adicionar mais VMs, pode configurar outra VM, como vm-2, e adicionar o respetivo ponto final, como endpoint-2.

Configure um Google Cloud produto

  1. Configurar uma Google Cloud configuração do produto, como " Cloud Scheduler, liga-me todos os minutos".
  2. Configure um pedido HTTP.
  3. Especifique que os pedidos devem ser feitos através de redes privadas, como através de sd-1.
  4. Opcional: configure as definições do serviço de autoridade de certificação.

O produto Google Cloud pode agora invocar o pedido HTTP através de sd-1.

Chame um ponto final HTTP quando uma rede VPC partilhada, uma VM e o Service Directory estão em projetos diferentes

Neste exemplo de utilização, configura o Dialogflow CX, um serviço de processamento de linguagem natural, para chamar um ponto final HTTP na sua VM. Google Cloud Ao chamar o ponto final, certifique-se de que o tráfego não transita pela Internet pública.

Neste exemplo de utilização, cria os seguintes artefactos em projetos diferentes:

  • Uma rede de VPC partilhada
  • Uma VM
  • Um serviço de diretório de serviços
  • Dialogflow CX

Antes de criar os projetos, tenha em atenção o seguinte:

  • Certifique-se de que a invocação da API respeita o perímetro dos VPC Service Controls.
  • Certifique-se de que a configuração do Google Cloud projeto de serviço permite a 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 de Google Cloud serviço.
  • Certifique-se de que são usados os perímetros dos VPC Service Controls de ambos os projetos.
  • O projeto do Service Directory e o projeto de rede não têm de estar ligados, mas têm de fazer parte do mesmo VPC Service Controls.
  • Na rede e no serviço, a firewall e o IAM estão desativados por predefinição.

A Figura 2 mostra como pode enviar tráfego através do acesso à rede privada com os perímetros dos controlos de serviços da VPC aplicados.

Envie tráfego através do acesso à rede privada com perímetros dos VPC Service Controls aplicados.
Figura 2. Envie tráfego através do acesso à rede privada com os perímetros dos VPC Service Controls aplicados (clique para aumentar).

Configure 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, para o Modo de criação de sub-redes, selecione Automático.

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

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

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

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

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

    Se quiser usar HTTPS, selecione Permitir tráfego HTTPS. Certifique-se também de que instala um certificado Transport Layer Security (TLS) da infraestrutura de chave pública (PKI).

Se estiver a usar os VPC Service Controls, o perímetro dos VPC Service Controls permite que o Service Directory se ligue ao projeto de serviço e ao projeto do Service Directory. Google Cloud

Configure o projeto do diretório de serviços

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

  2. Precisa de uma autorização de IAM adicional porque o projeto de rede VPC e o projeto do Service Directory são projetos diferentes.

    No projeto de rede, conceda a função Network Attacher do Service Directory (roles/servicedirectory.networkAttacher) ao principal do IAM que cria o ponto final do Service Directory.

  3. Crie um ponto final do Service Directory que aponte para a VM na rede VPC:

    1. Na região us-central1, crie um espaço de nomes, como namespace-1.
    2. No espaço de nomes, registe um serviço do Service Directory, como sd-1.
    3. Crie um ponto final em sd-1. Para o endereço do ponto final, use o endereço IP interno de vm-1 na porta 443. Para mais informações, consulte o artigo Crie um ponto final com acesso à rede privada.
  4. Conceda as seguintes funções de IAM ao agente de serviço do Google Cloud produto que vai chamar o ponto final:

    • Função de visualizador do Service Directory (roles/servicedirectory.viewer) no projeto do Service Directory
    • Função de serviço autorizado do Private Service Connect (roles/servicedirectory.pscAuthorizedService) no projeto de rede

Se estiver a usar os VPC Service Controls, o perímetro dos VPC Service Controls permite que o Service Directory se ligue ao projeto de serviço e ao projeto do Service Directory. Google Cloud

Configure o Google Cloud projeto de serviço

  1. Ative a API para o serviço Google Cloud que está a usar.
  2. Para configurar o Google Cloud serviçoPUSH, use o serviço Service Directory do projeto do Service Directory.

Se estiver a usar os VPC Service Controls, o perímetro dos VPC Service Controls permite que o Service Directory se ligue ao projeto de rede e ao projeto do Service Directory.

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

Para ver instruções sobre como pode usar o acesso à rede privada do Service Directory com o Dialogflow, consulte o artigo Usar o Service Directory para acesso à rede privada.

O que se segue?