Esegui la migrazione di un database PostgreSQL locale su Aurora PostgreSQL - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui la migrazione di un database PostgreSQL locale su Aurora PostgreSQL

Creato da Baji Shaik (AWS) e Jitender Kumar (AWS)

Ambiente: PoC o pilota

Fonte: database PostgreSQL locale

Obiettivo: Aurora PostgreSQL compatibile

Tipo R: Replatform

Carico di lavoro: open source

Tecnologie: migrazione; database

Servizi AWS: Amazon Aurora; AWS DMS

Riepilogo

Amazon Aurora PostgreSQL Compatible Edition combina le prestazioni e la disponibilità dei database commerciali di fascia alta con la semplicità e la convenienza dei database open source. Aurora offre questi vantaggi scalando lo storage su tre zone di disponibilità nella stessa regione AWS e supporta fino a 15 istanze di replica in lettura per scalare i carichi di lavoro di lettura e fornire un'elevata disponibilità all'interno di una singola regione. Utilizzando un database globale Aurora, puoi replicare i database PostgreSQL in un massimo di cinque regioni per l'accesso in lettura remota e il disaster recovery in caso di errore di una regione. Questo modello descrive i passaggi per la migrazione di un database di origine PostgreSQL locale a un database Aurora compatibile con PostgreSQL. Il modello include due opzioni di migrazione: utilizzando AWS Data Migration Service (AWS DMS) o utilizzando strumenti PostgreSQL nativi (come pg_dump, pg_restore e psql) o strumenti di terze parti. 

I passaggi descritti in questo modello si applicano anche ai database PostgreSQL di destinazione su istanze Amazon Relational Database Service (Amazon RDS) e Amazon Elastic Compute Cloud (Amazon EC2).

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

Versioni del prodotto

Architettura

Stack tecnologico di origine

  • Database PostgreSQL locale

Stack tecnologico Target

  • Istanza DB Aurora compatibile con PostgreSQL

Architettura di origine

Architettura di origine per il database PostgreSQL locale

Architettura di destinazione

Architettura di destinazione per il database PostgreSQL su Amazon Aurora

Architettura di migrazione dei dati

Utilizzo di AWS DMS

Migrazione di un database PostgreSQL locale ad Aurora utilizzando AWS DMS

Utilizzo di strumenti PostgreSQL nativi

Migrazione di un database PostgreSQL locale su Aurora utilizzando pg_dump e pg_restore

Strumenti

  • AWS Database Migration Service (AWS DMS) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali. Questo servizio supporta diverse fonti e database di destinazione. Per informazioni su come convalidare le versioni e le edizioni del database PostgreSQL di origine e destinazione supportate per l'uso con AWS DMS, consulta Usare un database PostgreSQL come sorgente AWS DMS. Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità.

  • Gli strumenti nativi di PostgreSQL includono pg_dump, pg_restore e psql.

Epiche

AttivitàDescrizioneCompetenze richieste

Convalida le versioni del database di origine e di destinazione.

Se utilizzi AWS DMS, assicurati di utilizzare una versione supportata di PostgreSQL.

DBA

Identifica il tipo di storage e i requisiti di capacità.

  1. Calcola lo storage allocato per l'istanza del database di origine.

  2. Raccogli le metriche di crescita storiche per l'istanza del database di origine.

  3. Anticipa le previsioni di crescita future per l'istanza di database di destinazione.

  4. Alloca lo storage calcolando il numero totale di IOPS di lettura e scrittura sul database di origine. Un volume General Purpose SSD (gp2) fornisce 3 IOPS per ogni 1 GB di storage.

DBA, amministratore di sistema

Scegli il tipo di istanza, la capacità, le funzionalità di archiviazione e le funzionalità di rete corretti.

Determina i requisiti di elaborazione dell'istanza di database di destinazione. Esamina i problemi di prestazioni noti che potrebbero richiedere ulteriore attenzione. Considerate i seguenti fattori per determinare il tipo di istanza appropriato:

  • Utilizzo della CPU dell'istanza del database di origine

  • IOPS (operazioni di lettura e scrittura) per l'istanza del database di origine

  • Impronta di memoria sull'istanza del database di origine

Per ulteriori informazioni, consulta le classi di istanze di Aurora DB nella documentazione di Aurora.

DBA, amministratore di sistema

Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione.

Determinate i gruppi di sicurezza appropriati che consentano all'applicazione di comunicare con il database.

DBA, amministratore di sistema

Identifica la strategia di migrazione delle applicazioni.

  • Determina la strategia di transizione alla migrazione in base alla complessità della tua applicazione. 

  • Determina il Recovery Time Objective (RTO) e il Recovery Point Objective (RPO) per l'applicazione e pianifica il cutover di conseguenza.

DBA, proprietario dell'app, amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Crea un VPC.

Crea un nuovo cloud privato virtuale (VPC) per l'istanza del database di destinazione.

