Sposta un'istanza

Questa pagina descrive lo spostamento di un'istanza in Spanner.

Puoi spostare l'istanza Spanner da qualsiasi configurazione dell'istanza a qualsiasi altra configurazione dell'istanza, anche tra configurazioni a livello di regione, a due regioni e multiregionali. Lo spostamento dell'istanza non causa tempi di inattività e Spanner continua a fornire le consuete garanzie sulle transazioni, inclusa l'elevata coerenza, durante lo spostamento.

Puoi anche spostare l'istanza dalla configurazione dell'istanza di origine a una configurazione dell'istanza personalizzata (ad esempio, una configurazione di base nam3 con una replica di sola lettura us-west2). Poiché non puoi aggiornare la topologia delle configurazioni delle istanze esistenti, devi prima creare una nuova configurazione delle istanze personalizzata con la topologia che preferisci. Dopo aver creato la nuova configurazione dell'istanza personalizzata, puoi spostare l'istanza dalla configurazione dell'istanza di origine alla nuova configurazione dell'istanza personalizzata.

Perché spostare l'istanza Spanner?

I vantaggi dello spostamento dell'istanza includono:

  • Aumenta la disponibilità: ottieni una disponibilità del 99,999% senza tempi di inattività dopo aver eseguito uno spostamento da una singola regione a due regioni o multiregione.
  • Riduci la latenza: riduci la latenza e aumenta la copertura geografica con repliche di sola lettura aggiuntive tramite uno spostamento da una regione a due regioni o multiregione o da multiregione a multiregione.
  • Riduzione dei costi: riduci i costi orari passando da una configurazione a due regioni o multiregionale a una configurazione regionale.
  • Colloca il database: Colloca il database di Spanner con l'applicazione client spostando l'istanza in una posizione più ottimizzata.

Prezzi

Quando sposti un'istanza, le configurazioni delle istanze di origine e di destinazione sono soggette a addebiti orari per computing e archiviazione. Una volta completato lo spostamento, ti verrà addebitato il costo dello spazio di archiviazione dell'istanza nella configurazione di destinazione.

Se sposti l'istanza in una nuova configurazione di istanza a livello di regione, a due regioni o multiregionale, potrebbero essere applicati costi per il trasferimento di dati in uscita. Per saperne di più, consulta i prezzi di Spanner.

