Looker PSC Northbound Regional External L7 ALB

1. Introdução

Neste codelab, você vai criar um back-end do Private Service Connect e do balanceador de carga de aplicativo regional L7 para ter acesso de entrada 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.

259493afd914f68b.png

O que você vai aprender

  • Requisitos de rede
  • Atualização da 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 externo regional e um NEG de back-end PSC que exige um certificado autoassinado ou do Google. Em ambos os métodos, é necessário um domínio registrado que corresponda ao domínio personalizado definido no Looker.

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 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 do PSC.

4. Topologia do codelab

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

Reserve o endereço IP do balanceador de carga

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

gcloud compute addresses create regional-alb-static-ip  \
   --region=$region \
   --network-tier=STANDARD

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

gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:

Exemplo de saída:

user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address: 
address: 35.208.202.244

8. Criar um domínio personalizado

Siga estas etapas para estabelecer um domínio personalizado:

Exemplo de domínio personalizado

O domínio personalizado looker.cosmopup.com existe como um subdomínio DNS público associado a um registro A dos endereços IP estáticos (regional-alb-static-ip) definidos anteriormente. Veja a captura de tela tirada de um terminal que valida a pesquisa DNS.

6be44a9b2536e3f4.png

Em seguida, crie o domínio do cliente usando o subdomínio looker.cosmopup.com

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 regional

Nas etapas a seguir, você vai usar o console do Cloud para criar o balanceador de carga de aplicativo externo 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:

63c2e656953444f2.png

Criar a configuração de front-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
  • A sub-rede somente proxy é preenchida automaticamente com base na sua região
  • O IP estático definido anteriormente está disponível com base na sua região

a1c24bd4650b27d3.png

Ao selecionar "Certificado", a opção para usar um certificado atual ou novo é aberta:

aac196a6fa1ee3d5.png

Faça upload do certificado e da chave privada e selecione CRIAR:

64a390bda0c9c3f1.png

Selecione CONCLUÍDO para concluir a configuração de front-end:

758a1921e3020854.png

Criar a configuração de back-end

Selecione as seguintes opções:

e9bf17b1277bd597.png

af3b4a59864b15bc.png

6c784cc0169c892b.png

ba3bf9fa7d3497a5.png

Criar as regras de roteamento

Selecione as seguintes opções (padrão):

8884421f10a50ce0.png

Revisar e finalizar

Verifique a configuração e selecione CREATE:

bdf5793ba8f46bb9.png

O balanceador de carga está ativado:

61adc0509f07ab15.png

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

12. Limpar

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

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

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

gcloud compute url-maps delete regional-external-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

13. Parabéns

Parabéns, você configurou e validou a conectividade de sentido único para o Looker usando um domínio do cliente e um balanceador de carga de aplicativo externo 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:

Leituras e vídeos complementares

Documentos de referência