ALB L7 interno regional de PSC do Looker

Sobre este codelab
schedule47 minutos
subjectÚltimo 2 de abril de 2025 atualizado
account_circleEscrito por Deepak Michael

Neste codelab, você vai criar um back-end do Private Service Connect e um balanceador de carga de aplicativo interno regional L7 para ter acesso de norte para sul ao Looker. O acesso de norte a sul ao Looker exige que a VPC do consumidor esteja na lista de permissões da instância PSC do Looker.

O Private Service Connect é um recurso da rede do Google Cloud que permite que consumidores acessem serviços gerenciados de maneira particular na rede VPC deles. Da mesma forma, ele permite que produtores do serviço gerenciado hospedem esses serviços em redes VPC separadas e ofereçam uma conexão particular aos consumidores. Por exemplo, quando você usa o Private Service Connect para acessar o Looker, você é o consumidor de serviços e o Google é o produtor de serviços, conforme destacado na Figura 1.

Figura 1.

145ea4672c3a3b14.png

O acesso de ida, também conhecido como PSC reverso, permite que o consumidor crie um serviço publicado como produtor para permitir que o Looker acesse endpoints locais, em uma VPC, serviços gerenciados e a Internet. As conexões de saída podem ser implantadas em qualquer região, independentemente de onde o PSC do Looker está implantado, conforme destacado na Figura 2.

Figura 2.

3edfcc67e195d082.png

O que você vai aprender

  • Requisitos de rede
  • Atualizar a lista de permissões do Looker para acesso de norte
  • Criar um back-end do Private Service Connect na VPC do consumidor
  • Certificados autoassinados e do Google

O que é necessário

def88091b42bfe4d.png

2. O que você vai criar

Você vai estabelecer uma rede de consumidor na lista de permissões, looker-psc-demo, para implantar um balanceador de carga de aplicativo L7 interno regional e um NEG de back-end do PSC que exige um certificado autogerenciado ou do Google. Para mais detalhes, consulte a página de resumo do balanceador de carga e do certificado.

3. Requisitos de rede

Confira abaixo os requisitos de rede:

Componentes

Descrição

VPC (looker-psc-demo)

VPC de modo personalizado

Sub-rede PSC NEG

Usado para alocar um endereço IP para o grupo de endpoints de rede

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 um endpoint ou VM de back-end têm um endereço IP de origem da sub-rede somente proxy.

Serviço de back-end

Um serviço de back-end funciona 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 do PSC.

4. Topologia do codelab

2f6bb87ef0e139b2.png

5. 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.

6. 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]
echo $project
echo $region

Ative todos os serviços necessários:

gcloud services enable compute.googleapis.com

7. Rede do consumidor

Na próxima seção, você vai criar a rede de consumidor que será atualizada na lista de permissões da VPC do PSC do Looker.

Rede VPC

No Cloud Shell, faça o seguinte:

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

Criar sub-redes

No Cloud Shell, crie a sub-rede do grupo de endpoints de rede do consumidor:

gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

No Cloud Shell, crie a sub-rede do balanceador de carga de aplicativo interno:

gcloud compute networks subnets create consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.0/28 --region $region --enable-private-ip-google-access

No Cloud Shell, crie a sub-rede somente proxy regional do produtor:

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

8. Criar um domínio personalizado

Siga as etapas abaixo para estabelecer um domínio personalizado:

No exemplo abaixo, looker.cosmopup.com é o domínio personalizado.

5424ce99136d5b3a.png

Exemplo de OAuth

Confira abaixo um exemplo de credenciais OAuth para origens autorizadas e callback para o subdomínio looker.cosmopup.com.

c7e5b8c7d2cc6a01.png

9. Certificados

É possível criar certificados do Compute Engine ou do Gerenciador de certificados. Use um dos métodos a seguir para criar certificados usando o Gerenciador de certificados:

10. Lista de permissões da VPC do Looker

Conferir as VPCs permitidas

Na próxima seção, você vai usar a interface do Cloud Console para conferir a lista de VPCs permitidos do Looker.

No console do Cloud, navegue até:

Looker → Instância do Looker → Detalhes

Exemplo abaixo, nenhuma entrada está na lista de VPCs permitidas:

ad33177a2d721ea7.png

Atualizar VPCs permitidas

Atualize sua instância do Looker para oferecer suporte ao acesso de norte a sul adicionando looker-psc-demo como uma VPC permitida.

No console do Cloud, navegue até:

Looker → Instância do Looker → Editar

cbbc069688890b82.png

Conexões → VPCs permitidas

Selecione o projeto em que o looker-psc-demo está implantado, seguido pelo looker-psc-demo da VPC e clique em "Continuar".

dc931643e1b220a.png

3e26d16d83cceae9.png

Validar VPCs permitidas

Acessar a lista de VPCs permitidas atualizada

No console do Cloud, navegue até:

Looker → Instância do Looker → Detalhes

e34664c867929c66.png

11. Criar back-end do PSC

