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 profondamente integrato con la piattaforma Google Cloud. Looker (Google Cloud core) è ospitato sull'infrastruttura di Google Cloud; puoi gestirlo direttamente tramite la console Google Cloud. e integra 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 prepararti alla migrazione, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto Google Cloud in cui risiederà l'istanza di Looker (Google Cloud core):

    • Crea un'istanza di Looker (Google Cloud core): Looker Admin (roles/looker.admin).
    • Assegna i ruoli IAM all'interno del tuo progetto Google Cloud: Project IAM Admin (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 a progetti, cartelle e organizzazioni.

    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) e altri attributi di configurazione (CMEK, VPC-SC) appropriati per la nuova istanza di Looker (Google Cloud core) per assicurarti che disponga delle funzionalità necessarie. Alcune funzionalità di Looker (Google Cloud core) dipendono dalla versione selezionata o dal tipo di rete selezionato.

    Lascia l'istanza "vuota"; non compilarla con dati quali 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) 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

In linea generale, la procedura di migrazione è costituita dai seguenti passaggi.

  1. Assicurati che l'istanza di Looker (originale) sia pronta per la migrazione.
  2. Esportare i dati dall'istanza di Looker (originale).
  3. Importa i dati nella nuova istanza di Looker (Google Cloud core) "vuota".
  4. Completa la configurazione dell'istanza di Looker (Google Cloud core).
  5. Dismetti 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 entro una release mensile della versione corrente 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à:

  • Esistono alcune differenze nelle 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 della modalità di sviluppo vengano trasferiti durante la migrazione, devi eseguire il commit di tutti i file di tutti i progetti in modalità di sviluppo nei 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 la tua istanza di Looker (originale) utilizza OIDC, l'impostazione Unisci gli utenti che utilizzano nella pagina del pannello di amministrazione Autenticazione OpenID Connect deve essere impostata su Google o SAML per evitare un errore durante il test dell'autenticazione OpenID Connect.
    • Se utilizzi un provider di identità esterno, devi aggiornare l'URL di callback nel provider di identità impostandolo sull'URL di Looker (Google Cloud core) per consentire l'autenticazione nella nuova istanza di Looker (Google Cloud core).
    • Se l'istanza di Looker (Google Cloud core) utilizzerà SAML o OpenID Connect come metodo di autenticazione, ti consigliamo di configurare anche OAuth di Google, che funge da metodo di autenticazione di riserva 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, due istanze di Looker (una di Looker (originale) e una di Looker (Google Cloud core)) verranno eseguite in parallelo per un determinato periodo di tempo. Qualsiasi attività automatica che viene eseguita (ad esempio avvisi e importazioni di dati pianificate, nonché attività in background che accedono ai database di backend) potrebbe essere duplicata. Per evitare attività duplicate, elimina gli avvisi e le pianificazioni automatiche 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 Looker (originale) richiede due passaggi:

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

Crea un luogo in cui archiviare i dati di 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à creato automaticamente durante la procedura 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, crea uno stato "vuoto" dell'istanza di Looker (Google Cloud core) e aver creato una posizione in cui archiviare i dati sulla migrazione, inserisci le seguenti informazioni nella pagina Esporta nel riquadro di 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. Al termine dell'esportazione, vedrai diversi file di esportazione (in un formato non leggibile dall'uomo) 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 (Google Cloud core) "vuota"

Una volta esportati, puoi importare i dati dell'istanza 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.

In breve, ciò comporta quanto segue:

  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 l'interfaccia a riga di comando gcloud

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 istanza e accedere all'istanza per completare la configurazione.

Il processo di migrazione copia la maggior parte possibile della 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 di altre impostazioni nel riquadro **Amministrazione**) non viene copiata automaticamente, perché tendono a essere diverse o non esistono nella stessa forma in Looker (componente principale di Google Cloud). 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 OAuth di Google, i record utente e i relativi attributi verranno copiati (a condizione che 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 utilizzando 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 (componente principale di Google Cloud) (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 insieme di dialetti di database leggermente diverso 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 per l'istanza Looker (originale), potrebbe essere necessario riconfigurare i firewall o i tunnel. Devi testare ogni connessione e ristabilirla, se necessario.

Connessioni al database che utilizzano OAuth

La migrazione da Looker (originale) a Looker (componente principale di Google Cloud) non conserva i token di accesso o aggiornamento OAuth per le connessioni al database dei singoli utenti a BigQuery o Snowflake. Dopo la migrazione, agli utenti di Looker (Google Cloud core) verrà chiesto di autenticare di nuovo OAuth quando visualizzano un'esplorazione o una dashboard che fa riferimento a una connessione al database OAuth. Gli utenti possono anche autenticarsi di nuovo ai propri database andando alla pagina Account e selezionando Accedi per ogni database sotto l'intestazione Credenziali di connessione OAuth. Eventuali pianificazioni o avvisi automatici di proprietà di un singolo utente e che fanno riferimento a una connessione OAuth non funzioneranno finché l'utente non accede con le proprie credenziali OAuth.

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 potrebbe 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.

Programmazioni 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 una delle istanze il prima possibile.

Eventuali pianificazioni o avvisi automatici di proprietà di un singolo utente e che fanno riferimento al collegamento OAuth individuale dell'utente non funzioneranno finché l'utente non accede con le proprie credenziali OAuth.

Periodi di manutenzione

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

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) verrà avviata con una cronologia aggiornata.

Dominio personalizzato

Puoi creare un dominio personalizzato per la tua istanza di Looker (Google Cloud core). Devi impostare i record DNS per garantire il deployment del certificato SSL. Inoltre, assicurati di aggiornare l'URL di callback nel client di autenticazione al dominio personalizzato dopo averlo attivato e aver 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 la tua istanza di Looker (Google Cloud core) utilizzando l'URL personalizzato dell'istanza di Looker (originale), il dominio personalizzato deve essere configurato dopo il completamento della migrazione e dopo aver verificato che l'istanza di Looker (Google Cloud core) sia pronta per essere utilizzata. Una volta attivato il dominio personalizzato, gli utenti vedranno l'istanza di Looker (Google Cloud core) e non l'istanza di Looker (originale) quando visitano l'URL dell'istanza.

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 non è stato attivato.

Segnalibri

Se utilizzi un URL personalizzato nell'istanza di Looker (originale) (che non utilizza il dominio looker.com), questa procedura di migrazione dovrebbe mantenere i preferiti degli utenti se crei un dominio personalizzato per l'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 di Looker (originale), come https://www.yourcustomdomain.com/dashboard/123, indicheranno il 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.

Questa procedura non può essere utilizzata con gli URL di Looker (originali) 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.

Esegui il ritiro dell'istanza 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 potrebbero 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.

Passaggi successivi