Sposta un'istanza

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

Puoi spostare la tua istanza Spanner da qualsiasi istanza configurazione a qualsiasi altra configurazione dell'istanza, tra cui configurazioni a livello di una singola regione, di due regioni e di più regioni. In movimento l'istanza non causa tempi di inattività e Spanner continua fornire le consuete garanzie sulle transazioni, inclusa un'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). Perché non puoi aggiornare la topologia delle configurazioni di istanze esistenti, devi creare una nuova istanza personalizzata con la topologia che desideri. Dopo aver creato il nuovo configurazione dell'istanza, puoi spostare l'istanza dall'istanza di origine configurazione 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 il trasferimento di una o più regioni a due o più regioni.
  • Riduci la latenza. Riduci la latenza e aumenta la copertura geografica con repliche di sola lettura aggiuntive da una singola regione a una doppia o più regioni o lo spostamento tra più regioni.
  • Riduzione dei costi: riduci i costi orari passando da una doppia regione o più regioni configurazione a livello di regione.
  • Colloca database: colloca il database Spanner con il un'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 soggetti a costi orari per calcolo e archiviazione. Una volta completato lo spostamento, ti verrà addebitato il costo per l'archiviazione dell'istanza configurazione della destinazione.

Se stai spostando l'istanza in una nuova regione, a due regioni o a più regioni configurazione dell'istanza di servizio, potresti incorrere in costi per il trasferimento di dati in uscita. Per ulteriori informazioni, consulta la sezione Prezzi di Spanner.