O PSC do Looker como produtor de serviços gera um URI de anexo de serviço usado pelos consumidores de serviços para implantar endpoints e back-ends e ter acesso ao Looker. Na próxima etapa, você vai identificar o URI do anexo de serviço do PSC do Looker e criar um back-end de grupo de endpoints de rede (NEG) do Private Service Connect na VPC do consumidor.

Identificar o anexo do serviço PSC do Looker

No console do Cloud, navegue e copie o URI do anexo de serviço:

Looker → Instância do Looker → Detalhes

a253f94e946a1eef.png

Criar o grupo de endpoints de rede do PSC

No Cloud Shell, faça o seguinte para atualizar o psc-target-service:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

Exemplo:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
 --psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

Validar a criação de um grupo de endpoints de rede PSC

No Cloud Shell, faça o seguinte, garantindo que o pscConnectionStatus seja aceito:

gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:

Exemplo:

user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus: 
  pscConnectionStatus: ACCEPTED

Criar um balanceador de carga de aplicativo interno regional

Nas etapas a seguir, você vai usar o console do Cloud para criar o balanceador de carga de aplicativo interno regional e associar os certificados gerados à configuração do front-end.

No console do Cloud, navegue até:

Serviços de rede → Balanceamento de carga → Criar balanceador de carga

e3474ca153d7c55a.png

Selecione as seguintes opções:

c80afa6a28b6d922.png

Criar a configuração de back-end

Selecione as opções a seguir e personalize o ambiente com base na sua implantação:

  • Região usada na implantação da infraestrutura de rede
  • Rede: looker-psc-demo
  • A sub-rede somente proxy é preenchida automaticamente com base na sua região e rede

115627dc54d7a582.png

b3eaa88dd02a95c1.png

cf519145f0259061.png

530527bc9273e002.png

Regras de roteamento

Não é necessário configurar

53a80d74b3c7dd56.png

Configuração de front-end

29faa25397025fb4.png

538da2b4930d243b.png

bbc13e921681dd65.png

Verifique se o balanceador de carga está ativado e obtenha o endereço IP.

No console do Cloud → Serviços de rede → Balanceamento de carga → looker-ilb-alb

abc7d02b4c951c73.png

12. resolução de DNS

A resolução de DNS para o domínio personalizado pode ser autoritativa no local ou no Cloud DNS. Neste tutorial, vamos definir o Cloud DNS como o servidor autoritativo para o domínio personalizado do Looker. Ativar a resolução de DNS do local para o GCP requer a ativação das políticas de servidor de entrada. Quando você cria uma política de servidor de entrada, o Cloud DNS cria pontos de entrada de políticas de servidor de entrada na rede VPC a que a política de servidor é aplicada. Os pontos de entrada da política de servidor de entrada são endereços IPv4 internos provenientes do intervalo de endereços IPv4 principal de cada sub-rede na rede VPC aplicável, exceto para sub-redes somente proxy.

Na seção a seguir, uma zona de DNS particular para o domínio personalizado do Looker, looker.cosmopup.com e um registro A é criado, consistindo no endereço IP do balanceador de carga.

13. Criar uma zona de DNS particular

No Cloud Shell, crie a zona particular do Cloud DNS.

gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"

No Cloud Shell, crie o registro A que consiste no endereço IP do balanceador de carga, obtido na etapa anterior.

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"

Exemplo:

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"

Em seguida, a rede híbrida (por exemplo, Interconnect, VPN de alta disponibilidade) precisa ser configurada entre a VPC looker-psc-demo e a rede local para ativar a conectividade.

Confira abaixo as etapas necessárias para estabelecer a conectividade do NEG híbrido no local:

Acessar a interface do Looker

Agora que o balanceador de carga está operacional, você pode acessar seu domínio do Looker personalizado em um navegador da Web. É importante observar que você pode encontrar um aviso dependendo do tipo de certificado que está usando, por exemplo, certificado não confiável x confiável.

Confira abaixo um exemplo (certificado não confiável) de acesso ao domínio personalizado do Looker, looker.cosmopup.com, que tem acesso norte à interface do Looker:

ae43d0d0d7136044.png

14. Limpar

Em um único terminal do Cloud Shell, exclua os componentes do laboratório:

gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q

gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q

gcloud compute url-maps delete regional-internal-alb --region=$region -q

gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q

gcloud compute addresses delete regional-alb-static-ip --region=$region -q

gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q

gcloud compute networks delete looker-psc-demo -q

15. Parabéns

Parabéns! Você configurou e validou a conectividade de sentido norte para o Looker usando um domínio do cliente e um balanceador de carga de aplicativo interno regional.

Você criou a infraestrutura do consumidor, aprendeu a criar um NEG de PSC, um domínio personalizado e conheceu as diferentes opções de certificado. Há muitas coisas interessantes para você começar a usar o Looker.

Cosmopup acha que os codelabs são incríveis.

c911c127bffdee57.jpeg

Qual é a próxima etapa?

Confira alguns destes codelabs:

Mais leituras e vídeos

Documentos de referência