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 forma privada, da sua rede VPC, ou pública, 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. Você precisa ativar o Private Service Connect para sua 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 seções a seguir explicam o 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 elementos:
    • 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 sua instância do Looker (Google Cloud Core), identifique onde os registros DNS do domínio estão armazenados para poder 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 ao administrador para conceder a você o papel do IAM de Administrador do Looker (roles/looker.admin) no projeto em que a instância está localizada. 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 usando 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 sua instância do Looker (Google Cloud Core):

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

    O painel Adicionar um novo domínio personalizado será aberto.

  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 os 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 voltar à 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 é configurado, ele aparece na coluna Domínio da guia DOMÍNIO PERSONALIZADO na página de detalhes da instância do Looker (Google Cloud Core) no console do Google Cloud .

Depois de criar seu domínio personalizado, você pode ver informações sobre ele ou excluí-lo.

Atualizar as credenciais do OAuth

  1. Acesse seu cliente OAuth navegando no console Google Cloud até APIs e serviços > Credenciais e selecionando o ID do cliente OAuth usado pela sua instância do Looker (Google Cloud Core).
  2. Clique no botão Adicionar URI para atualizar o campo Origens JavaScript autorizadas no seu cliente OAuth e incluir o mesmo nome de DNS que sua organização vai 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, atualize seu 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 balanceador de carga do Compute (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 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 é compatível com grupos de endpoints de rede (NEGs) do Private Service Connect, chamados de back-ends, que são integrados aos balanceadores de carga do Google Cloud . Consulte o codelab ALB L7 externo regional de saída 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.

Conforme mostrado no diagrama, os clientes públicos acessam o Looker (Google Cloud Core) realizando uma busca DNS ao especificar o domínio do cliente do Looker (Google Cloud Core) que retorna o endereço IP do balanceador de carga de aplicativo regional externo como o registro A. Depois que o balanceador de carga recebe o tráfego, 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 de produtor gerenciada pelo Google que hospeda o Looker (Google Cloud Core). Verifique se a rede VPC do consumidor tem entrada permitida na sua 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, etapas obrigatórias de configuração de rede para o projeto do consumidor estarão faltando. 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 de VPC: adicione a rede do consumidor à lista de VPCs permitidas para conexões de entrada nas configurações do Looker (núcleo do Google Cloud). Ao adicionar essa rede, você autoriza a VPC do consumidor a estabelecer uma conexão com o serviço de produtor do Looker (Google Cloud Core).
  2. Configuração de 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