Instanz verschieben

Auf dieser Seite wird beschrieben, wie Sie eine Instanz in Spanner verschieben.

Sie können Ihre Spanner-Instanz von jeder Instanz aus verschieben auf eine andere Instanzkonfiguration, auch zwischen regionalen, biregionalen und multiregionalen Konfigurationen. Umzug verursacht Ihre Instanz keine Ausfallzeiten und Spanner die üblichen Transaktionsgarantien bereitstellen, einschließlich strikter Konsistenz.

Sie können die Instanz auch aus ihrer Quellinstanzkonfiguration verschieben auf eine benutzerdefinierte Instanzkonfiguration (z. B. eine nam3-Basiskonfiguration) mit einem schreibgeschützten us-west2-Replikat). Da Sie die Topologie nicht aktualisieren können, vorhandener Instanzkonfigurationen erstellen, müssen Sie eine neue benutzerdefinierte Instanz Konfiguration mit der gewünschten Topologie. Nach dem Erstellen des neuen benutzerdefinierten Instanzkonfiguration können Sie Ihre Instanz von der Quellinstanz auf die neue benutzerdefinierte Instanzkonfiguration.

Warum sollten Sie Ihre Spanner-Instanz verschieben?

Das Verschieben Ihrer Instanz bietet unter anderem folgende Vorteile:

  • Verfügbarkeit erhöhen: Sie können eine Verfügbarkeit von 99,999 % ohne Ausfallzeiten erzielen, nachdem Sie eine Migration von einer Region zu einer dualen Region oder zu mehreren Regionen durchgeführt haben.
  • Latenz reduzieren: Reduzieren Sie die Latenz und erhöhen Sie die geografische Abdeckung mit Zusätzliche schreibgeschützte Replikate über eine Region zu einer Dual-Region oder Multi-Region oder „Multi-Region“ zu „multiregional“.
  • Kosten senken: Senken Sie die Kosten pro Stunde durch den Wechsel von einer Dual- oder Multi-Region. in eine regionale Konfiguration.
  • Datenbank am selben Standort platzieren: Platzieren Sie die Spanner-Datenbank am selben Standort wie die Clientanwendung durch Verschieben der Instanz an einen optimierten Speicherort.

Preise

Beim Verschieben einer Instanz werden sowohl die Quell- als auch die Zielinstanzkonfiguration werden stündlich Computing- und Speichergebühren berechnet. Nach dem Verschieben wird Ihnen der Zielkonfiguration.

Wenn Sie Ihre Instanz in eine neue regionale, biregionale oder multiregionale Instanzkonfiguration verschieben, fallen möglicherweise Gebühren für ausgehende Datenübertragungen an. Weitere Informationen finden Sie unter Spanner-Preise.

