Acesso público de entrada a uma instância do Looker (Google Cloud Core) usando o Private Service Connect

Para fornecer acesso público de entrada à sua instância do Looker (Google Cloud Core), configure o Private Service Connect com autenticação de domínio personalizado. O Private Service Connect oferece duas maneiras para os clientes se conectarem: de maneira privada na sua rede VPC ou publicamente por um balanceador de carga externo.

Uma implantação comum do Looker (Google Cloud Core) usa um domínio personalizado e um back-end do Private Service Connect com um balanceador de carga de aplicativo. Essa configuração usa a autenticação de certificado de domínio personalizado, que ajuda a adicionar uma camada de segurança e controle para o acesso do usuário. É necessário ativar o Private Service Connect para a instância do Looker (Google Cloud Core) durante a criação dela para usar essa funcionalidade.

Ao usar o Private Service Connect para acessar o Looker (Google Cloud Core), você é o consumidor de serviço, e o Looker (Google Cloud Core) é o produtor de serviços. O acesso de entrada ao Looker (Google Cloud Core) exige que a VPC do consumidor seja adicionada como uma VPC permitida para a instância do Private Service Connect do Looker (Google Cloud Core).

Criar um domínio personalizado

A primeira etapa após a criação da instância do Looker (Google Cloud Core) é configurar um domínio personalizado e atualizar as credenciais OAuth da instância. As próximas seções vão orientar você no processo.

Ao criar um domínio personalizado para instâncias de conexões particulares (Private Service Connect), ele precisa atender aos seguintes requisitos:

  • O domínio personalizado precisa ter pelo menos três partes, incluindo pelo menos um subdomínio. Por exemplo, subdomain.domain.com.
  • O domínio personalizado não pode conter nenhum dos seguintes:
    • looker.com
    • google.com
    • googleapis.com
    • gcr.io
    • pkg.dev

Configurar um domínio personalizado

Depois que a instância do Looker (Google Cloud Core) for criada, você poderá configurar um domínio personalizado.

Antes de começar

Antes de personalizar o domínio da instância do Looker (Google Cloud Core), identifique onde os registros DNS do seu domínio estão armazenados para que você possa atualizá-los.

Funções exigidas

Para receber as permissões necessárias para criar um domínio personalizado para uma instância do Looker (Google Cloud Core), peça para o administrador conceder a você opapel do IAM de Administrador do Looker (roles/looker.admin) no projeto em que a instância reside. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Criar um domínio personalizado

No Google Cloud console, siga estas etapas para personalizar o domínio da instância do Looker (Google Cloud Core):

  1. Na página Instâncias, clique no nome da instância para a qual você quer configurar um domínio personalizado.
  2. Clique na guia Domínio personalizado.
  3. Clique em Adicionar um domínio personalizado.

    Isso abre o painel Adicionar um novo domínio personalizado.

  4. Usando apenas letras, números e traços, insira o nome do host de até 64 caracteres para o domínio da Web que você quer usar. Por exemplo: looker.examplepetstore.com.

  5. Clique no botão Continuar.

  6. A seção Atualizar seus registros DNS é aberta. O IP público de entrada é listado no campo Dados.

  7. Clique em CONCLUÍDO no painel Adicionar um novo domínio personalizado para retornar à guia DOMÍNIO PERSONALIZADO.

A atualização do domínio personalizado leva de 10 a 15 minutos para ser concluída.

Depois que o domínio personalizado for configurado, ele será exibido na coluna Domínio na guia DOMÍNIO PERSONALIZADO da página de detalhes da instância do Looker (Google Cloud Core) no Google Cloud console.

Depois que o domínio personalizado for criado, você poderá conferir informações sobre ele ou excluí-lo.

Atualizar as credenciais OAuth

  1. Acesse o cliente OAuth navegando no Google Cloud console até APIs e serviços > Credenciais e selecionando o ID do cliente OAuth usado pela instância do Looker (Google Cloud Core).
  2. Clique no botão Adicionar URI para atualizar o campo Origens JavaScript autorizadas no cliente OAuth para incluir o mesmo nome DNS que sua organização usará para acessar o Looker (Google Cloud Core). Por exemplo, se o domínio personalizado for looker.examplepetstore.com, insira looker.examplepetstore.com como o URI.

  3. Atualize ou adicione o domínio personalizado à lista de URIs de redirecionamento autorizados para as credenciais OAuth usadas ao criar a instância do Looker (Google Cloud Core). Adicione /oauth2callback ao final do URI. Por exemplo, se o domínio personalizado for looker.examplepetstore.com, insira looker.examplepetstore.com/oauth2callback.

