Migrazione self-service da Looker (originale) a Looker (Google Cloud core)

Questo documento illustra i passaggi tecnici per eseguire la migrazione dell'istanza di Looker esistente dall'ambiente Looker (originale) a Looker (Google Cloud core).

Looker (Google Cloud core) è un ambiente di deployment che si integra profondamente con la piattaforma Google Cloud. Looker (Google Cloud core) è ospitato sull'infrastruttura di Google Cloud, può essere gestito direttamente dalla console Google Cloud e offre profonde integrazioni con molti degli altri prodotti, servizi e funzionalità di Google Cloud.

Prima di iniziare

  1. Acquisisci familiarità con i principi e gli strumenti di Google Cloud esaminando la seguente documentazione:
  2. Consulta il rappresentante del tuo account per informazioni sulla migrazione e sull'idoneità dell'istanza di Looker (originale). Se la tua istanza è idonea e se hai eseguito l'upgrade del contratto Looker (originale) esistente per coprire Looker (Google Cloud core), puoi completare i passaggi in questo documento per eseguire la migrazione dell'istanza.
  3. Per ottenere le autorizzazioni necessarie per preparare la migrazione, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto Google Cloud in cui si troverà l'istanza di Looker (Google Cloud core):

    • Crea un'istanza di Looker (Google Cloud core): Amministratore Looker (roles/looker.admin).
    • Assegna ruoli IAM all'interno del progetto Google Cloud: Amministratore IAM del progetto (roles/resourcemanager.projectIamAdmin).
    • Crea un bucket Cloud Storage: Amministratore Storage (roles/storage.admin).

    Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

  4. Per gestire l'istanza di Looker (originale) in preparazione alla migrazione, devi disporre del ruolo Looker Amministratore nell'istanza.
  5. Crea una nuova istanza di Looker (Google Cloud core) "vuota".

    Assicurati di selezionare la versione, il tipo di connessione di rete (IP pubblico o IP privato) appropriati e altri attributi di configurazione (CMEK, VPC-SC) per la nuova istanza di Looker (Google Cloud core) per garantire che abbia le funzionalità necessarie. Alcune delle funzionalità di Looker (Google Cloud core) dipendono dalla versione selezionata o dal tipo di rete selezionato.

    Lascia "vuota" l'istanza; non compilarla con dati come file del modello, utenti, connessioni, esplorazioni, dashboard o cartelle. Durante la fase di importazione, eventuali impostazioni o contenuti verranno cancellati e sostituiti con i dati della migrazione.

    Tuttavia, gli attributi di configurazione di Looker (Google Cloud core) che vengono specificati tramite la console Google Cloud o che possono essere specificati solo durante la creazione dell'istanza non vengono sovrascritti durante il processo di migrazione.

Panoramica

A livello generale, il processo di migrazione prevede i seguenti passaggi.

  1. Assicurati che la tua istanza di Looker (originale) sia pronta per la migrazione.
  2. Esporta i dati dalla tua istanza di Looker (originale).
  3. Importa i dati nella nuova istanza di Looker (Google Cloud core) "vuota".
  4. Finalizza la configurazione dell'istanza di Looker (Google Cloud core).
  5. Dissocia l'istanza di Looker (originale).

Le sezioni seguenti forniscono dettagli su ciascuno di questi passaggi.

Assicurati che l'istanza di Looker (originale) sia pronta per la migrazione

Per essere idonea alla migrazione, l'istanza di Looker (originale) deve soddisfare i seguenti prerequisiti:

  • La tua istanza di Looker (originale) deve essere gestita da Google (in altre parole, non ospitata dal cliente) ed essere ospitata su Google Cloud o Amazon Web Services.
  • L'istanza di Looker (originale) deve utilizzare una versione compresa in una release mensile della versione attuale di Looker (Google Cloud core). Per trovare la versione attuale di Looker (Google Cloud core), consulta le note di rilascio di Looker e trova l'annuncio del deployment più recente.

