Migração de autoatendimento do Looker (original) para o Looker (Google Cloud Core)

Neste documento, descrevemos as etapas técnicas para migrar sua instância atual do Looker do ambiente Looker (original) para o Looker (Google Cloud Core).

O Looker (núcleo do Google Cloud) é um ambiente de implantação integrado à plataforma Google Cloud. o Looker (Google Cloud Core) está hospedado na infraestrutura do Google Cloud; é possível gerenciá-lo diretamente pelo console do Google Cloud; e tem integrações profundas com muitos dos outros produtos, serviços e recursos do Google Cloud.

Antes de começar

  1. Consulte a documentação a seguir para conhecer os princípios e as ferramentas do Google Cloud:
  2. Converse com o representante da sua conta sobre a migração e se a instância do Looker (original) é qualificada. Se a instância estiver qualificada e você tiver feito upgrade do contrato atual do Looker (original) para cobrir o Looker (Google Cloud Core), conclua as etapas deste documento para migrar a instância.
  3. Para receber as permissões necessárias para se preparar para a migração, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto do Google Cloud em que a instância do Looker (Google Cloud Core) vai residir:

    • Crie uma instância do Looker (Google Cloud Core): Administrador do Looker (roles/looker.admin).
    • Atribua papéis do IAM no projeto do Google Cloud: Administrador de IAM do projeto (roles/resourcemanager.projectIamAdmin).
    • Crie um bucket do Cloud Storage: Administrador do Storage (roles/storage.admin).

    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 por meio de papéis personalizados ou de outros papéis predefinidos.

  4. Para gerenciar a instância do Looker (original) em preparação para a migração, você precisa ter o papel de administrador do Looker nessa instância.
  5. Criar um novo arquivo "empty" instância do Looker (Google Cloud Core).

    Selecione a edição, o tipo de conexão de rede (IP público ou IP particular) e outros atributos de configuração (CMEK, VPC-SC) adequados para a nova instância do Looker (núcleo do Google Cloud) e verifique se ela tem os recursos necessários. Alguns dos recursos do Looker (Google Cloud Core) dependem da edição ou do tipo de rede selecionado.

    Deixe a instância "vazia", ou seja, não preencha com dados, como arquivos de modelo, usuários, conexões, análises, painéis ou pastas. Durante a etapa de importação, todas as configurações ou conteúdos serão excluídos e substituídos pelos dados da migração.

    No entanto, os atributos de configuração do Looker (Google Cloud Core) especificados no console do Google Cloud ou que só podem ser especificados durante a criação da instância não são substituídos durante o processo de migração.

Visão geral

De modo geral, o processo de migração consiste nas etapas a seguir.

  1. Verifique se a instância do Looker (original) está pronta para migração.
  2. Exportar os dados da instância do Looker (original).
  3. Importe os dados para o novo arquivo "empty" Instância do Looker (Google Cloud Core).
  4. Finalize a configuração da instância do Looker (Google Cloud Core).
  5. Desativar a instância do Looker (original).

As seções a seguir fornecem detalhes sobre cada uma dessas etapas.

Verifique se a instância do Looker (original) está pronta para migração

Sua instância do Looker (original) precisa atender aos seguintes pré-requisitos para se qualificar para a migração:

  • Sua instância do Looker (original) precisa ser gerenciada pelo Google (ou seja, não hospedada pelo cliente) e hospedada no Google Cloud ou na Amazon Web Services.
  • Sua instância do Looker (original) precisa usar uma versão dentro de uma versão mensal da versão atual do Looker (Google Cloud Core). Para encontrar a versão atual do Looker (Google Cloud Core), consulte as notas da versão do Looker e encontre o anúncio de implantação mais recente.

