Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält Anleitungen zur Verschiebung von Azure Database for PostgreSQL Einzelserver und flexibler Server in Regionen, in denen keine Regionspaare für Replikation und geographische Wiederherstellung verfügbar sind.
Es gibt verschiedene Gründe, warum Sie vielleicht Ihre vorhandenen Azure-Ressourcen aus einer Region in eine andere verschieben möchten. Sie könnten Folgendes tun:
- Nutzen Sie die Vorteile einer neuen Azure-Region.
- Stellen Sie Features oder Dienste bereit, die nur in bestimmten Regionen verfügbar sind.
- Erfüllen Sie interne Richtlinien- und Governanceanforderungen.
- Anpassung an Unternehmenszusammenschlüsse und -übernahmen
- Kapazitätsplanungsanforderungen erfüllen.
Informationen zum Verlagern von Azure Cosmos DB für PostgreSQL (früher als Azure Database for PostgreSQL - Hyperscale (Citus) bezeichnet) finden Sie unter Read replicas in Azure Cosmos DB for PostgreSQL.
Für einen Überblick über die durch native Replikation unterstützten Regionenpaare siehe Querschnittsreplikation.
Voraussetzungen
Voraussetzungen gelten nur für eine Neueinsetzung mit Daten. Um Ihre Datenbank ohne Daten zu verschieben, können Sie zu "Bereiten" springen.
Um PostgreSQL mit Daten von einer Region in eine andere zu verlagern, benötigen Sie eine zusätzliche Rechenressource, um die Backup- und Wiederherstellungstools auszuführen. Die Beispiele in diesem Leitfaden verwenden eine Azure-VM mit Ubuntu 20.04 LTS. Die Rechenressourcen müssen:
- Haben Sie Netzwerkzugriff sowohl zum Quell- als auch zum Zielserver, entweder in einem privaten Netzwerk oder durch Aufnahme in die Firewall-Regeln.
- Befinden Sie sich entweder in der Quell- oder Zielregion.
- Nutze Accelerated Networking (falls verfügbar).
- Der Datenbankinhalt wird nicht auf einem Zwischenspeicher gespeichert; die Ausgabe des logischen Backup-Tools wird direkt an den Zielserver gesendet.
Je nach Design Ihrer Azure Database for PostgreSQL-Instanz müssen möglicherweise die folgenden abhängigen Ressourcen in der Zielregion vor der Verlagerung bereitgestellt und konfiguriert werden:
Ausfallzeit
Informationen zu den möglichen Ausfallzeiten finden Sie unter Cloud Adoption Framework für Azure: Wählen Sie eine Verlagerungsmethode aus.
Vorbereiten
Exportieren Sie zunächst eine Resource Manager-Vorlage. Diese Vorlage enthält Einstellungen, die Ihren Automation-Namespace beschreiben.
Melden Sie sich im Azure-Portal an.
Wähle Alle Ressourcen und dann deine Automatisierungsressource.
Wählen Sie Vorlage exportieren aus.
Wählen Sie Herunterladen auf der Seite Vorlage exportieren aus.
Finde die .zip Datei, die du vom Portal heruntergeladen hast, und entpacke sie in einen Ordner deiner Wahl.
Diese ZIP-Datei enthält die JSON-Dateien, in denen die Vorlage und Skripts zum Bereitstellen der Vorlage enthalten sind.
Erneute Bereitstellung ohne Daten
Passen Sie die exportierten Vorlagenparameter an die Zielregion an.
Important
Der Zielserver muss sich vom Namen des Quellservers unterscheiden. Du musst die Clients neu konfigurieren, um auf den neuen Server zu verweisen.
Deploye die Vorlage in die neue Region. Ein Beispiel dafür, wie man eine ARM-Vorlage verwendet, um eine Azure Database for PostgreSQL zu erstellen, siehe Quickstart: Use an ARM template to create an Azure Database for PostgreSQL - Flexible Server.
Erneute Bereitstellung mit Daten
Die Neuauslösung mit Datenmigration für Azure Database for PostgreSQL basiert auf logischer Sicherung und Wiederherstellung und erfordert native Werkzeuge. Daher können Sie mit spürbaren Stillständen während der Restaurierung rechnen.
Tip
Sie können das Azure-Portal nutzen, um eine Azure Database for PostgreSQL - Flexible Server zu verlagern. Informationen dazu, wie Sie die Replikation für Single Server durchführen, finden Sie unter Verschieben einer Azure Database for PostgreSQL - Flexible Server mithilfe des Azure-Portals in eine andere Region.
Passen Sie die exportierten Vorlagenparameter an die Zielregion an.
Important
Der Name des Zielservers muss sich vom Namen des Quellservers unterscheiden. Du musst die Clients neu konfigurieren, um auf den neuen Server zu verweisen.
Deploye die Vorlage in die neue Region. Ein Beispiel dafür, wie man eine ARM-Vorlage verwendet, um eine Azure Database for PostgreSQL zu erstellen, siehe Quickstart: Use an ARM template to create an Azure Database for PostgreSQL - Flexible Server.
Installieren Sie auf der für die Migration bereitgestellten Rechenressourcen die PostgreSQL-Client-Tools für die zu migrierende PostgreSQL-Version. Das folgende Beispiel verwendet PostgreSQL Version 13 auf einer Azure-VM, die Ubuntu 20.04 LTS ausführt:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get install -y postgresql-client-13Weitere Informationen zur Installation von PostgreSQL-Komponenten in Ubuntu finden Sie unter Linux Downloads (Ubuntu).
Für andere Plattformen gehe zu PostgreSQL Downloads.
(Optional) Wenn du zusätzliche Rollen im Quellserver erstellt hast, erstelle sie auf dem Zielserver. Um eine Liste bestehender Rollen zu erhalten, verwenden Sie folgende Abfrage:
select * from pg_catalog.pg_roles where rolename not like 'pg_%' and rolename not in ('azuresu', 'azure_pg_admin', 'replication') order by rolename;Um jede Datenbank zu migrieren, führen Sie die folgenden Schritte durch:
Stoppen Sie alle Datenbankaktivitäten auf dem Quellserver.
Ersetze Zugangsinformationen, Quellserver, Zielserver und Datenbanknamen im folgenden Skript:
export USER=admin_username export PGPASSWORD=admin_password export SOURCE=pgsql-arpp-source.postgres.database.azure.com export TARGET=pgsql-arpp-target.postgres.database.azure.com export DATABASE=database_name pg_dump -h $SOURCE -U $USER --create --exclude-schema=pg_catalog $DATABASE | psql -h $TARGET -U $USER postgresUm die Datenbank zu migrieren, führe das Skript aus.
Konfigurieren Sie die Clients so, dass sie auf den Zielserver verweisen.
Führen Sie Funktionstests an den Anwendungen durch.
- Stellen Sie sicher, dass das
ignoreMissingVnetServiceEndpointFlag aufFalsegesetzt ist, damit der IaC die Datenbank nicht bereitstellt, wenn der Service-Endpunkt nicht in der Zielregion konfiguriert ist.
- Stellen Sie sicher, dass das