NEG híbrido do Agentspace para banco de dados autohospedado entre nuvens

1. Introdução

Neste codelab, você vai implantar um balanceador de carga de proxy TCP interno e um grupo de endpoints de rede (NEG) híbrido, publicado como um serviço de produtor do PSC. O NEG vai consistir no endereço IP e na porta do banco de dados autohospedado entre nuvens, por exemplo, JIRA, Confluence, Sharepoint.

O Private Service Connect é um recurso da rede do Google Cloud que permite que os consumidores acessem serviços gerenciados de maneira particular na rede VPC deles. Da mesma forma, ele permite que produtores de serviços gerenciados hospedem esses serviços na própria rede VPC ou entre nuvens, oferecendo uma conexão particular aos consumidores. Por exemplo, ao usar o Private Service Connect para acessar um banco de dados entre nuvens, você é o produtor de serviços, e o Google (Agentspace) é o consumidor de serviços.

O que você vai aprender

  • Requisitos de rede para o Agentspace
  • Práticas recomendadas de rede do Agentspace
  • Criar um serviço de produtor do Private Service Connect

O que é necessário

  • Projeto do Google Cloud com permissões de proprietário

2. O que você vai criar

Você vai estabelecer uma rede de produtor, agentspace-psc-demo, para implantar o balanceador de carga de proxy TCP interno e o NEG híbrido publicado como um serviço pelo Private Service Connect (PSC).

3. Requisitos de rede

Confira abaixo o detalhamento dos requisitos de rede para a rede do produtor. O consumidor neste codelab é o Agentspace.

Componentes

Descrição

VPC (agentspace-psc-demo)

VPC de modo personalizado

Sub-rede NAT do PSC

Os pacotes da rede VPC do consumidor são convertidos usando a NAT de origem (SNAT) para que os endereços IP de origem sejam convertidos em endereços IP de origem da sub-rede NAT na rede VPC do produtor. O NAT do PSC aceita uma sub-rede /29 por anexo de serviço.

Sub-rede da regra de encaminhamento do PSC

Usada para alocar um endereço IP para o balanceador de carga de proxy TCP interno regional.A sub-rede da regra de encaminhamento é considerada uma sub-rede regular.

Sub-rede somente proxy

Cada um dos proxies do balanceador de carga recebe um endereço IP interno. Os pacotes enviados de um proxy para uma VM de back-end ou um grupo de endpoints de rede têm um endereço IP de origem da sub-rede somente proxy.Uma sub-rede /23 é recomendada , embora a mínima, /26, seja compatível. Uma sub-rede de proxy regional é necessária por região.

NEG híbrido

Serviços locais e outros serviços de nuvem são tratados como qualquer outro back-end do Cloud Load Balancing. A principal diferença é que você usa um NEG de conectividade híbrida para configurar os endpoints desses back-ends. Os endpoints precisam ser combinações IP:porta válidas que seu balanceador de carga possa alcançar usando produtos de conectividade híbrida, como o Cloud VPN ou o Cloud Interconnect.

Serviço de back-end

Um serviço de back-end atua como uma ponte entre o balanceador de carga e os recursos de back-end. No tutorial, o serviço de back-end está associado ao NEG híbrido.

4. Práticas recomendadas

  • O AgentSpace oferece suporte ao acesso entre nuvens a bancos de dados auto-hospedados implantados no local ou em computação (por exemplo, AWS EC2 e VMs do Azure) quando publicado como um produtor de serviços.
  • O tráfego para o banco de dados entre nuvens vai se originar da sub-rede de proxy regional. Portanto, as regras de firewall precisam ser atualizadas para permitir esse tráfego.
  • Embora a sub-rede somente proxy seja anunciada por padrão pelo Cloud Router, confirme se a rede entre nuvens aprendeu essa sub-rede.
  • Verifique se a rede VPC do Agentspace aprendeu a sub-rede ou o endereço IP do host do banco de dados entre nuvens.
  • Ative o acesso global na regra de encaminhamento do produtor antes de criar o anexo de serviço.
  • Ative o acesso global ao criar o endpoint do Agentspace.

5. Topologia do codelab

f5cb7b235f6fa306.png

6. Configuração e requisitos

