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 contém uma rede da nuvem virtual privada (VPC) a ser usada pela instância de máquina virtual (VM) de destino ou pelo equilibrador de carga interno de 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 sobre os 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 ou selecione uma rede de VPC existente que tenha uma sub-rede apenas de IPv4 ou de pilha dupla na região que quer usar. As redes antigas não são suportadas.

  2. Crie as regras de firewall de autorização de entrada necessárias.

    • Se o destino for uma VM ou um balanceador de carga de passagem interno de rede, as regras de firewall têm de 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 aplicações interno ou um balanceador de carga de rede de proxy interno, as regras da firewall têm de 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 acerca do intervalo 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 Service Directory

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. Para 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 gcloud service-directory endpoints create comando 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 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 Google Cloud região que contém o espaço de nomes
  • 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 Service Directory que criou. Os passos necessários dependem doGoogle 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 VM, 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 VM, 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 Service Directory

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

  2. Precisa de uma autorização de IAM adicional porque o projeto da 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 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?