Além disso, execute as seguintes atividades antes da migração:

  • Há um pequeno conjunto de diferenças de recursos entre o Looker (original) e o Looker (Google Cloud Core). Analise essas diferenças para garantir que os recursos do Looker (Google Cloud core) atendam às suas necessidades atuais.

  • A migração copia todos os projetos do Modo de Produção e os arquivos de modelo que eles contêm, mas não os projetos do Modo de Desenvolvimento que pertencem a usuários individuais. Para garantir que os arquivos do Modo de desenvolvimento sejam transferidos durante a migração, você precisa confirmar todos os arquivos em todos os projetos do Modo de desenvolvimento nos repositórios do Git antes de iniciar a migração.

  • O Looker (Google Cloud Core) oferece suporte apenas aos métodos de autenticação Google OAuth, SAML e OpenID Connect.

    • Se a instância do Looker (original) usar um método de autenticação diferente (por exemplo, e-mail e senha, LDAP etc.), será necessário converter todos os usuários para um método de autenticação compatível com o Looker (Google Cloud Core).
    • Se a instância do Looker (original) já usa o OAuth do Google, todos os registros do usuário serão transferidos, mas ainda será necessário criar manualmente permissões do IAM para os usuários no projeto da sua instância do Looker (Google Cloud Core).
    • Se a instância do Looker (original) usar SAML, defina a configuração Mesclar usuários usando na página do painel do administrador Autenticação SAML como Google ou OIDC para evitar um erro ao testar a autenticação SAML.
    • Se a instância do Looker (original) usar o OIDC, a configuração Mesclar usuários usando na página do painel administrativo Autenticação do OpenID Connect precisa ser definida como Google ou SAML para evitar um erro ao testar a autenticação do OpenID Connect.
    • Se você estiver usando um provedor de identidade externo, atualize o URL de callback nele para o URL do Looker (Google Cloud Core). Assim, será possível fazer a autenticação na nova instância do Looker (Google Cloud Core).
    • Se a instância do Looker (Google Cloud Core) usar o SAML ou OpenID Connect como método de autenticação, configure também o Google OAuth, que atua como método de autenticação de backup do Looker (Google Cloud Core).
    • Se você for usar um domínio personalizado com sua instância do Looker (Google Cloud Core), não configure o SAML ou o OpenID Connect para ela até que o domínio personalizado seja ativado.
  • Durante a migração, duas instâncias do Looker, uma do Looker (original e uma do Looker (Google Cloud Core)), serão executadas em paralelo por algum tempo. Qualquer atividade automática que ocorra (como alertas e relatórios programados, bem como atividades em segundo plano que acessem bancos de dados de back-end) pode ser duplicada. Para evitar atividades duplicadas, exclua alertas automáticos e programações na instância do Looker (original) ou do Looker (Google Cloud Core).

Exportar os dados da sua instância do Looker (original)

A exportação dos dados das instâncias do Looker (original) requer duas etapas:

  1. Crie um local para armazenar os dados de migração.
  2. Inicie a exportação.

Criar um local para armazenar os dados de migração

Execute todas as operações a seguir no mesmo projeto do Google Cloud em que você criou a instância do Looker (Google Cloud Core).

  1. Crie um novo bucket do Cloud Storage (por exemplo, <bucket-name>).
    • Esse bucket será usado para armazenar os dados de migração.
    • Siga as instruções na página de documentação Criar buckets.
    • O <bucket-name> precisa ser exclusivo em todo o Google Cloud. É recomendável prefixar o nome do bucket com um identificador exclusivo, como o ID do projeto.
  2. Escolha um nome para uma pasta dentro do bucket do Cloud Storage (por exemplo, <folder-name>). Não crie a pasta agora. Especifique o nome da pasta durante a solicitação de exportação. Ele será criado automaticamente durante o processo de exportação.
  3. Crie um keyring e uma chave no Cloud KMS (por exemplo, <kms_keyring_id> e <kms-key-id>).
  4. Crie uma nova conta de serviço especificamente para a migração (por exemplo, <export-service-account>).
  5. Conceda a <export-service-account> dois papéis específicos do IAM:

  6. Crie uma chave da conta de serviço associada a <export-service-account> e faça o download do arquivo JSON dela.

Solicitar a exportação

Depois de verificar se a instância está pronta para a migração, criar uma instância "vazia" do Looker (Google Cloud core) e criar um local para armazenar os dados de migração, insira as seguintes informações na página Exportar no painel Administrador da instância do Looker (original):

  • O nome do bucket do Cloud Storage que você criou.
  • O nome da pasta do Cloud Storage: uma pasta com o mesmo nome será criada automaticamente durante a exportação. Quando a exportação for concluída, os arquivos vão aparecer em uma subpasta com carimbo de data/hora dentro dessa pasta no bucket do Cloud Storage que você criou.
  • O nome da chave KMS.
  • O texto JSON que contém a chave da conta de serviço.

Depois de inserir as informações na página Exportar, clique em Solicitar exportação para iniciar a exportação.

O processo de exportação leva de minutos a horas. Quando a exportação estiver concluída, vários arquivos de exportação (em formato não legível por humanos) vão aparecer no bucket e na pasta do Cloud Storage. Esses arquivos são entrada para a etapa de importação a seguir.

Importar os dados para o novo arquivo "empty" Instância do Looker (Google Cloud Core)

Depois que os dados da instância forem exportados, eles poderão ser importados para a instância do Looker (Google Cloud Core).