Limitazioni

  • Per spostare l'istanza, deve avere almeno 1 nodo (1000 unità di elaborazione).
  • Non puoi spostare l'istanza tra progetti e account Google Cloud.
  • Non puoi spostare un'istanza di prova gratuita di Spanner. Puoi spostare l'istanza dopo aver eseguito l'upgrade a un'istanza a pagamento.
  • Se hai richieste attive che utilizzano un endpoint di servizio regionale su una qualsiasi delle risorse dell'istanza, il trasferimento dell'istanza influisce su tutte le richieste che usano l'endpoint a livello di regione perché i blocchi di applicazione a livello di regione e l'accesso alle istanze tra regioni. Le richieste che usano un endpoint globale non interessate.
  • I backup di Spanner sono specifici configurazione di un'istanza e non vengono incluse nello spostamento di un'istanza. Per Per saperne di più, consulta la sezione Backup.
  • Le seguenti API vengono disabilitate durante lo spostamento di un'istanza:
    • InstanceAdmin.DeleteInstance
    • InstanceAdmin.UpdateInstance
    • DatabaseAdmin.CreateDatabase
    • DatabaseAdmin.UpdateDatabaseDdl (disattivata se default_leader è specificato nella richiesta).
    • DatabaseAdmin.RestoreDatabase
    • DatabaseAdmin.CreateBackup
    • DatabaseAdmin.CopyBackup
  • Non puoi spostare istanze che contengono istanze abilitate per CMEK o Microsoft SQL Server.
  • Se un database ha una principale predefinita modificata, la selezione viene conservata se nomina una regione di lettura/scrittura nel configurazione dell'istanza di destinazione e questa configurazione in più regioni. Se la configurazione della destinazione è regionale o meno includi la regione di lettura/scrittura denominata, la selezione leader predefinita è cancellato.
  • Lo spostamento di un'istanza modifica l'attributo di configurazione dell'istanza in esecuzione in un'istanza Compute Engine. Se gestisci le risorse Spanner tramite automazione, assicurati di preparare e risolvere eventuali incoerenze che sorgeranno.
    • Ad esempio, se usi Terraform per gestire le istanze e i database di Spanner e abilita terraform apply --auto-approve per mantenere sincronizzate le risorse, tutte le istanze e le risorse figlio vengono eliminate quando spostiamo l'istanza. Aggiorna la configurazione di conseguenza per evitare l'eliminazione e la perdita di dati. Consulta Opzioni di applicazione Terraform per ulteriori informazioni sul comando apply.
  • Durante il trasferimento dell'istanza, lo strumento di monitoraggio e i grafici potrebbero mostrare i dati sia nell'origine che nella destinazione configurazioni di istanze o potrebbe riflettere solo le prestazioni di un'istanza configurazione.
  • Se hai configurato lo strumento della scalabilità automatica open source, disabilitarlo. Non riesce perché InstanceAdmin.UpdateInstance (utilizzato per modifiche al nodo e all'unità di elaborazione) sia disabilitata.
  • Non puoi spostare un'istanza se Gestore della scalabilità automatica di Spanner sia abilitata. Per spostare l'istanza, devi disabilitare il gestore della scalabilità automatica gestito, sposta l'istanza e riabilita gestore della scalabilità automatica.

    Inoltre, se utilizzi la scalabilità automatica, devi eseguire il provisioning di nodi sufficienti per l'utilizzo massimo della CPU secondo il numero massimo di suggerimenti annotato, quindi disabilita la scalabilità automatica prima sposterai l'istanza.

Considerazioni sulle prestazioni

Quando un'istanza viene spostata, le latenze di lettura/scrittura sono più elevate e un tasso di interruzione delle transazioni più elevato. L'utilizzo della CPU durante il trasferimento potrebbe aumentare al 100% perché lo spostamento dell'istanza viene eseguito utilizzando la CPU di riserva di cui è stato eseguito il provisioning per l'utente. Tuttavia, lo spostamento di un'istanza non comporta tempi di inattività. L'ora necessario per trasferire un'istanza dipende da vari fattori, tra cui le dimensioni i database, il numero di nodi e il tipo di spostamento (ad es. da regione a regione più regioni).

Dopo aver spostato un'istanza, le sue prestazioni variano in base i dettagli della configurazione dell'istanza. Ad esempio: due regioni e configurazioni multiregionali hanno generalmente una latenza di scrittura e una latenza di lettura più alta rispetto a configurazioni regionali.

Backup

Quando sposti un'istanza, i backup nell'istanza di origine non vengono spostati automaticamente la nuova configurazione della destinazione. Lo spostamento dell'istanza viene interrotto se i backup esistono nella configurazione dell'istanza di origine quando avvii l'istanza spostare l'attività. È importante copiare i backup e considerare piano di recupero dati prima di trasferire in esecuzione in un'istanza Compute Engine.

Se nell'istanza di origine esistono backup che devi conservare, ti consigliamo di copiare le copie di backup nel configurazione dell'istanza di destinazione e un'altra istanza con la stessa istanza configurazione come istanza di origine da spostare. In questo modo:

  • Puoi copiare i tuoi backup nella configurazione dell'istanza di destinazione subito dopo il completamento dello spostamento dell'istanza.
  • Se devi annullare lo spostamento dell'istanza, puoi anche ripristinare rapidamente i tuoi backup dall'istanza con la stessa configurazione dell'origine configurazione dell'istanza.

Dopo aver copiato i backup in un'altra istanza, devi eliminare eventuali i backup nell'istanza di origine prima di poter spostare l'istanza. Quindi, una volta lo spostamento dell'istanza viene completato, hai una copia del backup nella destinazione configurazione. Puoi anche creare un nuovo backup.

Per scoprire di più sulla copia dei backup e dei costi associati, consulta Copiare un backup.

Come spostare un'istanza

Puoi spostare un'istanza con Cloud Shell nella console Google Cloud gcloud CLI usando i comandi gcloud.

Prerequisiti

Prima di spostare la configurazione dell'istanza, assicurati di avere leggi le Limitazioni e Considerazioni sulle prestazioni sezioni. Quindi, segui questa procedura:

  1. Verifica di disporre dell'autorizzazione IAM spanner.instances.update sull'istanza di origine.
  2. Se applicabile, sposta le istanze non di produzione (ad esempio test e gestione temporanea) prima di spostare le istanze di produzione per Valutare e comprendere l'impatto delle prestazioni sui carichi di lavoro durante un'istanza spostare l'attività.
  3. Quando sposti un'istanza Spanner, il processo di spostamento elimina i tag istanza creati in Data Catalog. Per preservare devi esportare i tag prima dello spostamento e importarli dopo lo spostamento. Per ulteriori informazioni, vedi Esportare e importare tag.

Per le best practice, segui anche queste linee guida:

  • Testa le prestazioni dei carichi di lavoro nelle istanze non di produzione nella destinazione prima di spostare l'istanza di produzione. Prova Sposta un'istanza temporanea simile a quella di produzione per avere un'idea di quanto tempo ci vorrà per spostare l'istanza di produzione.
  • Controlla che non siano presenti hotspot nei database utilizzando Key Visualizer.
  • Rivedi per assicurarti che la quota di nodi sia sufficiente nella configurazione dell'istanza di destinazione per supportare l'utilizzo di picco previsto dell'istanza. Per ulteriori informazioni, vedi Quote di Spanner e Limiti.
  • Assicurati che il picco di utilizzo CPU di l'istanza è inferiore al 40% per la configurazione dell'istanza che hai spostato la quantità di spazio di archiviazione per nodo è inferiore a 1 tebibyte (TiB).
  • Non apportare modifiche all'istanza durante lo spostamento. Questo include la modifica del numero di nodi delle istanze, la modifica degli schemi dei database, creando o eliminando database e creando o eliminando backup.

Se sposti la tua istanza in base a questi suggerimenti, di solito viene completata entro 24 ore. Tuttavia, a seconda dell'applicazione carico di lavoro, il tempo di completamento potrebbe essere più lungo o più breve.

Sposta un'istanza

Console Google Cloud

  1. Fai clic su Attiva l'icona di Cloud Shell Attiva Cloud Shell nella parte superiore della console Google Cloud.

    Una sessione di Cloud Shell si apre all'interno di un nuovo frame nella in fondo alla console Google Cloud e viene visualizzato un prompt della riga di comando. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Utilizza la 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 che vuoi spostare.
    • TARGET_CONFIG: un identificatore permanente dell'istanza in cui vuoi spostare l'istanza. Il nuovo targeting geografico località dell'istanza. Può essere una singola regione, configurazione di più regioni o di istanze personalizzate (ad esempio, nam3, us-central1 o custom-nam3-us-west2).

Ad esempio, per spostare l'istanza test-instance dall'istanza attuale configurazione dell'istanza in nam3, esegui questo comando:

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

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

  1. Clona la configurazione di base e aggiungi la replica di sola lettura:

    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 dall'istanza attuale a questa nuova configurazione dell'istanza custom-nam3-us-west2:

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

Interfaccia a riga di comando gcloud

Utilizza la 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 che vuoi spostare.
  • TARGET_CONFIG: un identificatore permanente dell'istanza in cui vuoi spostare l'istanza. Il nuovo targeting geografico località dell'istanza. Può essere una singola regione, una doppia regione o configurazione di istanze multiregionali (ad esempio, nam3, us-central1, o custom-nam3-us-west2).

Ad esempio, per spostare l'istanza test-instance dall'istanza attuale configurazione dell'istanza in nam3, esegui questo comando:

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

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

  1. Clona la configurazione di base e aggiungi la replica di sola lettura:

    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 dall'istanza attuale a questa nuova configurazione dell'istanza custom-nam3-us-west2:

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

Come monitorare l'avanzamento dello spostamento e dell'annullamento dell'istanza

Puoi usare gcloud spanner operations describe o creare un modello personalizzato Dashboard di Cloud Monitoring per monitorare l'avanzamento del trasferimento di un'istanza.

Visualizza l'avanzamento dell'operazione di spostamento e annullamento

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

  1. Esegui questo comando per ottenere l'ID operazione per l'operazione di spostamento dell'istanza:

    gcloud spanner operations list --instance="INSTANCE_ID"
    

    Sostituisci quanto segue:

    • INSTANCE-ID: l'identificatore permanente dell'istanza che che vuoi spostare.

    L'output mostra un elenco di operazioni a lunga esecuzione, incluso lo spostamento dell'istanza operativa.

  2. Esegui il comando gcloud spanner operations describe per visualizzare l'avanzamento percentuale e stato:

    gcloud spanner operations describe OPERATION_ID --instance=INSTANCE_ID
    

    Sostituisci quanto segue:

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

Monitora un'operazione di spostamento dell'istanza

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

I grafici Spazio di archiviazione totale e Spazio di archiviazione totale dei database per database dashboard sono utili per monitorare l'avanzamento del trasferimento. Puoi vedere lo spazio di archiviazione nella configurazione di origine si riduce gradualmente mentre lo spazio la configurazione della destinazione aumenta.

Console Google Cloud

  1. Scarica il move-instance-dashboard.json . Questo file contiene le informazioni necessarie per completare 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 Monitoraggio.

  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. Poi seleziona JSON e poi Editor JSON.
  5. Nel riquadro JSON Editor, copia i contenuti del file move-instance-dashboard.json file che hai scaricato e incollalo nella dell'editor.
  6. Per applicare le modifiche alla dashboard, fai clic su Applica modifiche. Se non vuoi usare questa dashboard, torna alle dashboard pagina Panoramica.
  7. Dopo aver creato la dashboard, fai clic su Aggiungi filtro. Quindi seleziona project_id o instance_id per monitorare l'avanzamento dell'istanza spostare l'attività.

Interfaccia a riga di comando gcloud

  1. Scarica il move-instance-dashboard.json . Questo file contiene le informazioni necessarie per completare 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 ulteriori informazioni, consulta la gcloud monitoring dashboards create riferimento.

Annullare lo spostamento di un'istanza

Puoi annullare solo il trasferimento di un'istanza ancora in corso. Se vuoi se ripristini uno spostamento di un'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 più o meno la stessa quantità di tempo che è trascorso dall'inizio l'inizio dello spostamento. Questo perché i dati devono essere riportati nell'istanza di origine configurazione.

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

  1. Per ottenere l'ID operazione, esegui:

    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 che vuoi spostare.

    L'output mostra un elenco di operazioni di spostamento dell'istanza in corso.

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

    gcloud spanner operations cancel OPERATION_ID
    

    Sostituisci quanto segue:

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

Passaggi successivi