Beschränkungen

  • Zum Verschieben einer Instanz benötigen Sie mindestens 1 Knoten (1.000 Verarbeitungseinheiten).
  • Sie können Ihre Instanz nicht zwischen Projekten und Google Cloud-Konten verschieben.
  • Kostenlose Spanner-Testinstanzen können nicht verschoben werden. Sie können die Instanz verschieben, nachdem Sie ein Upgrade auf eine kostenpflichtige Instanz durchgeführt haben.
  • Wenn Sie aktive Anfragen mit einem regionalen Dienstendpunkt haben für eine der Instanzressourcen gilt, wirkt sich die Verschiebung der Instanz auf alle Anfragen die den regionalen Endpunkt verwenden, da die Zugriff auf regionenübergreifende Instanzen. Anfragen, die einen globalen Endpunkt verwenden, werden nicht betroffen sind.
  • Spanner-backups sind spezifisch für einer Instanzkonfiguration und sind beim Verschieben einer Instanz nicht enthalten. Weitere Informationen finden Sie unter Sicherungen.
  • Die folgenden APIs werden während einer Instanzverschiebung deaktiviert:
    • InstanceAdmin.DeleteInstance
    • InstanceAdmin.UpdateInstance
    • DatabaseAdmin.CreateDatabase
    • DatabaseAdmin.UpdateDatabaseDdl (deaktiviert, wenn default_leader gleich in der Anfrage angegeben ist.)
    • DatabaseAdmin.RestoreDatabase
    • DatabaseAdmin.CreateBackup
    • DatabaseAdmin.CopyBackup
  • Sie können keine Instanzen verschieben, die einen CMEK-aktivierten enthalten Datenbanken.
  • Wenn eine Datenbank einen geänderten Standard-Leader hat, wird die Auswahl beibehalten, wenn sie eine nicht schreibgeschützte Region in der Zielinstanzkonfiguration und diese Konfiguration multiregional. Wenn die Zielkonfiguration regional ist oder nicht benannte nicht schreibgeschützte Region enthalten, ist die standardmäßige Leader-Auswahl gelöscht.
  • Durch das Verschieben einer Instanz ändert sich das Instanzkonfigurationsattribut Ihres Instanz. Wenn Sie Ihre Spanner-Ressourcen über sollten Sie Unstimmigkeiten vorbereiten und beheben, entstehen.
    • Wenn Sie z. B. Terraform verwenden, um Cloud Spanner-Instanzen und -Datenbanken verwalten Aktivieren Sie terraform apply --auto-approve, um Ihre Ressourcen zu synchronisieren. werden alle Instanzen und untergeordneten Ressourcen beim Verschieben der Instanz gelöscht. Aktualisieren Sie die Konfiguration entsprechend, um das Löschen und Datenverluste zu vermeiden. Weitere Informationen finden Sie unter Terraform-Anwendungsoptionen finden Sie weitere Informationen zum Befehl apply.
  • Während die Instanz verschoben wird, führt das Spanner-Monitoring Messwerte und Diagrammen können Daten sowohl in der Quelle als auch in der Zielumgebung darstellen. Instanzkonfigurationen oder nur die Leistung in einer Instanz Konfiguration.
  • Wenn Sie das Open-Source-Autoscaling-Tool konfiguriert haben, deaktivieren müssen. Es schlägt fehl, weil InstanceAdmin.UpdateInstance (für Knoten- und Verarbeitungseinheit) deaktiviert ist.
  • Sie können eine Instanz nicht verschieben, wenn der Von Spanner verwaltetes Autoscaling für die Funktion aktiviert ist. Zum Verschieben der Instanz müssen Sie Folgendes deaktivieren: das verwaltete Autoscaling an, verschieben Sie die Instanz und aktivieren Sie das verwaltete automatisch skalieren.

    Wenn Sie Autoscaling verwenden, müssen Sie genügend Knoten für eine maximale CPU-Auslastung gemäß maximale Empfehlungen notieren und das Autoscaling vor dem verschieben Sie die Instanz.

Hinweise zur Leistung

Beim Verschieben einer Instanz treten höhere Lese-/Schreiblatenzen und zu einer höheren Abbruchrate führen. Die CPU-Auslastung während des Verschiebens kann steigen da das Verschieben der Instanz mit freier CPU durchgeführt wird, die vom Nutzenden. Das Verschieben einer Instanz führt jedoch nicht zu einer Ausfallzeit. Uhrzeit wie oft eine Instanz verschoben wird, hängt von verschiedenen Faktoren ab, darunter der Größe die Datenbanken, die Anzahl der Knoten und die Art der Verschiebung (z.B. von multiregional).

Nach dem Verschieben einer Instanz hängt die Leistung der Instanz von den Details der Instanzkonfiguration ab. Beispiel: dual-region und Multiregionale Konfigurationen haben in der Regel eine höhere Schreiblatenz und eine geringere Leselatenz regionale Konfigurationen fest.

Sicherungen

Wenn Sie eine Instanz verschieben, werden die Sicherungen der Quellinstanz nicht zu folgendem Ziel verschoben: die neue Zielkonfiguration automatisch erstellt. Der Instanzumzug wird abgebrochen, wenn zum Zeitpunkt des Startens des Instanzumzugs Back-ups in der Konfiguration der Quellinstanz vorhanden sind. Es ist wichtig, dass Sie Ihre Sicherungen kopieren Datenwiederherstellungsplan, bevor Sie Instanz.