Limitazioni

  • Per spostare l'istanza, deve avere almeno 1 nodo (1000 unità di elaborazione).
  • Non puoi spostare l'istanza tra progetti o account Google Cloud .
  • Non puoi spostare un'istanza che utilizza l'edizione Standard direttamente da una configurazione di istanza regionale a una configurazione di istanza a due regioni o multiregionale. Devi prima eseguire l'upgrade della versione dell'istanza alla versione Enterprise Plus, quindi spostare l'istanza.
  • Se hai richieste attive che utilizzano un endpoint di servizio regionale su una qualsiasi delle risorse dell'istanza, lo spostamento dell'istanza influisce su tutte le richieste che utilizzano l'endpoint regionale perché l'applicazione a livello di regione blocca l'accesso alle istanze tra regioni. Le richieste che utilizzano un endpoint globale non sono interessate.
  • I backup e le pianificazioni dei backup di Spanner sono specifici per una configurazione dell'istanza e non sono inclusi quando si sposta un'istanza. Prima di iniziare lo spostamento, devi eliminare tutti i backup e le pianificazioni dei backup esistenti nell'istanza. Per saperne di più, consulta Backup e pianificazioni dei backup.
  • Le seguenti API sono disabilitate durante lo spostamento di un'istanza:
    • InstanceAdmin.DeleteInstance
    • InstanceAdmin.UpdateInstance
    • InstanceAdmin.CreateInstancePartition
    • InstanceAdmin.UpdateInstancePartition
    • InstanceAdmin.DeleteInstancePartition
    • DatabaseAdmin.CreateDatabase
    • DatabaseAdmin.UpdateDatabaseDdl (disattivato se nella richiesta è specificato default_leader).
    • DatabaseAdmin.RestoreDatabase
    • DatabaseAdmin.CreateBackup
    • DatabaseAdmin.CreateBackupSchedule
    • DatabaseAdmin.CopyBackup
  • Se un database ha un leader predefinito modificato, la selezione viene conservata se indica una regione di lettura/scrittura nella configurazione dell'istanza di destinazione e se la configurazione è multiregionale. Se la configurazione della destinazione è a livello di regione o non include la regione di lettura/scrittura denominata, la selezione del leader predefinito viene cancellata.
  • Lo spostamento di un'istanza modifica l'attributo di configurazione dell'istanza. Se gestisci le risorse Spanner tramite l'automazione, assicurati di prepararti e risolvere eventuali incoerenze che potrebbero verificarsi.
    • Ad esempio, se utilizzi Terraform per gestire le istanze e i database Spanner e attivi terraform apply --auto-approve per mantenere sincronizzate le risorse, tutte le istanze e le risorse secondarie vengono eliminate quando spostiamo l'istanza. Aggiorna la configurazione di conseguenza per evitare l'eliminazione e la perdita di dati. Per saperne di più sul comando apply, consulta Opzioni di applicazione di Terraform.
  • Durante lo spostamento dell'istanza, le metriche e i grafici di monitoraggio di Spanner potrebbero mostrare i dati sia nelle configurazioni dell'istanza di origine che in quelle di destinazione oppure potrebbero riflettere solo le prestazioni in una configurazione dell'istanza.
  • Se hai configurato lo strumento Autoscaler open source, non è necessario disattivarlo. Non va a buon fine perché InstanceAdmin.UpdateInstance (utilizzato per le modifiche ai nodi e alle unità di elaborazione) è disabilitato.
  • Non puoi spostare un'istanza se è attiva la funzionalità Gestore della scalabilità automatica gestito da Spanner. Prima di spostare l'istanza, passa dalla scalabilità automatica gestita all'allocazione manuale con un numero di nodi o unità di elaborazione sufficiente per supportare l'utilizzo di picco della CPU (ad esempio eseguendo gcloud spanner instances update INSTANCE_ID --nodes=PEAK_NODES). Al termine dello spostamento, puoi riattivare il gestore della scalabilità automatica gestita.
  • Non puoi spostare un'istanza di prova senza costi di Spanner. Puoi spostare l'istanza dopo aver eseguito l'upgrade a un'istanza a pagamento.
  • Se l'istanza utilizza il partizionamento geografico, lo spostamento dell'istanza sposta solo la partizione predefinita, non le partizioni aggiuntive.

Considerazioni sulle prestazioni

Quando un'istanza viene spostata, si verificano latenze di lettura/scrittura più elevate e un tasso di interruzione delle transazioni più elevato. L'utilizzo della CPU durante lo spostamento potrebbe raggiungere il 100% perché lo spostamento dell'istanza viene eseguito utilizzando la CPU di riserva di cui hai eseguito il provisioning e cede il passo al traffico di produzione. Tuttavia, lo spostamento di un'istanza non causa tempi di inattività. Il tempo necessario per spostare un'istanza dipende da vari fattori, tra cui le dimensioni dei database, il numero di nodi e il tipo di spostamento (ad esempio, da una regione a multiregione).

Ad esempio, affinché uno spostamento venga completato entro 24 ore, l'istanza deve in genere soddisfare questi requisiti prima e durante lo spostamento:

  • Utilizzo della CPU ad alta priorità: inferiore al 40% nella configurazione dell'istanza di origine. Per saperne di più, consulta Utilizzo della CPU.
  • Spazio di archiviazione per nodo: meno di 1 tebibyte (TiB) per nodo.

Dopo lo spostamento di un'istanza, le sue prestazioni variano a seconda dei dettagli della configurazione. Ad esempio, le configurazioni a due regioni e multiregionali hanno in genere una latenza di scrittura più elevata e una latenza di lettura inferiore rispetto alle configurazioni regionali.

Backup e pianificazioni di backup

