Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo tratta le linee guida per il trasferimento di Database di Azure per PostgreSQL, Server Singolo e Server Flessibili in aree geografiche in cui le coppie di regione non sono disponibili per replica e geo-ripristino.
Esistono diversi motivi per cui è possibile spostare le risorse di Azure esistenti da un'area a un'altra. Potresti voler:
- Sfruttare i vantaggi di una nuova area di Azure.
- Distribuire funzionalità o servizi disponibili solo in aree specifiche.
- Soddisfare i requisiti delle politiche interne e di governance.
- Allinearsi alle fusioni e alle acquisizioni aziendali
- Soddisfare i requisiti di pianificazione della capacità.
Per imparare come rilocalizzare Azure Cosmos DB per PostgreSQL (precedentemente chiamato Database di Azure per PostgreSQL - Hyperscale (Citus)), vedi Leggi repliche in Azure Cosmos DB for PostgreSQL.
Per una panoramica delle coppie di regioni supportate dalla replicazione nativa, vedi replicazione tra regioni.
Prerequisiti
I prerequisiti si applicano solo alla ridistribuzione con dati. Per spostare il tuo database senza dati, puoi saltare a Prepararti.
Per trasferire PostgreSQL con dati da una regione all'altra, è necessario avere una risorsa di calcolo aggiuntiva per eseguire gli strumenti di backup e ripristino. Gli esempi in questa guida utilizzano una VM Azure con Ubuntu 20.04 LTS. Le risorse di calcolo devono:
- Avere accesso di rete sia al server sorgente che a quello di destinazione, sia su una rete privata sia tramite inclusione nelle regole del firewall.
- Trovarsi in una delle regioni di origine o di destinazione.
- Usa Accelerated Networking (se disponibile).
- Il contenuto del database non viene salvato in nessun archivio intermedio; l'output dello strumento di backup logico viene inviato direttamente al server di destinazione.
A seconda della progettazione delle istanze del tuo Database di Azure per PostgreSQL, le seguenti risorse dipendenti potrebbero dover essere distribuite e configurate nella regione di destinazione prima del trasferimento:
Tempo di inattività
Per comprendere i possibili tempi di inattività, vedere Cloud Adoption Framework per Azure: selezionare un metodo di rilocazione.
Prepare
Per iniziare, esportare un modello di Resource Manager. Questo modello contiene impostazioni che descrivono il tuo namespace Automazione.
Accedi al portale di Azure.
Seleziona Tutte le risorse e poi seleziona la tua risorsa di Automazione.
Selezionare Esporta modello.
Scegliere Scarica nella pagina Esporta modello.
Trova il file .zip che hai scaricato dal portale e scomprimi quel file in una cartella a tua scelta.
Questo file ZIP contiene i file .json che includono il modello e gli script per distribuire il modello.
Ridistribuire senza dati
Regola i parametri del template esportato per corrispondere alla regione di destinazione.
Importante
Il server target deve essere diverso dal nome del server sorgente. Devi riconfigurare i client per puntare al nuovo server.
Ridistribuisci il modello nella nuova regione. Per un esempio di come utilizzare un template ARM per creare un Database di Azure per PostgreSQL, vedi Quickstart: Usa un template ARM per creare un Database di Azure per PostgreSQL - Flexible Server.
Ridistribuire con i dati
Il rideploy con migrazione dati per Database di Azure per PostgreSQL si basa su backup e ripristino logico e richiede strumenti nativi. Di conseguenza, puoi prevedere tempi di inattività significativi durante il ripristino.
Tip
Puoi utilizzare il portale Azure per spostare un database Database di Azure per PostgreSQL - Flexible Server. Per imparare come eseguire la replica per Single Server, consulta Sposta un database Database di Azure per PostgreSQL - Server Flexible in un'altra regione utilizzando il portale Azure.
Regola i parametri del template esportato per corrispondere alla regione di destinazione.
Importante
Il nome del server target deve essere diverso dal nome del server sorgente. Devi riconfigurare i client per puntare al nuovo server.
Ridistribuisci il modello nella nuova regione. Per un esempio di come utilizzare un template ARM per creare un Database di Azure per PostgreSQL, vedi Quickstart: Usa un template ARM per creare un Database di Azure per PostgreSQL - Flexible Server.
Sulla risorsa di calcolo fornita per la migrazione, installare gli strumenti client PostgreSQL per la versione PostgreSQL da migrare. Il seguente esempio utilizza PostgreSQL versione 13 su una VM Azure che esegue Ubuntu 20.04 LTS:
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-13Per maggiori informazioni sull'installazione dei componenti PostgreSQL in Ubuntu, consulta Download Linux (Ubuntu).
Per altre piattaforme, vai su PostgreSQL Downloads.
(Opzionale) Se hai creato ruoli aggiuntivi nel server sorgente, creali nel server di destinazione. Per ottenere un elenco dei ruoli esistenti, usa la seguente richiesta:
select * from pg_catalog.pg_roles where rolename not like 'pg_%' and rolename not in ('azuresu', 'azure_pg_admin', 'replication') order by rolename;Per migrare ogni database, esegui i seguenti passaggi:
Ferma tutta l'attività del database sul server sorgente.
Sostituire le informazioni sulle credenziali, il server sorgente, il server target e il nome del database nel seguente script:
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 postgresPer migrare il database, esegui lo script.
Configura i client per puntare al server target.
Esegui test funzionali sulle applicazioni.
- Assicurati che il
ignoreMissingVnetServiceEndpointflag sia impostato suFalse, così che l'IaC non implementi il database quando l'endpoint del servizio non è configurato nella regione di destinazione.
- Assicurati che il