Wenn in Ihrer Quellinstanz Sicherungen vorhanden sind, die Sie behalten müssen, empfehlen wir, dass Sie Ihre Sicherungen in den Zielinstanzkonfiguration und eine andere Instanz mit derselben Instanz Konfiguration als Quellinstanz festgelegt, die verschoben werden soll. Das hat folgende Gründe:

  • Sie können Ihre Sicherungen sofort nach Abschluss des Instanzumzugs in die Zielinstanzkonfiguration kopieren.
  • Wenn Sie die Instanzverschiebung abbrechen müssen, können Sie Ihre Sicherungen aus der Instanz, die dieselbe Konfiguration wie die Quelle haben Instanzkonfiguration.

Nachdem Sie Ihre Sicherungen in eine andere Instanz kopiert haben, müssen Sie alle vorhandenen in der Quellinstanz, bevor Sie die Instanz verschieben können. Sobald die Schaltfläche Die Instanzverschiebung ist abgeschlossen. Sie haben eine Kopie der Sicherung im Ziel. bereits konfiguriert. Sie können auch eine neue Sicherung erstellen.

Weitere Informationen zum Kopieren von Sicherungen und der damit verbundenen Kosten finden Sie unter Sicherung kopieren.

Instanz verschieben

Sie können eine Instanz mit der Cloud Shell der Google Cloud Console verschieben und die gcloud CLI mithilfe von gcloud-Befehlen

Vorbereitung

Bevor Sie die Instanzkonfiguration verschieben, müssen Sie Lesen Sie die Einschränkungen und Überlegungen zur Leistung . Gehen Sie dann so vor:

  1. Prüfen Sie, ob Sie die spanner.instances.update IAM-Berechtigung für die Quellinstanz haben.
  2. Verschieben Sie gegebenenfalls Ihre Nicht-Produktionsinstanzen. (z. B. für Test und Staging), bevor Sie Ihre Produktionsinstanzen verschieben. Auswirkungen auf Arbeitslasten während einer Instanz auf die Leistung bewerten und verstehen bewegen.
  3. Wenn Sie eine Spanner-Instanz verschieben, Beim Verschieben werden die Instanz-Tags gelöscht, die Sie in Data Catalog. Um Ihre müssen Sie Ihre Tags exportieren, vor dem Verschieben und importieren Sie sie nach dem Verschieben. Weitere Informationen finden Sie unter Exportieren und importieren Sie Tags.

Beachten Sie auch die folgenden Best Practices:

  • Leistungsarbeitslasten in Nicht-Produktionsinstanzen im Ziel testen Instanzkonfiguration vor dem Verschieben der Produktionsinstanz. Ausprobieren Verschieben einer Staging-Instanz, die Ihrer Produktionsinstanz ähnelt um eine Vorstellung davon zu bekommen, wie lange das Verschieben der Produktionsinstanz dauert.
  • Prüfen Sie mit Key Visualizer, ob in Ihren Datenbanken Hotspots vorhanden sind.
  • Prüfen Sie, ob Ihr Knotenkontingent ausreicht. in der Zielinstanzkonfiguration, um die erwartete Spitzennutzung zu unterstützen der Instanz. Weitere Informationen finden Sie unter Spanner-Kontingente und Limits.
  • Die maximale CPU-Auslastung Ihrer Instanz darf für die von Ihnen verschobene Instanzkonfiguration nicht über 40 % liegen und die Speichermenge pro Knoten darf nicht über 1 Tebibyte (TiB) liegen.
  • Nehmen Sie während des Verschiebens keine Änderungen an der Instanz vor. Dazu gehören das Ändern der Anzahl der Instanzknoten, das Ändern von Datenbankschemata, das Erstellen oder Löschen von Datenbanken und das Erstellen oder Löschen von Sicherungen.

Wenn Sie Ihre Instanz gemäß diesen Empfehlungen verschieben, führt die Verschiebung in der Regel innerhalb von 24 Stunden abgeschlossen. Abhängig von der jeweiligen Anwendung Arbeitsbelastung kann die Fertigstellungszeit länger oder kürzer sein.

Instanz verschieben