Quando sposti un'istanza, i backup e le pianificazioni dei backup nella configurazione originale dell'istanza non vengono spostati automaticamente nella nuova configurazione di destinazione. L'avvio dello spostamento dell'istanza non va a buon fine se nell'istanza esistono backup o pianificazioni di backup (incluse le pianificazioni di backup predefinite) quando avvii lo spostamento. Copia i backup e valuta il tuo piano di recupero dati prima di spostare l'istanza.

Se nella configurazione originale dell'istanza sono presenti backup che devi conservare, ti consigliamo di copiarli in due istanze temporanee di piccole dimensioni (100 PU), placeholder-source e placeholder-dest:

  • placeholder-source: un'istanza con la stessa configurazione dell'istanza originale che viene spostata. In questo modo, puoi ripristinare i backup nella configurazione originale se devi annullare lo spostamento.

  • placeholder-dest: un'istanza con la stessa configurazione dell'istanza di destinazione. In questo modo, avrai un backup prontamente disponibile nella nuova configurazione subito dopo il completamento dello spostamento.

La funzionalità di ripristino non supporta i ripristini tra configurazioni, quindi queste istanze segnaposto sono essenziali per un rollback o un recupero rapido nella nuova configurazione, se necessario, fornendo una rete di sicurezza in caso di problemi con l'istanza spostata.

Dopo aver copiato i backup in placeholder-source e placeholder-dest, devi eliminare tutti i backup e le pianificazioni di backup esistenti nell'istanza in fase di spostamento prima di poter avviare lo spostamento (consulta Copia i backup nelle istanze segnaposto ed elimina i backup e le pianificazioni di backup esistenti per i comandi esatti). In questo modo, una volta completato lo spostamento dell'istanza, avrai già una copia del backup nella configurazione di destinazione e potrai ricreare le pianificazioni dei backup e creare un nuovo backup.

Seguendo questo approccio, mantieni la continuità aziendale e riduci al minimo i potenziali tempi di inattività o la perdita di dati durante il processo di spostamento dell'istanza.

Come spostare un'istanza

Puoi spostare un'istanza utilizzando la console Google Cloud o gcloud CLI. Segui queste quattro fasi per preparare, eseguire, monitorare e finalizzare lo spostamento dell'istanza:

Fase 1: prepara l'istanza per lo spostamento

