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 bieten, 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?

Vorteile der Instanzverschiebung:

  • Verfügbarkeit erhöhen: Sie erhalten eine Verfügbarkeit von 99,999% ohne Ausfallzeiten. nachdem Sie einen regionalen Wechsel in eine biregionale oder multiregionale Migration 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 Region, Dual-Region oder Multi-Region verschieben Instanzkonfiguration können Gebühren für die ausgehende Datenübertragung anfallen. 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.
  • Sie können eine kostenlose Spanner-Testinstanz nicht verschieben. 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-Sicherungen sind spezifisch für einer Instanzkonfiguration und sind beim Verschieben einer Instanz nicht enthalten. Für Weitere Informationen finden Sie unter Sicherungen.
  • Die folgenden APIs werden während einer Instanzverschiebung deaktiviert: <ph type="x-smartling-placeholder">
      </ph>
    • 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 Löschungen 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 Spitzen-CPU-Auslastung bereitstellen, 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 variiert ihre Leistung die Details der Instanzkonfiguration. 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. Das Verschieben der Instanz wird abgebrochen, wenn Sicherungen sind beim Start der Instanz in der Konfiguration der Quellinstanz vorhanden bewegen. Es ist wichtig, dass Sie Ihre Sicherungen kopieren Datenwiederherstellungsplan, bevor Sie Instanz.

Wenn in Ihrer Quellinstanz Sicherungen vorhanden sind, die Sie beibehalten 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 bedeutet:

  • Sie können Ihre Sicherungen in die Zielinstanzkonfiguration kopieren. direkt nach dem Verschieben der Instanz.
  • 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 IAM-Berechtigung spanner.instances.update haben auf der Quellinstanz.
  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.
  • Achten Sie darauf, dass die maximale CPU-Auslastung für die verschobene Instanzkonfiguration weniger als 40 % Der Speicherplatz pro Knoten beträgt weniger als 1 Tebibyte (TiB).
  • Nehmen Sie während des Verschiebens keine Änderungen an der Instanz vor. Dieses die Änderung der Anzahl der Instanzknoten, der Änderung von Datenbankschemas, Erstellen oder Löschen von Datenbanken und 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. Mit der neuen geografischen Standort Ihrer Instanz. Dies kann eine regionale, biregionale, multiregionale oder benutzerdefinierte Instanzkonfiguration (z. B. nam3, us-central1 oder custom-nam3-us-west2).

Um beispielsweise die Instanz test-instance von ihrer aktuellen auf nam3 setzen, führen Sie den folgenden Befehl 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. Mit der neuen geografischen Standort Ihrer Instanz. Dies kann eine regionale, biregionale oder Multiregionale Instanzkonfiguration (z. B. nam3, us-central1, oder custom-nam3-us-west2).

Um beispielsweise die Instanz test-instance von ihrer aktuellen auf nam3 setzen, führen Sie den folgenden Befehl 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 des Verschiebe- und Abbruchvorgangs 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 mit dem folgenden Befehl 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 ist die Instanz-ID der Instanz, die Sie ausführen möchten. überprüfen.

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 Gesamter Datenbankspeicher nach Datenbanken in den Dashboard sind hilfreich, um den Fortschritt der Verschiebung zu überwachen. 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. und dauert etwa genauso lang wie die Zeit, die seit der Beginn des Zugs. Das liegt daran, dass Daten zurück in die Quellinstanz verschoben werden müssen. Konfiguration.

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