Siga as instruções na página Como importar dados de um Cloud Storage para uma instância do Looker (Google Cloud Core), apontando os comandos para o bucket e a pasta em que os arquivos de exportação foram colocados.

Em poucas palavras, isso envolve o seguinte:

  1. Atribua os seguintes papéis de acesso ao bucket e à chave KMS para a conta de serviço do Looker (não o <export-service-account>):
  2. Como acionar a importação usando o console do Google Cloud ou CLI gcloud

A operação de importação leva de minutos a horas. Quando ela for concluída, sua instância do Looker (Google Cloud Core) será reiniciada com todos os dados migrados.

Finalizar a configuração da instância do Looker (Google Cloud Core)

Agora, os administradores do Looker podem acessar o URL da instância e fazer login na instância para finalizar a configuração.

O processo de migração copia o máximo possível da configuração da instância do Looker (original). No entanto, alguns itens não podem ser migrados ou funcionam de maneira um pouco diferente no Looker (Google Cloud Core) e precisam ser ajustados.

Alguns itens que exigem atenção especial são:

Configurações gerais (no painel Administrador do Looker)

A maioria das configurações gerais (e outras configurações do painel **Administrador**) não é copiada automaticamente porque tendem a ser diferentes ou não existem na mesma forma no Looker (Google Cloud Core). Analise e defina cuidadosamente todas as configurações no contexto da configuração escolhida do Looker (Google Cloud Core). Consulte as páginas de documentação Administrar uma instância do Looker (Google Cloud Core) no Looker e Administrar uma instância do Looker (Google Cloud Core) no console do Google Cloud para mais informações sobre as configurações do Looker (Google Cloud Core).

Usuários

O Looker (Google Cloud Core) oferece suporte apenas aos métodos de autenticação Google OAuth, SAML e OpenID Connect.

Se a instância do Looker (original) também tiver sido configurada para o Google OAuth, os registros de usuário e os atributos deles serão copiados, desde que estejam associados ao mesmo ID do Google e endereço de e-mail nas duas instâncias. Um administrador do IAM do projeto precisa conceder a cada usuário o papel de IAM de usuário da instância do Looker ou de administrador no projeto do Google Cloud em que a instância está localizada.

Se a instância do Looker (original) foi configurada para SAML ou OpenID Connect, verifique se o campo Mesclar usuários usando do método de autenticação indica apenas métodos de autenticação compatíveis com o Looker (Google Cloud Core).

Se alguns usuários da instância do Looker (original) foram autenticados com um mecanismo não compatível com o Looker (Google Cloud Core), como LDAP ou e-mail/senha, essas contas precisarão ser recriadas e convertidas em um método de autenticação compatível.

Conexões de banco de dados

O Looker (Google Cloud Core) oferece suporte a um conjunto de dialetos de banco de dados um pouco diferente do Looker (original). Todas as propriedades de configuração das conexões de banco de dados (incluindo a string de conexão e a senha, se aplicável) são copiadas. No entanto, a topologia de rede diferente no Looker (Google Cloud Core) pode impedir que as conexões de banco de dados funcionem imediatamente. Por exemplo, se os bancos de dados forem acessados por firewalls ou túneis específicos da instância (original) do Looker, talvez seja necessário reconfigurar os firewalls ou túneis. Teste cada conexão e restabeleça se necessário.

Conexões de banco de dados usando OAuth

A migração do Looker (original) para o Looker (Google Cloud Core) não mantém o acesso ao OAuth nem os tokens de atualização dos usuários individuais. conexões de banco de dados ao BigQuery ou ao Snowflake. Após a migração, os usuários do Looker (Google Cloud Core) vão receber uma solicitação para fazer a autenticação novamente do OAuth ao acessar uma Análise ou um painel que faz referência a uma conexão de banco de dados OAuth. Os usuários também podem fazer uma nova autenticação nos bancos de dados acessando a página Conta e selecionando Fazer login em cada banco de dados no título Credenciais de conexão OAuth. As programações ou os alertas automáticos que pertencem a um único usuário e fazem referência a uma conexão OAuth serão interrompidos até que o usuário faça login com as credenciais do OAuth.

Conexões do repositório Git

Se a instância estiver usando repositórios Git básicos, eles funcionarão sem modificação (copiados, mas não compartilhados). Mas se a instância se conectar a repositórios remotos, essas conexões podem precisar ser verificadas e reativadas, da mesma forma que as conexões de banco de dados.

Outra configuração de rede

A instância do Looker pode ter outros tipos de conexões de rede, tanto de entrada quanto de saída (por exemplo, no contexto de IP privado, Hub de ações, Marketplace, e-mail etc.). Essas conexões de rede também precisam ser verificadas.