Amministratore di sistema

Crea gruppi di sicurezza.

Crea un gruppo di sicurezza all'interno del VPC (come determinato nell'epic precedente) per consentire le connessioni in entrata all'istanza del database.

Amministratore di sistema

Configura e avvia il cluster Aurora DB.

Crea l'istanza del database di destinazione con il nuovo VPC e il nuovo gruppo di sicurezza e avvia l'istanza.

Amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Completa i passaggi precedenti alla migrazione.

  1. Pulisci i dati nel database di origine.

  2. Crea un'istanza di replica.

  3. Crea endpoint di origine e destinazione.

  4. Identifica il numero di tabelle e oggetti disponibili da migrare.

DBA

Completa i passaggi di migrazione.

  1. Elimina i vincoli e i trigger di chiave esterna nel database di destinazione.

  2. Elimina gli indici secondari sul database di destinazione.

  3. Utilizza un'attività a caricamento completo per migrare i dati dal database di origine a quello di destinazione.

  4. Abilita le chiavi esterne.

  5. Se utilizzi la migrazione flash-cut e l'applicazione richiede tempi di inattività minimi, abilita Change Data Capture (CDC) per replicare le modifiche in corso

  6. Abilita i trigger.

  7. Sequenze di aggiornamento.

  8. Convalida i dati di origine e di destinazione.

DBA

Convalida i dati.

Per garantire che i dati siano stati migrati con precisione dall'origine alla destinazione, segui i passaggi di convalida dei dati nella documentazione di AWS DMS.

DBA
AttivitàDescrizioneCompetenze richieste

Preparare il database di origine.

  1. Crea una directory per archiviare il backup di pg_dump se non esiste già.

  2. Crea un utente di migrazione con le autorizzazioni per eseguire pg_dump sugli oggetti del database.

  3. Connect all'istanza EC2 ed esegui pg_dump backup.

Per ulteriori informazioni, consulta la documentazione di pg_dump e la procedura dettagliata nella documentazione di AWS DMS.

DBA

Preparare il database di destinazione.

  1. Crea un utente di migrazione con le autorizzazioni per utilizzare pg_restore sugli oggetti del database.

  2. Importa il dump del database utilizzando pg_restore.

Per ulteriori informazioni, consulta la documentazione di pg_restore e la procedura dettagliata nella documentazione di AWS DMS.

DBA

Convalida i dati.

  1. Confronta il numero di oggetti del database tra i database di origine e quelli di destinazione.

  2. Risolvete eventuali discrepanze rilevate tra i conteggi degli oggetti.

DBA
AttivitàDescrizioneCompetenze richieste

Segui la strategia di migrazione delle applicazioni.

Implementa la strategia di migrazione delle applicazioni che hai creato nella prima epic.

DBA, proprietario dell'app, amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Trasferisci i client applicativi alla nuova infrastruttura.

  1. Interrompi tutti i servizi applicativi e le connessioni client che puntano al database PostgreSQL locale.

  2. Esegui le attività di AWS DMS.

  3. Se necessario, imposta un'attività di rollback (CDC inverso da Aurora PostgreSQL compatibile con il database PostgreSQL locale).

  4. Convalida i dati.

  5. Avvia i servizi applicativi sulla nuova destinazione configurando Amazon Route 53 sulla nuova istanza DB Aurora compatibile con PostgreSQL.

  6. Aggiungi il monitoraggio di Amazon CloudWatch e Performance Insights sulla tua nuova istanza DB Aurora compatibile con PostgreSQL.

DBA, proprietario dell'app, amministratore di sistema

Se è necessario ripristinare la migrazione.

  1. Arresta tutti i servizi applicativi che puntano al database Aurora compatibile con PostgreSQL.

  2. Ripristina le modifiche al database PostgreSQL locale di origine utilizzando il task AWS DMS creato nella storia precedente.

  3. Interrompi l'esecuzione delle attività AWS DMS dal database PostgreSQL locale al database Aurora compatibile con PostgreSQL.

  4. Configura l'applicazione in modo che punti al database PostgreSQL locale di origine.

  5. Verifica che tutta la distribuzione del rollback sia completa.

DBA, proprietario dell'app
AttivitàDescrizioneCompetenze richieste

Chiudi le risorse.

Chiudi le risorse AWS temporanee.

DBA, amministratore di sistema

Convalida i documenti.

Rivedi e convalida i documenti del progetto.

DBA, proprietario dell'app, amministratore di sistema

Raccogli le metriche.

Raccogli le metriche in tempo utile per la migrazione, la percentuale di risparmio sui costi manuali rispetto a quelli relativi agli strumenti e così via.

DBA, proprietario dell'app, amministratore di sistema

Chiudi il progetto.

Chiudi il progetto e fornisci eventuali feedback.

DBA, proprietario dell'app, amministratore di sistema

Risorse correlate

Riferimenti

Altre risorse