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:
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.
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 portas443
e80
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.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 CloudPara 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:
Na rede VPC, crie uma VM ou um balanceador de carga interno.
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.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
- Na Google Cloud consola, aceda à página Namespaces do Service Directory. Aceda aos espaços de nomes do Service Directory
- Clique num espaço de nomes.
- Clique num serviço.
- Clique em Adicionar ponto final.
- Em Nome do ponto final, introduza um nome para o ponto final.
- Em Endereço IP, introduza um endereço IPv4, como
192.0.2.0
. - Em Porta, introduza um número de porta, como
443
ou80
. - 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.
- 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, comomy-endpoint
PROJECT_ID
: o ID do projetoREGION
: a região que contém o espaço de nomes Google CloudNAMESPACE_NAME
: o nome que atribuiu ao espaço de nomes, comomy-namespace
SERVICE_ID
: o ID do serviçoIP_ADDRESS
: o endereço IP do ponto final, como192.0.2.0
PORT_NUMBER
: as portas em que os pontos finais estão a ser executados, normalmente443
ou80
NETWORK_PATH
: o URL para a rede, comoprojects/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:
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.
Configure a sua rede e rede de destino
- Crie um projeto, como
myproject
. Crie uma rede VPC, como
vpc-1
.Ao criar a rede VPC, em Modo de criação de sub-redes, selecione Automático.
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
ou80
.
- Para Rede, selecione
Na região
us-central1
, crie uma MV, comovm-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).
- Para Redes > Interfaces de rede, selecione
Na região
us-central1
, crie um espaço de nomes, comonamespace-1
.No espaço de nomes, registe um serviço do Service Directory, como
sd-1
.Crie um ponto final em
sd-1
. Para o endereço do ponto final, use o endereço IP interno devm-1
na porta443
. Para mais informações, consulte o artigo Crie um ponto final com acesso à rede privada.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
)
- Função de visitante do diretório de serviços (
Opcional: se quiser adicionar mais VMs, pode configurar outra VM, como
vm-2
, e adicionar o respetivo ponto final, comoendpoint-2
.
Configure um Google Cloud produto
- Configurar uma Google Cloud configuração do produto, como " Cloud Scheduler, liga-me todos os minutos".
- Configure um pedido HTTP.
- Especifique que os pedidos devem ser feitos através de redes privadas, como através de
sd-1
. - 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.
Configure o projeto de rede
- Crie um projeto, como
my-vpc-project
. Crie uma rede VPC, como
vpc-1
.Ao criar a rede VPC, para o Modo de criação de sub-redes, selecione Automático.
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
ou80
.
- Para Rede, selecione
Na região
us-central1
, crie uma MV, comovm-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).
- Para Redes > Interfaces de rede, selecione
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
Crie um projeto, como
my-sd-project
.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.Crie um ponto final do Service Directory que aponte para a VM na rede VPC:
- Na região
us-central1
, crie um espaço de nomes, comonamespace-1
. - No espaço de nomes, registe um serviço do Service Directory, como
sd-1
. - Crie um ponto final em
sd-1
. Para o endereço do ponto final, use o endereço IP interno devm-1
na porta443
. Para mais informações, consulte o artigo Crie um ponto final com acesso à rede privada.
- Na região
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
- Função de visualizador 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 serviço e ao projeto do Service Directory. Google Cloud
Configure o Google Cloud projeto de serviço
- Ative a API para o serviço Google Cloud que está a usar.
- Para configurar o Google Cloud serviço
PUSH
, 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?
- Para ver uma vista geral do diretório de serviços, consulte a vista geral do diretório de serviços.
- Para saber mais sobre o Private Service Connect, consulte o artigo Private Service Connect.
- Para encontrar soluções para problemas comuns que possa ter ao usar o diretório de serviços, consulte a secção Resolução de problemas.