Esta página descreve como configurar o acesso de rede particular e encaminhar o tráfego em uma rede Google Cloud .
Para configurar o acesso à rede particular, você configura três projetos:
- Um projeto que inclui uma nuvem privada virtual (VPC) e uma instância de máquina virtual (VM) que é o destino.
- Um projeto que funciona como um projeto de serviço do Diretório de serviços.
- Um projeto para um produto Google Cloud com a configuração que invocou o acesso à rede particular. Um exemplo de produto Google Cloud que pode chamar endpoints usando o acesso de 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 de rede privado, 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 a 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á dentro do perímetro do VPC Service Controls do projeto de rede e do projeto do Service Directory 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. Se você quiser usar uma rede VPC existente, verifique se ela oferece suporte a sub-redes no modo automático ou personalizado. Redes legadas não são compatíveis.
Se o destino da sua rede VPC for uma VM do Compute Engine ou um back-end de balanceador de carga interno, configure uma regra de firewall de rede VPC. Crie regras de firewall para permitir a entrada de TCP de
35.199.192.0/19
na porta em que o destino está sendo escutado. As portas443
e80
são típicas, mas você pode usar qualquer porta. Por padrão, as regras de firewall de rede VPC bloqueiam as conexões de entrada para VMs do Compute Engine.Para mais informações sobre
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 (gerenciamento de identidade e acesso, 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 diretório de serviços.
Configurar o projeto do diretório de serviços
Para configurar o projeto da Central de serviços, siga estas etapas:
Na rede VPC, crie uma VM ou um balanceador de carga interno.
Conceda o papel de leitor do diretório de serviço do IAM (
roles/servicedirectory.viewer
) ao agente de serviço do produto Google Cloud que vai chamar o endpoint.Crie um namespace e um serviço do Diretório de serviços. 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 de rede privado configurado, siga estas etapas:
Console
- No console do Google Cloud, acesse a página Namespaces do diretório do serviço. Acessar os namespaces do diretório de serviços
- Clique em um namespace.
- Clique em um serviço.
- Clique em Adicionar endpoint.
- Em Nome da conexão, insira um nome para o endpoint.
- Em Endereço IP, insira um endereço IPv4, como
192.0.2.0
. - Em Port, digite 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 uma das 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 especificado.
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 serviço, comomy-endpoint
.PROJECT_ID
: o ID do projetoREGION
: a região 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 Google Cloud do produto
Para configurar o projeto de produto Google Cloud , siga estas etapas:
Configure o produto Google Cloud para chamar o serviço do Diretório de serviços criado. As etapas necessárias dependem do produto Google Cloud específico.
Casos de uso
Esta seção apresenta exemplos de casos de uso para configurar o acesso de rede particular.
Chamar um endpoint HTTP quando uma rede VPC, uma VM e um diretório de serviços estiverem no mesmo projeto
Neste caso de uso, você configura o Dialogflow CX, um Google Cloud produto para processamento de linguagem natural, para chamar um endpoint HTTP na VM. Ao chamar o endpoint, verifique se o tráfego não é transferido pela Internet pública.
Neste caso de uso, você cria 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 seja exportada para uma VM. A VM fica em uma rede VPC do projeto.
Configurar a rede e a rede de destino
- Crie um projeto, como
myproject
. Crie uma rede VPC, como
vpc-1
.Ao criar a rede VPC, no 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 o HTTPS, selecione Permitir tráfego HTTPS. Além disso, instale um certificado de Transport Layer Security (TLS) de 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 particular.Conceda os seguintes papéis do IAM ao agente de serviço do produtoGoogle Cloud que vai chamar o endpoint:
- Função de leitor 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 leitor do Diretório de serviços (
Opcional: se você 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 Google Cloud produto, como " Cloud Scheduler, call me every minute".
- Configure uma solicitação HTTP.
- Especifique que as solicitações devem passar por uma rede privada, 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 um diretório de serviços estiverem em projetos diferentes
Neste caso de uso, você configura o Dialogflow CX, um serviço 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 é transferido pela Internet pública.
Neste caso de uso, você cria 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 a saída para uma VM que reside no projeto de rede VPC.
- O projeto do produtor pode não ser o mesmo que o projeto de serviço Google Cloud .
- Verifique se os perímetros do VPC Service Controls dos dois projetos são usados.
- O projeto de serviço e o projeto de rede não precisam ser 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 de rede particular 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, selecione Automático para o Modo de criação da sub-rede.
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 o HTTPS, selecione Permitir tráfego HTTPS. Além disso, instale um certificado de Transport Layer Security (TLS) de infraestrutura de chave pública (ICP).
- Em Rede > Interfaces de rede, selecione
Se você estiver usando o VPC Service Controls, o perímetro do VPC Service Controls vai permitir que o Service Directory se conecte ao projeto de serviço Google Cloud e ao projeto do Service Directory.
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 Service Directory são diferentes.
No projeto de rede, conceda o papel de Attacher da rede do diretório de serviço (
roles/servicedirectory.networkAttacher
) ao principal do IAM que cria o endpoint do diretório de serviço.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 particular.
- Na região
Conceda os seguintes papéis do IAM ao agente de serviço do produtoGoogle Cloud que vai chamar o endpoint:
- Função de leitor do Diretório de serviços (
roles/servicedirectory.viewer
) no projeto do Diretório de serviços - Função de serviço autorizado do Private Service Connect
(
roles/servicedirectory.pscAuthorizedService
) no projeto de rede
- Função de leitor do Diretório de serviços (
Se você estiver usando o VPC Service Controls, o perímetro do VPC Service Controls vai permitir que o Service Directory se conecte ao projeto de serviço Google Cloud e ao projeto do Service Directory.
Configurar o projeto de serviço Google Cloud
- Ative a API para o serviço Google Cloud que você está usando.
- Para configurar o Google Cloud serviço
PUSH
, use o serviço do Diretório de serviços do projeto do Diretório de serviços.
Se você estiver usando o VPC Service Controls, o perímetro do VPC Service Controls permite que o Service Directory se conecte ao projeto de rede e ao projeto do Service Directory.
Usar o acesso de rede privada do Diretório de serviços 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 Diretório de serviços para acesso à rede particular.
A seguir
- Para ter uma visão geral do Diretório de serviços, consulte a Visão geral do Diretório de serviços.
- Para saber mais sobre o Private Service Connect, consulte Private Service Connect.
- Para encontrar soluções de problemas comuns que podem ocorrer ao usar o Service Directory, consulte Solução de problemas.