Inoltre, prima della migrazione esegui le seguenti attività:

  • Esiste un piccolo insieme di differenze di funzionalità tra Looker (originale) e Looker (Google Cloud core). Esamina queste differenze per assicurarti che le funzionalità di Looker (Google Cloud core) soddisfino le tue esigenze attuali.

  • La migrazione copia tutti i progetti in modalità di produzione e i file del modello che contengono, ma non i progetti in modalità sviluppo che appartengono ai singoli utenti. Per assicurarti che i file in modalità di sviluppo vengano trasferiti durante la migrazione, devi eseguire il commit di tutti i file di tutti i progetti in modalità di sviluppo in repository Git prima di avviare la migrazione.

  • Looker (Google Cloud core) supporta solo i metodi di autenticazione Google OAuth, SAML e OpenID Connect.

    • Se la tua istanza di Looker (originale) utilizza un metodo di autenticazione diverso (ad esempio email e password, LDAP e così via), dovrai convertire tutti gli utenti in un metodo di autenticazione supportato da Looker (Google Cloud core).
    • Se la tua istanza di Looker (originale) utilizza già Google OAuth, tutti i record utente verranno trasferiti, ma devi comunque creare manualmente le autorizzazioni IAM per gli utenti nel progetto della tua istanza di Looker (Google Cloud core).
    • Se l'istanza di Looker (originale) utilizza SAML, l'impostazione Unisci utenti utilizzando nella pagina del pannello di amministrazione Autenticazione SAML deve essere impostata su Google o OIDC per evitare un errore durante il test dell'autenticazione SAML.
    • Se l'istanza di Looker (originale) utilizza OIDC, l'impostazione Unisci utenti utilizzando nella pagina del pannello di amministrazione Autenticazione OpenID Connect deve essere impostata su Google o SAML per evitare un errore quando testi l'autenticazione OpenID Connect.
    • Se utilizzi un provider di identità esterno, devi aggiornare l'URL di callback nel provider di identità con l'URL di Looker (Google Cloud core) per consentire l'autenticazione nella nuova istanza di Looker (Google Cloud core).
    • Se la tua istanza di Looker (Google Cloud core) utilizza SAML o OpenID Connect come metodo di autenticazione, ti consigliamo di configurare anche Google OAuth, che funge da metodo di autenticazione di backup per Looker (Google Cloud core).
    • Se intendi utilizzare un dominio personalizzato con la tua istanza di Looker (Google Cloud core), non configurare SAML o OpenID Connect per l'istanza finché il dominio personalizzato non viene attivato.
  • Durante la migrazione, verranno eseguite in parallelo per un certo periodo di tempo due istanze di Looker: una Looker (originale) e una Looker (Google Cloud core). Qualsiasi attività automatica che viene effettuata (come avvisi e report pianificati, nonché attività in background che accedono ai database di backend) potrebbe essere duplicata. Per evitare attività duplicate, elimina gli avvisi automatici e le pianificazioni nell'istanza di Looker (originale) o di Looker (Google Cloud core).

Esporta i dati dall'istanza di Looker (originale)

L'esportazione dei dati dalle istanze di Looker (originale) richiede due passaggi:

  1. Crea un luogo in cui archiviare i dati della migrazione.
  2. Avvia l'esportazione.

Crea un luogo in cui archiviare i dati della migrazione

Esegui tutte le seguenti operazioni nello stesso progetto Google Cloud in cui hai creato l'istanza di Looker (Google Cloud core).

  1. Crea un nuovo bucket Cloud Storage (ad esempio, <bucket-name>).
    • Questo bucket verrà utilizzato per archiviare i dati della migrazione.
    • Segui le istruzioni riportate nella pagina della documentazione Creare bucket.
    • Tieni presente che <bucket-name> deve essere univoco in tutto Google Cloud. Ti consigliamo di anteporre al nome del bucket un identificatore univoco, ad esempio il tuo ID progetto.
  2. Scegli un nome per una cartella all'interno del bucket Cloud Storage (ad esempio, <folder-name>). Non creare la cartella ora. Specifica il nome della cartella durante la richiesta di esportazione. Verrà creata automaticamente durante il processo di esportazione.
  3. Crea un keyring e una chiave in Cloud KMS (ad esempio, <kms_keyring_id> e <kms-key-id>).
  4. Crea un nuovo account di servizio specifico per la migrazione (ad esempio, <export-service-account>).
  5. Concedi a <export-service-account> due ruoli IAM specifici:

  6. Crea una chiave dell'account di servizio associata a <export-service-account> e scarica il file della chiave JSON.

Richiedi l'esportazione

Dopo aver verificato che l'istanza è pronta per la migrazione, creato un'istanza di Looker "vuota" (Google Cloud core) e creato un posto in cui archiviare i dati sulla migrazione, inserisci le seguenti informazioni nella pagina Esporta nel riquadro Amministrazione dell'istanza di Looker (originale):

  • Il nome del bucket Cloud Storage che hai creato.
  • Il nome della cartella Cloud Storage. Una cartella con questo nome verrà creata automaticamente durante l'esportazione. Al termine dell'esportazione, i file di esportazione verranno visualizzati in una sottocartella con timestamp all'interno di questa cartella all'interno del bucket Cloud Storage che hai creato.
  • Il nome della chiave KMS.
  • Il testo JSON che contiene la chiave dell'account di servizio.

Dopo aver inserito le informazioni nella pagina Esporta, fai clic su Richiedi esportazione per avviare l'esportazione.