Google Cloud Console

  1. Klicken Sie auf Cloud Shell-Symbol aktivieren. Aktivieren Sie Cloud Shell oben in der Google Cloud Console.

    Eine Cloud Shell-Sitzung wird in einem neuen Frame geöffnet. unten in der Google Cloud Console und zeigt eine Eingabeaufforderung an. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Verwenden Sie den gcloud spanner instances move. um die Instanz zu verschieben.

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

    Ersetzen Sie Folgendes:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz, die die Sie verschieben möchten.
    • TARGET_CONFIG: eine permanente Kennzeichnung der Instanz Konfiguration, in die Sie die Instanz verschieben möchten. Der neue geografische Standort Ihrer Instanz. Das kann eine regionale, biregionale, multiregionale oder benutzerdefinierte Instanzkonfiguration (z. B. nam3, us-central1 oder custom-nam3-us-west2.

Wenn Sie beispielsweise die Instanz test-instance aus ihrer aktuellen Instanzkonfiguration zu nam3 verschieben möchten, führen Sie Folgendes aus:

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

Optional: Wenn Sie der Basis ein schreibgeschütztes Replikat us-west2 hinzufügen möchten für die Instanzkonfiguration nam3:

  1. Klonen Sie die Basiskonfiguration und fügen Sie das schreibgeschützte Replikat hinzu:

    gcloud spanner instance-configs create custom-nam3-us-west2 \
    --clone-config=nam3 --add-replicas=location=us-west2, type=READ_ONLY
    
  2. Instanz test-instance von ihrer aktuellen Instanz verschieben auf diese neue custom-nam3-us-west2-Instanzkonfiguration hinzu:

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

gcloud-CLI

Verwenden Sie den gcloud spanner instances move. um die Instanz zu verschieben.

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

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz, die die Sie verschieben möchten.
  • TARGET_CONFIG: eine permanente Kennzeichnung der Instanz Konfiguration, in die Sie die Instanz verschieben möchten. Der neue geografische Standort Ihrer Instanz. Dies kann eine regionale, biregionale oder Multiregionale Instanzkonfiguration (z. B. nam3, us-central1, oder custom-nam3-us-west2).

Wenn Sie beispielsweise die Instanz test-instance aus ihrer aktuellen Instanzkonfiguration zu nam3 verschieben möchten, führen Sie Folgendes aus:

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

Optional: Wenn Sie der Basis ein schreibgeschütztes Replikat us-west2 hinzufügen möchten für die Instanzkonfiguration nam3:

  1. Klonen Sie die Basiskonfiguration und fügen Sie das schreibgeschützte Replikat hinzu:

    gcloud spanner instance-configs create custom-nam3-us-west2 \
    --clone-config=nam3 --add-replicas=location=us-west2, type=READ_ONLY
    
  2. Instanz test-instance von ihrer aktuellen Instanz verschieben auf diese neue custom-nam3-us-west2-Instanzkonfiguration hinzu:

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

Fortschritt des Verschiebens und Abbruchs von Instanzen überwachen

Sie können gcloud spanner operations describe verwenden oder ein benutzerdefiniertes Cloud Monitoring-Dashboard zur Überwachung des Fortschritts einer Instanzverschiebung.

Fortschritt der Verschiebung und Kündigung ansehen

So verfolgen Sie den Fortschritt einer Instanzverschiebung oder Beendigung einer Instanzverschiebung verwenden Sie den gcloud spanner operations describe . Für diesen Befehl ist die Vorgangs-ID der laufenden Instanzverschiebung erforderlich .

  1. Rufen Sie die Vorgangs-ID für den Vorgang zum Verschieben der Instanz ab:

    gcloud spanner operations list --instance="INSTANCE_ID"
    

    Ersetzen Sie Folgendes:

    • INSTANCE-ID: Die permanente Kennzeichnung der Instanz, die Sie die Sie verschieben möchten.

    Die Ausgabe zeigt eine Liste lang andauernder Vorgänge, einschließlich der Instanzverschiebung .

  2. Führen Sie den Befehl gcloud spanner operations describe aus, um den Fortschritt anzusehen Prozentsatz und Status:

    gcloud spanner operations describe OPERATION_ID --instance=INSTANCE_ID
    

    Ersetzen Sie Folgendes:

    • OPERATION_ID: die Vorgangs-ID des Vorgangs zum Verschieben der Instanz die Sie überprüfen möchten.
    • INSTANCE_ID: Die Instanz-ID der Instanz, die Sie prüfen möchten.

Vorgang zum Verschieben von Instanzen überwachen

Sie können ein benutzerdefiniertes Cloud Monitoring-Dashboard zum Anzeigen und Überwachen erstellen während der Instanzverschiebung, ein Vorgang mit langer Ausführungszeit, Auswirkungen auf den Dienst.

Die Diagramme Gesamtspeicher und Gesamtdatenbankspeicher nach Datenbanken im Dashboard sind hilfreich, um den Fortschritt der Migration zu verfolgen. Sie können die der Speicherplatz in der Quellkonfiguration allmählich abgefallen, während der Speicher in der erhöht sich die Zielkonfiguration.

Google Cloud Console

  1. Laden Sie die move-instance-dashboard.json herunter. -Datei. Diese Datei enthält die Informationen, die zum Füllen eines benutzerdefinierten Dashboards erforderlich sind in „Monitoring“.
  2. Rufen Sie in der Google Cloud Console die Seite Dashboards auf.

    Dashboards aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  3. Klicken Sie in der Dashboard-Übersicht auf Dashboard erstellen.
  4. Klicken Sie in der Dashboard-Symbolleiste auf das Drop-down-Menü Dashboard-Einstellungen. Dann Wählen Sie JSON und dann JSON Editor aus.
  5. Kopieren Sie im Bereich JSON Editor den Inhalt des move-instance-dashboard.json Datei, die Sie heruntergeladen haben, und fügen Sie sie in den Editor.
  6. Klicken Sie auf Änderungen übernehmen, um die Änderungen für das Dashboard zu übernehmen. Wenn Sie dieses Dashboard nicht verwenden möchten, navigieren Sie zurück zu den Dashboards Übersichtsseite.
  7. Klicken Sie nach dem Erstellen des Dashboards auf Filter hinzufügen. Wählen Sie dann entweder project_id oder instance_id zum Überwachen des Fortschritts der Instanz bewegen.

gcloud-CLI

  1. Laden Sie die move-instance-dashboard.json herunter. -Datei. Diese Datei enthält die Informationen, die zum Füllen eines benutzerdefinierten Dashboards erforderlich sind in „Monitoring“.
  2. Verwenden Sie den Befehl gcloud monitoring dashboards create, um ein Dashboard in einem Projekt zu erstellen:

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

    Weitere Informationen finden Sie in der Referenz zu gcloud monitoring dashboards create.

So brechen Sie eine Instanzverschiebung ab

Sie können nur eine Instanzverschiebung abbrechen, die noch läuft. Wenn Sie eine bereits abgeschlossene Instanzverschiebung rückgängig machen, müssen Sie eine neue Verschiebung starten.

Sie können gcloud spanner operations cancel verwenden zum Abbrechen von Instanzverschiebungsvorgängen. Die Kündigung erfolgt nicht sofort. Sie dauert ungefähr genauso lange wie die Zeit, die seit Beginn des Zugs. Das liegt daran, dass die Daten zurück in die Konfiguration der Quellinstanz verschoben werden müssen.

Für diesen Befehl ist die Vorgangs-ID der laufenden Instanzverschiebung erforderlich .

  1. Rufen Sie mit folgendem Befehl die Vorgangs-ID ab:

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

    Ersetzen Sie Folgendes:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz, die Sie die Sie verschieben möchten.

    Die Ausgabe zeigt eine Liste der laufenden Instanzverschiebungsvorgänge.

  2. Führen Sie den Befehl gcloud spanner operations cancel aus, um die Instanz abzubrechen. Verschieben:

    gcloud spanner operations cancel OPERATION_ID
    

    Ersetzen Sie Folgendes:

    • OPERATION_ID: die Vorgangs-ID des Vorgangs zum Verschieben der Instanz, der Sie stornieren möchten.

Nächste Schritte