Acesso público ao Looker (Google Cloud Core)

Depois de configurar o domínio personalizado, a próxima etapa é criar um certificado autoassinado ou gerenciado pelo Google com autorização de DNS. Depois que o certificado for criado, você poderá implantar um balanceador de carga de aplicativo externo regional com um back-end do Private Service Connect como o serviço de back-end. Depois que o balanceador de carga for implantado, você poderá atualizar o DNS público com o domínio do cliente e o endereço IP do balanceador de carga como o registro A.

Funções exigidas

Papel

Descrição

Administrador de rede do Compute (roles/compute.networkAdmin)

Concede controle total sobre a rede VPC que inicia uma conexão com uma instância do Looker (Google Cloud Core), incluindo a criação e o gerenciamento de um proxy de destino HTTPS.

Papel de administrador do Compute Load Balancer (roles/compute.loadBalancerAdmin)

Crie back-ends do Private Service Connect.

Administrador do Looker (roles/looker.admin)

Concede controle total sobre os recursos do Looker (Google Cloud Core), incluindo a criação de uma instância ativada para o Private Service Connect e a criação de um domínio personalizado.

Administrador do DNS (roles/dns.admin) (opcional)

Concede controle total sobre os recursos do Cloud DNS, incluindo zonas e registros DNS.

Proprietário do Certificate Manager (roles/certificatemanager.owner) (opcional)

Necessário para criar e gerenciar recursos do Certificate Manager.

Configuração de rede

Os seguintes componentes de rede são necessários:

O Looker (Google Cloud Core) implantado com o Private Service Connect oferece suporte a grupos de endpoints de rede (NEGs, na sigla em inglês) do Private Service Connect, chamados de back-ends, que são integrados aos Google Cloud balanceadores de carga. Consulte o codelab do ALB externo regional L7 do PSC do Looker para instruções sobre como acessar publicamente uma instância do Looker (Google Cloud Core) ativada para o Private Service Connect usando um back-end.

Um exemplo de configuração de rede de back-end do Private Service Connect para acesso público é mostrado no diagrama a seguir:

A arquitetura de rede para acessar uma instância do Looker (Google Cloud Core) no local usando um back-end.

Como mostrado no diagrama, os clientes públicos acessam o Looker (Google Cloud Core) realizando uma busca DNS especificando o domínio do cliente do Looker (Google Cloud Core) que retorna o endereço IP do balanceador de carga de aplicativo externo regional como o registro A. Depois que o tráfego é recebido pelo balanceador de carga, o serviço de back-end (que consiste no back-end do Private Service Connect) se conecta a um anexo de serviço em uma VPC do produtor gerenciada pelo Google que hospeda o Looker (Google Cloud Core). Verifique se a rede VPC do consumidor tem permissão de entrada na instância do Looker (Google Cloud Core).

Solução de problemas

Ao configurar o acesso de entrada a uma instância do Looker (Google Cloud Core) usando um back-end do Private Service Connect, você pode encontrar problemas em que a instância não é provisionada ou o balanceador de carga não consegue acessar o serviço de back-end.

Se os registros do balanceador de carga mostrarem erros failed_to_pick_backend e no healthy upstream (HTTP 503) e o grupo de endpoints de rede (NEG) permanecer preso em um status pending, as etapas obrigatórias de configuração de rede para o projeto do consumidor estarão ausentes. Especificamente, o projeto do consumidor não está autorizado a se conectar ao serviço do produtor do Looker (Google Cloud Core) ou um recurso de anexo de rede não foi criado na VPC do consumidor.

Para resolver esses problemas, conclua as seguintes etapas obrigatórias de configuração de rede:

  1. Lista de permissões da VPC: adicione a rede do consumidor à lista de VPCs permitidas para conexões de entrada nas configurações do Looker (Google Cloud Core). A adição dessa rede autoriza a VPC do consumidor a estabelecer uma conexão com o serviço do produtor do Looker (Google Cloud Core).
  2. Configuração do anexo de rede: crie um recurso de anexo de rede na VPC do consumidor e associe-o à instância do Looker (Google Cloud Core).

A seguir