Il processo di esportazione richiede da minuti a ore. Una volta completata l'esportazione, vedrai diversi file di esportazione (in formato non leggibile) nel bucket e nella cartella Cloud Storage. Questi file vengono inseriti per il passaggio di importazione successivo.

Importa i dati nella nuova istanza di Looker "vuota" (Google Cloud core)

Una volta esportati i dati dell'istanza, puoi importarli nell'istanza di Looker (Google Cloud core).

Segui le istruzioni riportate nella pagina Importazione dei dati da Cloud Storage a un'istanza di Looker (Google Cloud core), puntando i comandi al bucket e alla cartella in cui sono stati inseriti i file di esportazione.

Ecco in breve:

  1. Concessione dei seguenti ruoli per l'accesso al bucket e alla chiave KMS all'account di servizio Looker (non a <export-service-account>):
  2. Attivazione dell'importazione tramite la console Google Cloud o gcloud CLI

L'operazione di importazione richiede da minuti a ore. Al termine, l'istanza di Looker (Google Cloud core) verrà riavviata con tutti i dati di cui è stata eseguita la migrazione.

Finalizza la configurazione dell'istanza di Looker (Google Cloud core)

A questo punto, gli amministratori di Looker possono accedere all'URL dell'istanza e accedere all'istanza per completare la configurazione.

Il processo di migrazione copia il maggior numero possibile di configurazione dell'istanza di Looker (originale). Tuttavia, non è possibile eseguire la migrazione di alcuni elementi o funzionano in modo leggermente diverso in Looker (Google Cloud core) e devono essere modificati.

Ecco alcuni esempi di elementi che richiedono un'attenzione particolare:

Impostazioni generali (nel riquadro **Amministrazione** di Looker)

La maggior parte delle impostazioni generali (e altre impostazioni del riquadro **Amministrazione**) non vengono copiate automaticamente perché tendono a essere diverse o non esistono nello stesso formato in Looker (Google Cloud core). Devi rivedere e configurare attentamente tutte le impostazioni nel contesto della configurazione di Looker (Google Cloud core) che hai scelto. Per saperne di più sulle impostazioni in Looker (Google Cloud core), consulta le pagine della documentazione Amministrazione di un'istanza di Looker (Google Cloud core) da Looker e Amministrazione di un'istanza di Looker (Google Cloud core) dalla console Google Cloud.

Utenti

Looker (Google Cloud core) supporta solo i metodi di autenticazione Google OAuth, SAML e OpenID Connect.

Se l'istanza di Looker (originale) è stata configurata anche per Google OAuth, i record dell'utente e i relativi attributi verranno copiati (purché siano associati allo stesso ID Google e allo stesso indirizzo email in entrambe le istanze). Un Amministratore IAM progetto deve concedere a ciascun utente il ruolo IAM Amministratore Looker o Utente istanza di Looker nel progetto Google Cloud in cui si trova l'istanza.

Se l'istanza di Looker (originale) è stata configurata per SAML o OpenID Connect, assicurati che il campo Unisci utenti in uso per il metodo di autenticazione indichi solo metodi di autenticazione supportati da Looker (Google Cloud core).

Se alcuni utenti dell'istanza di Looker (originale) eseguivano l'autenticazione tramite un meccanismo non supportato in Looker (Google Cloud core) (ad esempio LDAP o email/password), questi account utente dovranno essere ricreati e convertiti in un metodo di autenticazione supportato.

Connessioni al database

Looker (Google Cloud core) supporta un set leggermente diverso di dialetti del database rispetto a Looker (originale). Vengono copiate tutte le proprietà di configurazione per le connessioni ai database (incluse stringa di connessione e password, se applicabile). Tuttavia, la diversa topologia di rete in Looker (Google Cloud core) potrebbe impedire il funzionamento immediato delle connessioni al database. Ad esempio, se si accede ai database tramite firewall o tunnel specifici dell'istanza di Looker (originale), potresti dover riconfigurare i firewall o i tunnel. Devi testare ogni connessione e ristabilirla, se necessario.

Connessioni al repository Git

Se l'istanza utilizza repository Git semplici, questi dovrebbero funzionare senza modifiche (copiati, ma non condivisi). Tuttavia, se l'istanza si connette a repository remoti, queste connessioni potrebbero dover essere verificate e riattivate, in modo simile alle connessioni al database.

Altra configurazione di rete

L'istanza di Looker può avere altri tipi di connessioni di rete, sia in entrata che in uscita (ad esempio, nel contesto di IP privato, Action Hub, Marketplace, email e così via). È necessario verificare anche queste connessioni di rete.

URL per accedere all'istanza di Looker (Google Cloud core)