Configuração de ambiente autoguiada

  1. Faça login no Console do Google Cloud e crie um novo projeto ou reutilize um existente. Crie uma conta do Gmail ou do Google Workspace, se ainda não tiver uma.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • O Nome do projeto é o nome de exibição para os participantes do projeto. É uma string de caracteres não usada pelas APIs do Google e pode ser atualizada quando você quiser.
  • O ID do projeto precisa ser exclusivo em todos os projetos do Google Cloud e não pode ser mudado após a definição. O console do Cloud gera automaticamente uma string exclusiva. Em geral, não importa o que seja. Na maioria dos codelabs, é necessário fazer referência ao ID do projeto, normalmente identificado como PROJECT_ID. Se você não gostar do ID gerado, crie outro aleatório. Se preferir, teste o seu e confira se ele está disponível. Ele não pode ser mudado após essa etapa e permanece durante o projeto.
  • Para sua informação, há um terceiro valor, um Número do projeto, que algumas APIs usam. Saiba mais sobre esses três valores na documentação.
  1. Em seguida, ative o faturamento no console do Cloud para usar os recursos/APIs do Cloud. A execução deste codelab não vai ser muito cara, se tiver algum custo. Para encerrar os recursos e evitar cobranças além deste tutorial, exclua os recursos criados ou exclua o projeto. Novos usuários do Google Cloud estão qualificados para o programa de US$ 300 de avaliação sem custos.

Inicie o Cloud Shell

Embora o Google Cloud e o Spanner possam ser operados remotamente do seu laptop, neste codelab usaremos o Google Cloud Shell, um ambiente de linha de comando executado no Cloud.

No Console do Google Cloud, clique no ícone do Cloud Shell na barra de ferramentas superior à direita:

55efc1aaa7a4d3ad.png

O provisionamento e a conexão com o ambiente levarão apenas alguns instantes para serem concluídos: Quando o processamento for concluído, você verá algo como:

7ffe5cbb04455448.png

Essa máquina virtual contém todas as ferramentas de desenvolvimento necessárias. Ela oferece um diretório principal persistente de 5 GB, além de ser executada no Google Cloud. Isso aprimora o desempenho e a autenticação da rede. Neste codelab, todo o trabalho pode ser feito com um navegador. Você não precisa instalar nada.

7. Antes de começar

Ativar APIs

No Cloud Shell, verifique se o ID do projeto está configurado:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone=[YOUR-ZONE]
echo $project
echo $region

Ative todos os serviços necessários:

gcloud services enable compute.googleapis.com

8. Criar rede VPC do produtor

Rede VPC

No Cloud Shell, faça o seguinte:

gcloud compute networks create agentspace-psc-demo --subnet-mode custom

Criar sub-redes

A sub-rede do PSC será associada ao anexo de serviço do PSC para fins de conversão de endereços de rede.

No Cloud Shell, crie a sub-rede NAT do PSC:

gcloud compute networks subnets create producer-psc-nat-subnet --network agentspace-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

No Cloud Shell, crie a sub-rede da regra de encaminhamento do produtor:

gcloud compute networks subnets create producer-psc-fr-subnet --network agentspace-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access

No Cloud Shell, crie a sub-rede somente proxy regional do produtor, observada pelo banco de dados entre nuvens como o IP de origem.

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=agentspace-psc-demo \
  --range=10.10.10.0/24

Reserve o endereço IP do balanceador de carga

No Cloud Shell, reserve um endereço IP interno para o balanceador de carga:

gcloud compute addresses create hybrid-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

No Cloud Shell, confira o endereço IP reservado.

gcloud compute addresses describe hybrid-neg-lb-ip \
  --region=$region | grep -i address:

Exemplo de saída:

gcloud compute addresses describe hybrid-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

Configurar o NEG híbrido

Crie um NEG híbrido e defina –network-endpoint-type como NON_GCP_PRIVATE_IP_PORT.

No Cloud Shell, crie um NEG híbrido usado para acessar o banco de dados local:

gcloud compute network-endpoint-groups create on-prem-hybrid-neg \
    --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
    --network=agentspace-psc-demo \
    --zone=$zone

No Cloud Shell, atualize o NEG híbrido com o IP:Porta do banco de dados entre nuvens, 192.168.10.10 e a porta 443, de acordo com a arquitetura de referência:

gcloud compute network-endpoint-groups update on-prem-hybrid-neg \
    --add-endpoint=ip=192.168.10.10,port=443 \
    --zone=$zone

Criar uma verificação de integridade regional

No Cloud Shell, crie uma verificação de integridade que teste a porta do banco de dados local, 443:

gcloud compute health-checks create tcp on-prem-443-healthcheck \
    --region=$region \
    --port=443

Criar uma política de firewall de rede e regras de firewall

No Cloud Shell, faça o seguinte:

gcloud compute network-firewall-policies create agentspace-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy agentspace-psc-demo-policy --network agentspace-psc-demo --name agentspace-psc-demo --global-firewall-policy

A regra de firewall a seguir permite o tráfego do intervalo da sub-rede NAT do PSC para todas as instâncias na rede.

No Cloud Shell, faça o seguinte:

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

9. Criar serviço de produtor

Criar componentes do balanceador de carga

No Cloud Shell, crie um serviço de back-end:

gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=on-prem-443-healthcheck --health-checks-region=$region

No Cloud Shell, adicione o back-end NEG híbrido ao serviço de back-end:

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=on-prem-hybrid-neg --network-endpoint-group-zone=$zone --balancing-mode=CONNECTION --max-connections=100 --region=$region

