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. Você pode 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 sua instância do Looker (original) está 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 que conceda 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 de 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 como conceder papéis, consulte Gerenciar acesso.

    Também é possível receber as permissões necessárias com papéis personalizados ou 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 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 ou do tipo de rede selecionado.

    Deixe a instância "vazia". Não a preencha com dados como arquivos de modelo, usuários, conexões, Análises, dashboards 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 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 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 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, confirme todos os arquivos de todos os projetos do Modo de Desenvolvimento nos repositórios do Git antes de iniciar a migração.

  • 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) 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 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 sua instância do Looker (Google Cloud Core) usar SAML ou OpenID Connect como um método de autenticação, configure também o Google OAuth, que atua como método de autenticação de backup para o 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 ocorrer (como alertas e relatórios programados, bem como atividade em segundo plano que acessa 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.

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 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 garantir que a instância está pronta para migração, criar uma instância "vazia" do Looker (Google Cloud Core) e criar um local para armazenar 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 a exportação.

O processo de exportação leva de minutos a horas. Quando a exportação for 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 a nova instância "vazia" do Looker (Google Cloud Core)

Depois da exportação, é possível importar os dados da instância para o 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 papéis a seguir para conceder acesso ao bucket e a chave do KMS à conta de serviço do Looker (não ao <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 incluem:

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) 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 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. Você deve testar cada conexão e restabelecê-las, se necessário.

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.

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). Defina 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), faça a configuração dele após a migração e depois de confirmar 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ê usa 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 sua 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 (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 mais importantes da instância antes de considerar a conclusão da migração.

Quando a migração estiver concluída e você tiver certeza de que não vai precisar de outra exportação, é possível excluir o <export-service-account> criado anteriormente, o que torna inútil a chave JSON que foi compartilhada para ela.

Desativar a 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. Clicar no status ERRO mostra uma mensagem de erro.

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