L'istanza di Looker (Google Cloud core) viene fornita con un URL principale che viene assegnato in modo casuale. Se è necessario accedere all'istanza tramite un URL specifico, puoi configurare un dominio personalizzato.

Pianificazioni e avvisi

Se entrambe le istanze di Looker (originale) e Looker (Google Cloud core) sono attive contemporaneamente, potrebbero generare azioni pianificate e avvisi duplicati ed eseguire operazioni in background duplicate che accedono ai database connessi. Queste attività devono essere disattivate in uno dei casi il prima possibile.

Periodi di manutenzione

A differenza di Looker (originale), è possibile specificare un criterio di manutenzione per Looker (Google Cloud core).

Attività di sistema Elite

I dati delle attività di sistema Elite non vengono copiati nell'ambito della migrazione. L'istanza di Looker (Google Cloud core) inizierà con una nuova cronologia.

Dominio personalizzato

Puoi creare un dominio personalizzato per la tua istanza di Looker (Google Cloud core). Devi impostare i record DNS per garantire la distribuzione del certificato SSL. Inoltre, assicurati di aggiornare l'URL di callback nel client di autenticazione con il dominio personalizzato, una volta attivato il dominio personalizzato e configurato il metodo di autenticazione. Non è possibile creare domini personalizzati per Looker (Google Cloud core) utilizzando un dominio looker.com.

Se vuoi creare un dominio personalizzato per l'istanza di Looker (Google Cloud core) utilizzando l'URL personalizzato dell'istanza di Looker (originale), il dominio personalizzato deve essere configurato al termine della migrazione e dopo aver confermato che l'istanza di Looker (Google Cloud core) è pronta per essere utilizzata. Una volta attivato il dominio personalizzato, quando visitano l'URL dell'istanza gli utenti vedranno l'istanza di Looker (Google Cloud core) e non l'istanza di Looker (originale).

Non configurare SAML o OpenID Connect per l'istanza di Looker (Google Cloud core) finché l'istanza non è pronta per essere utilizzata, i record DNS non sono stati aggiornati e il dominio personalizzato è stato abilitato.

Segnalibri

Se utilizzi un URL personalizzato nella tua istanza di Looker (originale) che non utilizza il dominio looker.com, questo processo di migrazione dovrebbe conservare i preferiti degli utenti se crei un dominio personalizzato per la tua istanza di Looker (Google Cloud core) utilizzando lo stesso URL dell'istanza di Looker (originale).

Una volta attivato il dominio personalizzato, i preferiti ai contenuti Looker (originale) come https://www.yourcustomdomain.com/dashboard/123 rimanderanno al contenuto all'interno dell'istanza di Looker (Google Cloud core). Nota: gli URL delle versioni Enterprise e Embed di Looker (Google Cloud core) utilizzano slug di contenuti alfanumerici anziché ID contenuti numerici, ma un preferito con ID contenuto reindirizzerà comunque correttamente agli stessi contenuti.

Questo processo non può essere utilizzato con gli URL Looker (originale) che utilizzano il dominio looker.com.

L'elenco non è esaustivo. Testa tutti gli aspetti dell'istanza più importanti per te, prima di considerare il completamento della migrazione.

Una volta completata la migrazione, hai la certezza che non avrai bisogno di un'altra esportazione, puoi eliminare il file <export-service-account> che hai creato in precedenza. In questo modo la chiave JSON che è stata condivisa diventa inutile.

Dismetti l'istanza di Looker (originale)

Quando l'istanza di Looker (Google Cloud core) migrata funziona in modo soddisfacente, puoi inviare ai tuoi utenti l'URL dell'istanza e chiedere loro di iniziare ad accedervi e a interrompere l'accesso all'istanza di Looker (originale).

Risoluzione dei problemi

Le sezioni seguenti possono aiutarti a risolvere i problemi durante l'importazione o l'esportazione.

Problemi durante l'esportazione

Se si verifica un problema con l'esportazione dei dati Looker (originale), nella pagina Esporta del riquadro Amministrazione verrà visualizzato lo stato ERRORE. Se fai clic sullo stato ERRORE, viene visualizzato un messaggio di errore.

Le cause più comuni degli errori sono le seguenti:

  • Il bucket Cloud Storage, la chiave KMS o <export-service-account> non è valido.
  • L'<export-service-account> non dispone delle autorizzazioni necessarie.

È utile confermare lo stato di questi oggetti prima di inviare la richiesta di esportazione.

Problemi durante l'importazione

Se l'operazione di importazione non termina dopo quattro ore (o anche di più se l'istanza di origine era di grandi dimensioni) o se si chiude per errore, potresti dover aprire un ticket con l'assistenza clienti Google Cloud per risolvere il problema. Esistono relativamente pochi dati di diagnostica direttamente visibili ai clienti per questa operazione.

Che cosa succede dopo?