Prima di spostare l'istanza, leggi le sezioni Limitazioni e Considerazioni sulle prestazioni, quindi completa ogni passaggio di questo elenco di controllo pre-spostamento:

  1. Verifica le autorizzazioni, la versione e la quota di destinazione:

    • Verifica che l'operatore che esegue lo spostamento disponga dell'autorizzazione IAM spanner.instances.update sull'istanza in fase di spostamento.
    • Verifica che il tuo progetto disponga di una quota di nodi sufficiente nella configurazione dell'istanza di destinazione per supportare la capacità di picco. Per saperne di più, consulta Quote e limiti di Spanner.
    • Se stai spostando un'istanza della versione Standard da una configurazione a regione singola a una configurazione a due regioni o multiregionale, esegui prima l'upgrade alla versione Enterprise Plus.
  2. Convalida l'integrità del workload, pianifica il posizionamento dei client ed esegui i test in un ambiente non di produzione:

    • Sposta prima un'istanza non di produzione (ad esempio di test o di gestione temporanea) che rispecchia l'istanza di produzione per stimare la durata dello spostamento e osservare l'effetto sul rendimento del workload.
    • Verifica che non siano presenti hotspot nei tuoi database utilizzando Key Visualizer. La risoluzione degli hotspot prima dello spostamento aiuta a prevenire una latenza elevata e l'interruzione delle transazioni durante la copia dei dati.
    • Se la configurazione di destinazione ha una regione leader predefinita diversa da quella di origine, la latenza di scrittura potrebbe aumentare dopo lo spostamento. Per evitare questo problema, pianifica il deployment o il routing delle applicazioni client con un numero elevato di scritture nella regione leader di destinazione o nelle sue vicinanze.
  3. Passa dalla scalabilità automatica gestita all'allocazione e alle dimensioni manuali per lo spostamento:

    • Per consentire il completamento dello spostamento entro 24 ore e ridurre al minimo l'impatto della latenza, esegui il provisioning di una capacità di calcolo sufficiente in modo che l'utilizzo della CPU ad alta priorità di picco sia inferiore al 40% e lo spazio di archiviazione per nodo sia inferiore a 1 TiB durante lo spostamento. Controlla i grafici Utilizzo della CPU e Spazio di archiviazione totale in Insight di sistema per determinare il numero di nodi necessari per il workload di picco. Poiché Spanner utilizza la CPU di riserva per spostare i dati, l'aumento della capacità di calcolo aumenta la velocità dello spostamento dell'istanza. Puoi verificare la capacità di calcolo ideale per il tuo workload testando lo spostamento in un ambiente di pre-produzione o di gestione temporanea.
    • Se sull'istanza è abilitato il gestore della scalabilità automatica gestito, devi passare l'istanza all'allocazione manuale prima di avviare lo spostamento, utilizzando il numero di nodi che hai stabilito essere necessario per mantenere l'utilizzo della CPU con priorità alta al di sotto del 40%:

      gcloud spanner instances update INSTANCE_ID \
        --nodes=PEAK_NODES
      
  4. Copia i backup nelle istanze segnaposto ed elimina i backup e le pianificazioni di backup esistenti:

    • Crea le istanze temporanee placeholder-source e placeholder-dest descritte nella sezione Backup e pianificazioni di backup e copia i backup critici in queste istanze utilizzando il comando gcloud spanner backups copy:

      gcloud spanner backups copy \
        --source-instance=INSTANCE_ID \
        --source-backup=SOURCE_BACKUP_ID \
        --destination-instance=PLACEHOLDER_INSTANCE_ID \
        --destination-backup=DESTINATION_BACKUP_ID \
        --expiration-date=EXPIRATION_DATE
      
    • Verifica che tutte le operazioni di copia di backup sulle istanze segnaposto siano state completate prima di eliminare i backup sull'istanza in fase di spostamento:

      gcloud spanner operations list \
        --instance=PLACEHOLDER_INSTANCE_ID \
        --type=BACKUP
      
    • Elimina tutti i backup esistenti e elimina tutte le pianificazioni dei backup su ogni database nell'istanza da spostare:

      gcloud spanner backups delete BACKUP_ID \
        --instance=INSTANCE_ID
      
      gcloud spanner backup-schedules delete SCHEDULE_ID \
        --instance=INSTANCE_ID \
        --database=DATABASE_ID
      
  5. Esporta i tag di Data Catalog, metti in pausa l'automazione e blocca le modifiche alle istanze e agli schemi:

    • Lo spostamento di un'istanza elimina tutti i tag dell'istanza creati in Data Catalog. Esporta i tag prima dello spostamento in modo da poterli importare in un secondo momento. Per saperne di più, consulta Esporta e importa i tag.
    • Controlla i flussi di lavoro CI/CD, i job pianificati o i repository GitOps per individuare pipeline di infrastruttura automatizzate (come le esecuzioni terraform apply --auto-approve pianificate) che gestiscono le risorse Spanner e mettile in pausa in modo che non entrino in conflitto con lo spostamento in corso.
    • Comunica alla tua organizzazione che le modifiche alle istanze e agli schemi (tra cui gli aggiornamenti del numero di nodi, gli aggiornamenti DDL, la creazione o l'eliminazione di database e le operazioni di backup) devono essere messe in pausa fino al completamento dello spostamento.
  6. Solo per i database abilitati per CMEK: verifica le regioni di destinazione e le chiavi di Cloud Key Management Service (Cloud KMS):

    • Esamina la configurazione dell'istanza di destinazione per identificare tutte le regioni di lettura/scrittura, di sola lettura e di controllo:

      gcloud spanner instance-configs describe TARGET_CONFIG
      
    • Assicurati di aver eseguito il provisioning delle chiavi Cloud KMS in ogni regione costituente della configurazione di destinazione e di aver concesso il ruolo Identity and Access Management (IAM) roles/cloudkms.cryptoKeyEncrypterDecrypter su ogni chiave di destinazione all'agente di servizio Spanner.

Se l'istanza soddisfa queste linee guida pre-spostamento, lo spostamento viene in genere completato entro 24 ore. A seconda delle dimensioni del database e del workload dell'applicazione, il tempo di completamento potrebbe essere più o meno lungo.

Fase 2: avvia lo spostamento dell'istanza

Console Google Cloud

  1. Vai alla pagina Istanze nella console Google Cloud .

    Istanze

  2. Seleziona l'istanza che vuoi spostare.

  3. Nella pagina Panoramica istanza, accanto a Configurazione, fai clic su Sposta l'istanza in una nuova configurazione.

  4. Nel riquadro Sposta il database in una nuova configurazione, seleziona la nuova configurazione dell'istanza.

  5. Fai clic su Salva.

gcloud CLI

Utilizza il comando gcloud spanner instances move per spostare l'istanza.

gcloud spanner instances move INSTANCE_ID \
--target-config=TARGET_CONFIG

Sostituisci quanto segue:

  • INSTANCE_ID: l'identificatore permanente dell'istanza che vuoi spostare.
  • TARGET_CONFIG: un identificatore permanente della configurazione dell'istanza in cui vuoi spostare l'istanza. La nuova posizione geografica dell'istanza. Potrebbe trattarsi di una configurazione di istanza a livello di regione, a due regioni o multiregionale (ad esempio nam3, regional-us-central1 o custom-nam3-us-west2).

Ad esempio, per spostare l'istanza test-instance dalla configurazione dell'istanza corrente a nam3, esegui questo comando:

  gcloud spanner instances move test-instance --target-config=nam3

(Facoltativo) Se vuoi aggiungere una replica di sola lettura nella regione us-west2 alla configurazione dell'istanza di base in nam3, segui questi passaggi:

  1. Clona la configurazione di base e aggiungi la replica di sola lettura alla nuova configurazione dell'istanza personalizzata custom-nam3-us-west2:

    gcloud spanner instance-configs create custom-nam3-us-west2 \
    --clone-config=nam3 --add-replicas=location=us-west2, type=READ_ONLY
    
  2. Sposta l'istanza test-instance dalla configurazione dell'istanza attuale a questa nuova configurazione dell'istanza custom-nam3-us-west2:

    gcloud spanner instances move test-instance --target-config=custom-nam3-us-west2
    

(Facoltativo) Sposta un'istanza con database abilitati per CMEK

Prima di spostare un'istanza con database abilitati per CMEK, consulta le seguenti note sull'utilizzo:

  • Se nell'istanza che vuoi spostare sono presenti più database abilitati per CMEK, devi specificare --target-database-move-configs per ciascuno di essi. Puoi utilizzare le stesse chiavi per ogni database, ma devi specificarle per ogni database abilitato per CMEK.
  • Le chiavi devono coprire tutte le regioni nella configurazione dell'istanza di destinazione e l'agente di servizio Spanner deve avere il ruolo IAM roles/cloudkms.cryptoKeyEncrypterDecrypter su ogni chiave di destinazione. Ad esempio, se la configurazione dell'istanza di destinazione si trova in nam3, devi impostare le chiavi in us-east4, us-east1 e us-central1.
  • Non puoi impostare chiavi Cloud KMS per i database non abilitati per CMEK durante lo spostamento dell'istanza.
  • Non disattivare, distruggere, ruotare o revocare le autorizzazioni IAM sulle chiavi CMEK nella configurazione dell'istanza di origine o di destinazione durante lo spostamento dell'istanza. In questo modo, lo spostamento viene bloccato e l'accesso al database potrebbe essere bloccato.

Utilizza il comando gcloud spanner instances move per spostare un'istanza con database abilitati per CMEK. Devi includere il flag --target-database-move-configs e i valori delle chiavi Cloud KMS nel comando o configurare un file JSON o YAML con le chiavi Cloud KMS necessarie:

gcloud spanner instances move INSTANCE_ID \
  --target-config=TARGET_CONFIG \
  --target-database-move-configs=^:^database-id=DATABASE_ID_1:kms-key-names=KMS_KEY_1[, KMS_KEY_2 ... ] \
  [--target-database-move-configs=^:^database-id=DATABASE_ID_2:kms-key-names=KMS_KEY_1 ... ]

o

gcloud spanner instances move INSTANCE_ID \
  --target-config=TARGET_CONFIG \
  --target-database-move-configs=CONFIG_FILE_PATH

Configura il file CONFIG_FILE_PATH con gli ID database e le chiavi Cloud KMS. Il seguente esempio di file di configurazione contiene le chiavi Cloud KMS per due database, database-1 e database-2, con le stesse chiavi in us-east4, us-east1 e us-central1 per coprire tutte le regioni in nam3:

[
  {
    "database-id": "database-1",
    "kms-key-names": "projects/PROJECT_ID/locations/us-east4/keyRings/KEY_RING/cryptoKeys/KEY_NAME,projects/PROJECT_ID/locations/us-east1/keyRings/KEY_RING/cryptoKeys/KEY_NAME,projects/PROJECT_ID/locations/us-central1/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
  },
  {
    "database-id": "database-2",
    "kms-key-names": "projects/PROJECT_ID/locations/us-east4/keyRings/KEY_RING/cryptoKeys/KEY_NAME,projects/PROJECT_ID/locations/us-east1/keyRings/KEY_RING/cryptoKeys/KEY_NAME,projects/PROJECT_ID/locations/us-central1/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
  }
]

Fase 3: monitora lo spostamento dell'istanza

Puoi utilizzare gcloud spanner operations describe e una dashboard di Cloud Monitoring personalizzata per monitorare l'avanzamento dello spostamento o dell'annullamento di un'istanza.

Visualizza l'avanzamento delle operazioni di spostamento e annullamento

Per monitorare l'avanzamento di un'operazione di spostamento o di annullamento dello spostamento di un'istanza, utilizza il comando gcloud spanner operations describe. Questo comando richiede l'ID operazione dello spostamento dell'istanza in corso.

  1. Recupera l'ID operazione per l'operazione di spostamento dell'istanza eseguendo questo comando:

    gcloud spanner operations list --instance="INSTANCE_ID"
    

    Sostituisci quanto segue:

    • INSTANCE_ID: l'identificatore permanente dell'istanza che vuoi spostare.

    L'output mostra un elenco di operazioni a lunga esecuzione, inclusa l'operazione di spostamento dell'istanza.

  2. Esegui il comando gcloud spanner operations describe per visualizzare la percentuale di avanzamento e lo stato:

    gcloud spanner operations describe OPERATION_ID --instance=INSTANCE_ID
    

    Sostituisci quanto segue:

    • OPERATION_ID: l'ID operazione di spostamento dell'istanza che vuoi controllare.
    • INSTANCE_ID: l'ID istanza per l'istanza che vuoi controllare.

Monitora un'operazione di spostamento di un'istanza

Puoi creare una dashboard Cloud Monitoring personalizzata per visualizzare e monitorare le metriche durante lo spostamento dell'istanza, un'operazione a lunga esecuzione con potenziali implicazioni per il servizio.

I grafici Spazio di archiviazione totale e Spazio di archiviazione totale dei database per database nella dashboard sono utili per monitorare l'avanzamento dello spostamento. Puoi vedere che lo spazio di archiviazione nella configurazione di origine diminuisce gradualmente, mentre lo spazio di archiviazione nella configurazione di destinazione aumenta.

Console Google Cloud

  1. Scarica il file move-instance-dashboard.json. Questo file contiene le informazioni necessarie per compilare una dashboard personalizzata in Monitoring.
  2. Nella console Google Cloud , vai alla pagina  Dashboard:

    Vai a Dashboard

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  3. Nella pagina Panoramica delle dashboard, fai clic su Crea dashboard.
  4. Nella barra degli strumenti della dashboard, fai clic sul menu a discesa Impostazioni dashboard. Quindi seleziona JSON, seguito da Editor JSON.
  5. Nel riquadro Editor JSON, copia i contenuti del file move-instance-dashboard.json scaricato e incollali nell'editor.
  6. Per applicare le modifiche alla dashboard, fai clic su Applica modifiche. Se non vuoi utilizzare questa dashboard, torna alla pagina Panoramica delle dashboard.
  7. Dopo aver creato la dashboard, fai clic su Aggiungi filtro. Poi seleziona project_id o instance_id per monitorare l'avanzamento dello spostamento dell'istanza.

gcloud CLI

  1. Scarica il file move-instance-dashboard.json. Questo file contiene le informazioni necessarie per compilare una dashboard personalizzata in Monitoring.
  2. Per creare una dashboard in un progetto, utilizza il comando gcloud monitoring dashboards create:

    gcloud monitoring dashboards create --config-from-file=move-instance-dashboard.json
    

    Per saperne di più, consulta il riferimento gcloud monitoring dashboards create.

Fase 4: completa le attività post-spostamento

Al termine dell'operazione di spostamento a lunga esecuzione (done: true), completa il seguente elenco di controllo post-spostamento per ripristinare la configurazione operativa:

  1. Riattiva il gestore della scalabilità automatica gestito: se prima dello spostamento hai cambiato la scalabilità automatica gestita con l'allocazione manuale, riattiva il gestore della scalabilità automatica gestito con i limiti di capacità di calcolo minima e massima (ad esempio eseguendo gcloud spanner instances update INSTANCE_ID con i flag di scalabilità automatica o nella console Google Cloud ).
  2. Ricrea le pianificazioni di backup e crea un backup: ricrea le pianificazioni di backup e crea un nuovo backup per i tuoi database nella configurazione dell'istanza di destinazione.
  3. Importa i tag di Data Catalog: se hai esportato i tag di Data Catalog prima dello spostamento, importali di nuovo nell'istanza spostata.
  4. Aggiorna le configurazioni di automazione, il posizionamento dei client e i workload downstream:
    • Se gestisci le risorse Spanner utilizzando strumenti di automazione come Terraform, aggiorna i file di configurazione in modo che riflettano la nuova configurazione dell'istanza di destinazione prima di riattivare i deployment automatici.
    • Se la regione leader è cambiata dopo lo spostamento, esegui il deployment o il routing delle applicazioni client all'interno o in prossimità della nuova regione leader (o modifica la regione leader predefinita del database se utilizzi una configurazione a due regioni o multiregionale) per ridurre al minimo la latenza di scrittura e verifica la connettività e la latenza tra le applicazioni e le pipeline downstream.
  5. Elimina le istanze segnaposto temporanee: dopo aver verificato l'istanza spostata e aver creato nuovi backup nella configurazione di destinazione, elimina le istanze temporanee placeholder-source e placeholder-dest se non hai più bisogno dei backup copiati.

Come annullare lo spostamento di un'istanza

Puoi annullare lo spostamento di un'istanza solo se è ancora in corso. Se vuoi annullare uno spostamento di istanza già completato, devi avviarne uno nuovo.

Puoi utilizzare gcloud spanner operations cancel per annullare le operazioni di spostamento delle istanze. L'annullamento non è istantaneo e richiede all'incirca lo stesso tempo trascorso dall'inizio dello spostamento. Questo perché i dati devono essere spostati nuovamente nella configurazione dell'istanza di origine.

Questo comando richiede l'ID operazione dell'operazione di spostamento dell'istanza in corso.

  1. Recupera l'ID operazione eseguendo questo comando:

    gcloud spanner operations list --type=INSTANCE --instance="INSTANCE_ID"
    --filter="done:False AND metadata.@type:MoveInstanceMetadata"
    

    Sostituisci quanto segue:

    • INSTANCE_ID: l'identificatore permanente dell'istanza che vuoi spostare.

    L'output mostra un elenco delle operazioni di spostamento delle istanze in corso.

  2. Esegui il comando gcloud spanner operations cancel per annullare lo spostamento dell'istanza:

    gcloud spanner operations cancel OPERATION_ID
    

    Sostituisci quanto segue:

    • OPERATION_ID: l'ID operazione dell'operazione di spostamento dell'istanza che vuoi annullare.

Passaggi successivi