URL para acessar a instância do Looker (Google Cloud Core)

A instância do Looker (Google Cloud Core) vem com um URL principal que é atribuído aleatoriamente. Se a instância precisar ser acessada por um URL específico, configure um domínio personalizado.

Programações e alertas

Se as instâncias do Looker (original) e do Looker (Google Cloud Core) estiverem ativas simultaneamente, elas poderão gerar ações e alertas programados duplicados e realizar operações em segundo plano duplicadas que acessam bancos de dados conectados. Essas atividades precisam ser desativadas em uma das instâncias assim que possível.

Todas as programações ou alertas automáticos de um único usuário que fazem referência à conexão OAuth individual desse usuário serão interrompidos até que ele faça login com as credenciais OAuth.

Janelas de manutenção

Ao contrário do Looker (original), uma política de manutenção pode ser especificada para o Looker (Google Cloud Core).

Atividade do sistema para clientes elite

Os dados da Atividade do sistema para clientes de elite não são copiados como parte da migração. A instância do Looker (Google Cloud Core) vai começar com um novo histórico.

Domínio personalizado

É possível criar um domínio personalizado para sua instância do Looker (Google Cloud Core). É necessário definir os registros DNS para garantir a implantação do certificado SSL. Além disso, atualize o URL de callback no cliente de autenticação para o domínio personalizado depois que o domínio personalizado estiver ativado e o método de autenticação configurado. Não é possível criar domínios personalizados para o Looker (Google Cloud Core) usando um domínio looker.com.

Se você quiser criar um domínio personalizado para sua instância do Looker (Google Cloud Core) usando o URL personalizado da instância do Looker (original), ele deverá ser configurado após a migração e confirmação de que a instância do Looker (Google Cloud Core) está pronta para ser usada. Depois que o domínio personalizado for ativado, seus usuários vão ter acesso à instância do Looker (Google Cloud Core), e não à do Looker (original), quando acessarem o URL da instância.

Não configure o SAML ou o OpenID Connect na instância do Looker (Google Cloud Core) até que ela esteja pronta para uso, os registros DNS tenham sido atualizados e o domínio personalizado, ativado.

Favoritos

Se você estiver usando um URL personalizado na instância do Looker (original) que não usa o domínio looker.com, esse processo de migração vai manter os favoritos dos usuários se você criar um domínio personalizado para a instância do Looker (Google Cloud Core) usando o mesmo URL da instância do Looker (original).

Depois que o domínio personalizado estiver ativado, os favoritos para conteúdo do Looker (original), como https://www.yourcustomdomain.com/dashboard/123, vão apontar para o conteúdo na instância do Looker (Google Cloud Core). Observação: as edições Enterprise e Embed do Looker (núcleo do Google Cloud) usam slugs de conteúdo alfanuméricos nos URLs em vez de IDs de conteúdo numéricos, mas um marcador com um ID de conteúdo ainda redireciona corretamente para o mesmo conteúdo.

Esse processo não pode ser usado com URLs do Looker (original) que usam o domínio looker.com.

Esta não é uma lista completa. Teste todos os aspectos da instância que são mais importantes para você antes de considerar a migração como concluída.

Quando a migração for concluída e você tiver certeza de que não vai precisar de outra exportação, exclua o <export-service-account> criado anteriormente. Isso tornará a chave JSON compartilhada inútil.

Desativação da instância do Looker (original)

Quando a instância migrada do Looker (Google Cloud Core) estiver funcionando corretamente, envie aos usuários o URL da instância e os instrua a começar a acessá-la e interromper o acesso à instância do Looker (original).

Solução de problemas

As seções a seguir podem ajudar você a resolver problemas durante a importação ou exportação.

Problemas durante a exportação

Se houver um problema com a exportação dos dados do Looker (original), o status ERRO vai aparecer na página Exportar do painel Administrador. Ao clicar no status ERROR, uma mensagem de erro é exibida.

Causas comuns de erros são as seguintes:

  • O bucket do Cloud Storage, a chave KMS ou <export-service-account> são inválidos.
  • O <export-service-account> não tem as permissões necessárias.

Recomendamos confirmar o status desses objetos antes de enviar a solicitação de exportação.

Problemas durante a importação

Se a operação de importação não for concluída após quatro horas (ou possivelmente mais se a instância de origem for muito grande) ou se ela for encerrada por engano, talvez seja necessário abrir um tíquete no Cloud Customer Care para resolver o problema. Existem relativamente poucos diagnósticos que podem ser vistos diretamente pelo cliente nessa operação.

A seguir