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 (Google Cloud Core) é um ambiente de implantação que se integra profundamente ao Google Cloud Platform. 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 sua instância for qualificada e você tiver atualizado o contrato do Looker (original) para incluir o Looker (Google Cloud Core), siga 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 (núcleo do Google Cloud) vai residir:

    • Crie uma instância do Looker (Google Cloud Core): Administrador do Looker (roles/looker.admin).
    • Atribua papéis do IAM no seu 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. Crie uma nova instância "vazia" do Looker (Google Cloud Core).

    Selecione a edição adequada, o tipo de conexão de rede (IP público ou privado) e outros atributos de configuração (CMEK, VPC-SC) para a nova instância do Looker (Google Cloud Core) para garantir que ela tenha os recursos necessários. Alguns dos recursos do Looker (Google Cloud Core) dependem da edição selecionada ou do tipo de rede selecionado.

    Deixe a instância "vazia". não 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 sã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 de instâncias 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 seguintes etapas.

  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 a nova instância "vazia" 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 a 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.

  • 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 sua instância do Looker (original) já usa o Google OAuth, todos os registros de usuário serão transferidos, mas você ainda precisa criar manualmente as 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, a configuração Mesclar usuários usando na página SAML authentication do painel administrativo precisa ser definida como Google ou OIDC para evitar um erro ao testar a autenticação SAML.
    • Se a instância do Looker (original) usar OIDC, a configuração Mesclar usuários usando na página do painel do administrador Autenticação do OpenID Connect precisará 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 outra do Looker (núcleo do Google Cloud)) vão ser executadas em paralelo por algum tempo. Qualquer atividade automática que ocorrer (como alertas e entregas de dados programadas, bem como atividade em segundo plano que acessa bancos de dados de back-end) pode ser duplicada. Para evitar atividades duplicadas, exclua os alertas automáticos e as 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.

Crie 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 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 aparecerão 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 o processo.

O processo de exportação leva de alguns 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 Importar dados de um bucket do 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 resumo, isso envolve o seguinte:

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

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

Concluir 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 incluem:

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

A maioria das configurações gerais e outras configurações no painel do administrador não são copiadas automaticamente porque tendem a ser diferentes ou não existem no mesmo formato no Looker (núcleo do Google Cloud). 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 no Looker (Google Cloud Core).

Usuários

O Looker (Google Cloud Core) só oferece suporte 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 OAuth do Google, os registros do 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 do IAM de administrador do Looker ou de usuário da instância do Looker 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) estiverem fazendo a autenticação usando um mecanismo que não é aceito pelo Looker (Google Cloud Core), como LDAP ou e-mail/senha, essas contas de usuário precisarão ser recriadas e convertidas em um método de autenticação aceito.

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 (núcleo do Google Cloud) pode impedir que as conexões do banco de dados funcionem imediatamente. Por exemplo, se os bancos de dados forem acessados por firewalls ou túneis específicos da instância do Looker (original), 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 o 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 precisar autenticar novamente o OAuth quando acessarem uma Análise ou um painel que faça referência a uma conexão de banco de dados OAuth. Os usuários também podem fazer a autenticação novamente nos bancos de dados acessando a página Conta e selecionando Fazer login para cada banco de dados no cabeçalho Credenciais de conexão do OAuth. Qualquer programação ou alerta automático de um único usuário que faz referência a uma conexão OAuth será interrompido até que o usuário faça login com as credenciais OAuth.

Conexões de repositório do Git

Se a instância estiver usando repositórios Git básicos, eles vão funcionar 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.

As programações ou os alertas automáticos que pertencem a um único usuário e fazem referência à conexão OAuth dele serão interrompidas até que o usuário faça login com as credenciais do OAuth.

Janelas de manutenção

Ao contrário do Looker (original), é possível especificar uma política de manutenção para o Looker (Google Cloud Core).

Atividade do sistema para clientes elite

Os dados de atividade do sistema 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). Você precisa 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 ele for ativado e o método de autenticação for 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 a instância do Looker (Google Cloud Core) usando o URL personalizado da instância do Looker (original), o domínio personalizado precisa ser configurado após a conclusão da migração e depois que você confirmar que a instância do Looker (Google Cloud Core) está pronta para uso. 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 for ativado, os marcadores de 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 (Google Cloud Core) usam slugs de conteúdo alfanumérico nos URLs em vez de IDs de conteúdo numéricos, mas um favorito com um ID de conteúdo ainda vai redirecionar 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 conclusão da migração.

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.

Desativar a instância do Looker (original)

Quando a instância migrada do Looker (núcleo do Google Cloud) estiver funcionando de forma satisfatória, você poderá enviar aos usuários o URL da instância e instruí-los a começar a acessá-la e parar de acessar a 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.

As fontes comuns de erros são as seguintes:

  • O bucket do Cloud Storage, a chave do KMS ou o <export-service-account> é inválido.
  • 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 mais se a instância de origem for muito grande) ou se ela for encerrada com um erro, talvez seja necessário abrir um tíquete com o Cloud Customer Care para resolver o problema. Existem relativamente poucos diagnósticos que podem ser vistos diretamente pelo cliente nessa operação.

A seguir