1. Introdução
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.
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.
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
- Projeto do Google Cloud com permissões de proprietário
- Domínio registrado
- Instância PSC do Looker
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
5. Configuração e requisitos
Configuração de ambiente autoguiada
- 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.
- 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.
- 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:
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:
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.
Exemplo de OAuth
Confira abaixo um exemplo de credenciais OAuth para origens autorizadas e callback para o subdomínio looker.cosmopup.com.
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:
- Certificados regionais autogerenciados. Para informações sobre como criar e usar certificados autogerenciados regionais, consulte implantar um certificado autogerenciado regional. Mapas de certificados não são compatíveis.
- Certificados regionais gerenciados pelo Google. Mapas de certificados não são compatíveis. O Gerenciador de certificados aceita os seguintes tipos de certificados regionais gerenciados pelo Google:
- Certificados regionais gerenciados pelo Google com autorização de DNS por projeto. Para mais informações, consulte Implantar um certificado regional gerenciado pelo Google.
- Certificados (particulares) regionais gerenciados pelo Google com o Certificate Authority Service. Para mais informações, consulte Implantar um certificado regional gerenciado pelo Google com o serviço de AC.
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:
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
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".
Validar VPCs permitidas
Acessar a lista de VPCs permitidas atualizada
No console do Cloud, navegue até:
Looker → Instância do Looker → Detalhes
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
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
Selecione as seguintes opções:
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
Regras de roteamento
Não é necessário configurar
Configuração de front-end
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
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:
- Como escolher um produto de conectividade de rede | Google Cloud
- Em uma arquitetura hub-spoke com peering de VPC, o NEG híbrido é implantado na mesma VPC que o Cloud Router (hub).
- Verifique se os firewalls locais estão atualizados para acomodar o intervalo de sub-redes somente proxy, já que essa sub-rede serve como o endereço IP de origem para a comunicação com os workloads locais.
- Atualizar o DNS local com o endereço IP de encaminhamento de entrada como o resolvedor de DNS para looker.cosomopup.com
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:
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.
Qual é a próxima etapa?
Confira alguns destes codelabs:
- Como usar o Private Service Connect para publicar e consumir serviços
- Conectar-se a serviços on-prem por rede híbrida usando o Private Service Connect e um balanceador de carga do proxy TCP interno
- Acesso a todos os codelabs publicados do Private Service Connect
Mais leituras e vídeos
Documentos de referência
- Usar certificados SSL autogerenciados | Balanceamento de carga | Google Cloud
- Implantar um certificado regional gerenciado pelo Google
- Criar um back-end do Private Service Connect | VPC | Google Cloud
- Criar um back-end do Private Service Connect | VPC | Google Cloud
- Criar uma instância do Private Service Connect do Looker (Google Cloud Core)
- Como publicar um serviço usando o Private Service Connect