No Cloud Shell, crie um proxy TCP de destino para encaminhar solicitações ao serviço de back-end:

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

Na sintaxe a seguir, crie uma regra de encaminhamento (balanceador de carga de proxy TCP interno) com o acesso global ativado.

No Cloud Shell, faça o seguinte:

gcloud compute forwarding-rules create producer-hybrid-neg-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=agentspace-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=hybrid-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --allow-global-access \
     --ports=443

Criar anexo de serviço

Para publicar um serviço, crie um anexo. É possível publicar o serviço com aprovação automática ou explícita.

  • Para publicar o serviço e permitir automaticamente que qualquer consumidor se conecte a ele, siga as instruções em Publicar um serviço com aprovação automática.
  • Para publicar o serviço com aprovação explícita do consumidor, nas configurações de conexão do anexo de serviço, selecione "Aceitar conexões para projetos selecionados" e deixe o campo "Projetos aceitos" em branco.
  • Depois de gerar o anexo de serviço, os endpoints do consumidor que solicitarem acesso ao serviço do produtor vão entrar em um estado pendente. Para autorizar a conexão, o produtor precisa aceitar o projeto de origem da solicitação de endpoint do consumidor.

No Cloud Shell, crie o anexo de serviço cc-database1-svc-attachment com aprovação automática:

gcloud compute service-attachments create cc-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-hybrid-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

Em seguida, obtenha e anote o anexo de serviço listado no URI selfLink que começa com "projects" para configurar o endpoint do PSC no Agentspace.

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/cc-database1-svc-attachment

No Cloud Shell, faça o seguinte:

gcloud compute service-attachments describe cc-database1-svc-attachment --region=$region

Exemplo de saída esperada:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-06T16:05:14.706-07:00'
description: ''
enableProxyProtocol: false
fingerprint: rXjeAOjb41k=
id: '1726139744351862725'
kind: compute#serviceAttachment
name: cc-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '54619734758392808'
  low: '1726139744351862725'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/serviceAttachments/cc-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/forwardingRules/producer-hybrid-neg-fr

No console do Cloud, navegue até:

Serviços de rede → Private Service Connect → Serviços publicados

62a981141ca52077.png

e36e988fc46c07a8.png

10. Estabelecer uma conexão de endpoint do PSC no Agentspace

Antes de associar o anexo de serviço do produtor ao Agentspace, verifique se as seguintes validações foram concluídas:

  • O firewall de rede entre nuvens permite a lista de sub-redes de proxy regionais.
  • A rede entre nuvens aprendeu a sub-rede de proxy regional.
  • A VPC do Agentspace aprendeu a sub-rede ou o IP do host do banco de dados entre nuvens.

Associe o URI do anexo de serviço dos produtores ao Agentspace e verifique se o acesso global está selecionado. Confira abaixo um exemplo de ativação do acesso global com o anexo de serviço da arquitetura de referência.

c80e0e3845880771.png

Para finalizar a rede particular, consulte as fontes de dados de terceiros do Agentspace para mais instruções.

Validar o endpoint do PSC no console do Cloud

Para confirmar uma conexão PSC bem-sucedida entre o Agentspace (o consumidor) e o produtor, verifique o projeto locatário do Agentspace vinculado ao serviço do produtor. Ele pode ser encontrado em "Projetos conectados". O ID do projeto do locatário é atribuído aleatoriamente, mas sempre termina com "tp".

No console do Cloud, é possível validar a conexão do PSC. No console do Cloud, navegue até:

Serviços de rede → Private Service Connect → Serviço publicado e selecione o serviço cc-database1-svc-attachment.

4ae5916ea5402c1e.png

11. Limpar

Excluir componentes do laboratório em um único terminal do Cloud Shell

gcloud compute service-attachments delete cc-database1-svc-attachment --region=$region -q

gcloud compute forwarding-rules delete producer-hybrid-neg-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=agentspace-psc-demo-policy  --name=agentspace-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete agentspace-psc-demo-policy --global -q

gcloud compute network-endpoint-groups delete on-prem-hybrid-neg --zone=$zone -q

gcloud compute addresses delete hybrid-neg-lb-ip --region=$region -q

gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q

gcloud compute health-checks delete on-prem-443-healthcheck --region=us-central1 -q

gcloud compute networks delete agentspace-psc-demo -q

12. Parabéns

Parabéns, você configurou e publicou um serviço de produtor com o Private Service Connect.

Você criou a infraestrutura do produtor, aprendeu a criar um NEG híbrido, um serviço do produtor e associar o anexo de serviço ao Agentspace.

O Cosmopup acha que os codelabs são incríveis!

c911c127bffdee57.jpeg

Qual é a próxima etapa?

Confira alguns destes codelabs:

Leituras e vídeos complementares

Documentos de referência