Neste tutorial, explicamos como você, como um consumidor de serviços, pode acessar seu serviço publicado criando um endpoint do Private Service Connect. Quando você envia solicitações ao endpoint, o Private Service Connect encaminha essas solicitações ao serviço publicado.
Este tutorial é destinado a arquitetos de nuvem e de rede, administradores de rede e de TI.
Objetivos
- Configurar a rede para os recursos do consumidor de serviços
- Crie um endpoint
- Testar o acesso ao endpoint
Custos
Neste documento, você vai usar os seguintes componentes faturáveis do Cloud de Confiance by S3NS:
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Para mais informações, consulte Limpeza.
Antes de começar
- Conclua os dois tutoriais anteriores desta série:
- Criar um serviço com balanceamento de carga.
- Torne o serviço acessível de outras redes VPC. Você precisa do ID do anexo de serviço para concluir este tutorial.
- Crie ou selecione um projeto para usar nos recursos do consumidor de serviços.
Esse projeto é chamado de
CONSUMER_PROJECT. -
No console do Cloud de Confiance , acesse a página Seletor de Projetos.
-
Selecione ou crie um projeto do Cloud de Confiance .
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
Ative a API Compute Engine.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.-
Verifique se você tem os seguintes papéis no projeto: Compute Engine > Administrador de rede do Compute, Compute Engine > Administrador da instância do Compute
Verificar os papéis
-
No console do Cloud de Confiance , acesse a página IAM.
Acessar IAM - Selecione o projeto.
-
Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.
- Em todas as linhas que especificam ou incluem você, verifique a coluna Papel para ver se a lista de papéis inclui os papéis necessários.
Conceder os papéis
-
No console do Cloud de Confiance , acesse a página IAM.
Acessar IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos principais, digite seu identificador de usuário. Normalmente, é o identificador de um usuário em um pool de identidades de força de trabalho. Saiba mais em Representar usuários do pool de força de trabalho nas políticas do IAM ou entre em contato com seu administrador.
- Clique em Selecionar um papel e pesquise o papel.
- Para conceder outros papéis, adicione-os clicando em Adicionar outro papel.
- Clique em Salvar.
-
Configurar rede
As seções a seguir explicam como criar uma rede e uma sub-rede para hospedar o endpoint e como criar uma regra de firewall para permitir o acesso SSH à VM do cliente usada para testar o endpoint.
Criar uma rede e uma sub-rede
Para criar a rede e a sub-rede do consumidor de serviços, siga estas etapas.
Console
No console do Cloud de Confiance , acesse a página Redes VPC.
Clique em Criar rede VPC.
Em Nome, insira
consumer-network.Em Modo de criação da sub-rede, selecione Personalizado.
Na seção Nova sub-rede, insira as seguintes informações:
- Em Nome, insira
consumer-subnet. - Em Região, selecione a mesma região do serviço publicado que você criou.
- Em Tipo de pilha de IP, selecione IPv4 (pilha única).
- Em Intervalo IPv4, insira
192.168.10.0/24. - Clique em Concluído.
- Em Nome, insira
Clique em Criar.
gcloud
Crie uma rede VPC personalizada:
gcloud compute networks create consumer-network --subnet-mode=custom
Na rede
consumer-network, crie uma sub-rede.gcloud compute networks subnets create consumer-subnet \ --network=consumer-network \ --range=192.168.10.0/24 \ --region=REGIONSubstitua
REGIONpela mesma região do serviço publicado que você criou.
Configurar regras de firewall
Crie uma regra de firewall chamada fw-allow-ssh para permitir que o tráfego SSH de
0.0.0.0/0 alcance VMs com a tag de rede allow-ssh.
Console
No console do Cloud de Confiance , acesse a página Políticas de firewall.
Para permitir conexões SSH de entrada, clique em Criar regra de firewall e use as seguintes configurações:
- Em Nome, insira
fw-allow-ssh. - Em Rede, selecione
consumer-network. - Em Prioridade, digite
1000. - Em Direção de tráfego, selecione Entrada.
- Em Ação se houver correspondência, selecione Permitir.
- Em Destinos, selecione Specified target tags.
- Em Tags de destino, insira
allow-ssh. - Em Filtro de origem, selecione Intervalos IPv4.
- Em Intervalos IPv4 de origem, insira
0.0.0.0/0. - Em Protocolos e portas, selecione Protocolos e portas especificados
e marque a caixa de seleção TCP. Em Portas, insira
22.
- Em Nome, insira
Clique em Criar.
gcloud
Crie a regra de firewall
fw-allow-sshque permita a conectividade SSH para VMs com a tag de redeallow-ssh.gcloud compute firewall-rules create fw-allow-ssh \ --network=consumer-network \ --action=allow \ --direction=ingress \ --source-ranges=0.0.0.0/0 \ --target-tags=allow-ssh \ --rules=tcp:22
Crie um endpoint
Crie um endpoint que aponte para o serviço publicado que você criou.
Console
No console do Cloud de Confiance , acesse a página Private Service Connect.
Clique na guia Endpoints conectados.
Clique em Conectar endpoint.
Em Destino, selecione Serviço publicado.
Em Serviço de destino, insira
projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-service.Substitua
PRODUCER_PROJECTpelo ID do projeto do serviço publicado. SubstituaREGIONpela região do serviço publicado.Em Nome do endpoint, insira
ep-1.Em Rede, selecione
consumer-network.Em Sub-rede, selecione
consumer-subnet.Clique no menu suspenso Endereço IP e selecione Criar endereço IP.
- Em Nome, insira
ep-ip-1. - Em Endereço IP estático, selecione Let me choose.
- Em Endereço IP personalizado, insira
192.168.10.5. - Clique em Reservar.
- Em Nome, insira
Clique em Adicionar endpoint.
gcloud
Reserve um endereço IP interno para atribuir ao endpoint.
gcloud compute addresses create ep-ip-1 \ --region=REGION \ --subnet=consumer-subnet \ --addresses=192.168.10.5Substitua
REGIONpela mesma região do serviço publicado que você criou.Crie uma regra de encaminhamento para conectar o endpoint ao anexo de serviço do produtor de serviço.
gcloud compute forwarding-rules create ep-1 \ --region=REGION \ --network=consumer-network \ --address=ep-ip-1 \ --target-service-attachment=projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/published-serviceSubstitua:
PRODUCER_PROJECT: o ID do projeto de produtor de serviços.REGION: a região do anexo de serviço.
Testar o acesso ao endpoint
Para testar se o endpoint e o serviço publicado estão funcionando, crie uma VM de teste e envie uma solicitação dela para o endpoint.
Criar uma VM cliente para teste
Crie uma VM cliente na mesma região do endpoint.
Console
No console do Cloud de Confiance , acesse a página Instâncias de VM.
Clique em Criar instância.
Em Nome, insira
consumer-test.Em Região, selecione a mesma região das VMs de back-end.
Em Zona, selecione uma zona nessa região.
Clique em Rede e configure os seguintes campos:
- Em Tags de rede, insira
allow-ssh. - Em Interfaces de rede, selecione o seguinte:
- Em Rede, selecione
consumer-network. - Em Sub-rede, selecione
consumer-subnet.
- Em Rede, selecione
- Em Tags de rede, insira
Clique em Criar.
gcloud
gcloud compute instances create consumer-test \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=allow-ssh \
--subnet=consumer-subnet
Substitua ZONE por uma zona na mesma região das VMs de back-end.
Testar a conectividade
Neste teste, o endpoint é contatado por uma VM cliente. O comportamento esperado é que o tráfego seja distribuído entre as VMs de back-end do balanceador de carga.
- Conecte-se à instância da VM cliente.
Substituagcloud compute ssh consumer-test --zone=ZONE
ZONEpela zona da VM do cliente. - Faça uma solicitação da Web para o endpoint usando
curlpara contatar o endereço IP dele. Repita a solicitação para ver que as respostas provêm de diferentes VMs de back-end. O nome da VM que gera a resposta é exibido no texto na resposta HTML, devido ao conteúdo de/var/www/html/index.htmlem cada VM de back-end. Por exemplo, as respostas esperadas são assim:Page served from: vm-1ePage served from: vm-2.curl -s http://192.168.10.5
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir os projetos
Exclua o projeto do produtor (PRODUCER_PROJECT) e o projeto do consumidor (CONSUMER_PROJECT).
Excluir um projeto do Cloud de Confiance :
gcloud projects delete PROJECT_ID
A seguir
- Saiba mais sobre os serviços publicados do Private Service Connect
- Saiba mais sobre como acessar os serviços publicados por endpoints
- Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.