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 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:
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.
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.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:
Na rede VPC, crie uma VM ou um balanceador de carga interno.
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.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
- No console do Google Cloud , acesse a página Namespaces do Service Directory. Acessar o Diretório de serviços Directory
- Clique em um namespace.
- Clique em um serviço.
- Clique em Adicionar endpoint.
- Em Nome da conexão, digite um nome para o endpoint.
- Em Endereço IP, insira um endereço IPv4, como
192.0.2.0
. - Em Porta, insira um número de porta, como
443
ou80
. - 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.
- 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, comomy-endpoint
PROJECT_ID
: o ID do projetoREGION
: a região do Google Cloud que contém o namespace.NAMESPACE_NAME
: o nome que você deu ao namespace, comomy-namespace
SERVICE_ID
: o ID do serviçoIP_ADDRESS
: o endereço IP do endpoint, como192.0.2.0
PORT_NUMBER
: as portas em que os endpoints estão sendo executados, normalmente443
ou80
.NETWORK_PATH
: o URL da rede, comoprojects/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:
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.
Configurar sua rede e a 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 da sub-rede, selecione Automático.
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
ou80
.
- Em Rede, selecione
Na região
us-central1
, crie uma VM, comovm-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).
- Em Rede > Interfaces de rede, selecione
Na região
us-central1
, crie um namespace, comonamespace-1
.No namespace, registre um serviço do Diretório de serviços, como
sd-1
.Crie um endpoint em
sd-1
. Para o endereço do endpoint, use o endereço IP interno devm-1
na porta443
. Para mais informações, consulte Criar um endpoint com acesso à rede privada.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
)
- Papel de leitor do Diretório de serviços (
Opcional: se quiser adicionar mais VMs, configure outra VM, como
vm-2
, e adicione o endpoint dela, comoendpoint-2
.
Configurar um Google Cloud produto
- Configure uma configuração de produto do Google Cloud , como "Cloud Scheduler, me ligue a cada minuto".
- Configure uma solicitação HTTP.
- Especifique que as solicitações devem passar por redes particulares, como
sd-1
. - 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.
Configurar o projeto de rede
- Crie um projeto, como
my-vpc-project
. Crie uma rede VPC, como
vpc-1
.Ao criar a rede VPC, em Modo de criação da sub-rede, selecione Automático.
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
ou80
.
- Em Rede, selecione
Na região
us-central1
, crie uma VM, comovm-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).
- Em Rede > Interfaces de rede, selecione
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
Crie um projeto, como
my-sd-project
.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.Crie um endpoint do Diretório de serviços que aponte para a VM na rede VPC:
- Na região
us-central1
, crie um namespace, comonamespace-1
. - No namespace, registre um serviço do Diretório de serviços, como
sd-1
. - Crie um endpoint em
sd-1
. Para o endereço do endpoint, use o endereço IP interno devm-1
na porta443
. Para mais informações, consulte Criar um endpoint com acesso à rede privada.
- Na região
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
- Papel de leitor do Diretório de serviços (
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
- Ative a API para o serviço Google Cloud que você está usando.
- 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
- Para uma visão geral do Diretório de serviços, consulte a Visão geral do Service Directory.
- Para saber mais sobre o Private Service Connect, consulte Private Service Connect.
- Para encontrar soluções para problemas comuns que podem ocorrer ao usar Diretório de serviços, consulte Solução de problemas.