Crittografa un'istanza database Amazon RDS for PostgreSQL esistente - 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à.

Crittografa un'istanza database Amazon RDS for PostgreSQL esistente

Creato da Piyush Goyal (AWS), Shobana Raghu (AWS) e Yaser Raja (AWS)

Ambiente: produzione

Tecnologie: database; sicurezza, identità, conformità

Servizi AWS: Amazon RDS; AWS KMS; AWS DMS

Riepilogo

Questo modello spiega come crittografare un'istanza database Amazon Relational Database Service (Amazon RDS) per PostgreSQL esistente nel cloud Amazon Web Services (AWS) con tempi di inattività minimi. Questo processo funziona anche per le istanze DB di Amazon RDS for MySQL.

Puoi abilitare la crittografia per un'istanza DB Amazon RDS al momento della creazione, ma non dopo la creazione. Tuttavia, puoi aggiungere la crittografia a un'istanza DB non crittografata creando uno snapshot dell'istanza DB e quindi creando una copia crittografata di tale istantanea. È quindi possibile ripristinare un'istanza DB dallo snapshot crittografato per ottenere una copia crittografata dell'istanza DB originale. Se il progetto prevede tempi di inattività (almeno per le transazioni di scrittura) durante questa attività, questo è tutto ciò che devi fare. Quando la nuova copia crittografata dell'istanza DB diventa disponibile, puoi indirizzare le applicazioni verso il nuovo database. Tuttavia, se il progetto non prevede tempi di inattività significativi per questa attività, è necessario un approccio alternativo che consenta di ridurre al minimo i tempi di inattività. Questo modello utilizza AWS Database Migration Service (AWS DMS) per migrare e replicare continuamente i dati in modo che il passaggio al nuovo database crittografato possa essere eseguito con tempi di inattività minimi. 

Le istanze DB crittografate di Amazon RDS utilizzano l'algoritmo di crittografia AES-256 standard del settore per crittografare i dati sul server che ospita le istanze database di Amazon RDS. Dopo la crittografia dei dati, Amazon RDS gestisce l'autenticazione dell'accesso e la decrittografia dei dati in modo trasparente, con un impatto minimo sulle prestazioni. Non è quindi necessario modificare le applicazioni client di database per utilizzare la crittografia.

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo

  • Un'istanza database Amazon RDS for PostgreSQL non crittografata

  • Esperienza nell'utilizzo (creazione, modifica o interruzione) di attività AWS DMS (consulta Lavorare con le attività di AWS DMS nella documentazione di AWS DMS)

  • Familiarità con AWS Key Management Service (AWS KMS) per la crittografia dei database (consulta la documentazione di AWS KMS)

Limitazioni

  • Puoi abilitare la crittografia per un'istanza DB Amazon RDS solo al momento della creazione, non dopo la creazione dell'istanza DB.

  • I dati nelle tabelle non registrate non verranno ripristinati utilizzando istantanee. Per ulteriori informazioni, consulta Best practice for working with PostgreSQL.

  • Non è possibile creare una replica di lettura crittografata di un'istanza database non crittografata o una replica di lettura non crittografata di un'istanza database crittografata.

  • Non puoi ripristinare un backup o uno snapshot non crittografato in un'istanza database crittografata.

  • AWS DMS non trasferisce automaticamente le sequenze, pertanto sono necessari passaggi aggiuntivi per gestirlo.

Per ulteriori informazioni, consulta Limitazioni delle istanze DB crittografate di Amazon RDS nella documentazione di Amazon RDS.

Architettura

Architettura di origine

  • Istanza DB RDS non crittografata

Architettura Target

  • Istanza DB RDS crittografata

    • L'istanza DB RDS di destinazione viene creata ripristinando la copia istantanea DB dell'istanza DB RDS di origine.

    • Una chiave AWS KMS viene utilizzata per la crittografia durante il ripristino dello snapshot.

    • Un'attività di replica AWS DMS viene utilizzata per migrare i dati.

Strumenti

Strumenti utilizzati per abilitare la crittografia:

  • Chiave AWS KMS per la crittografia: quando crei un'istanza DB crittografata, puoi scegliere una chiave gestita dal cliente o la chiave gestita AWS per Amazon RDS per crittografare la tua istanza DB. Se non specifichi l'identificatore di chiave per una chiave gestita dal cliente, Amazon RDS utilizza la chiave gestita AWS per la tua nuova istanza DB. Amazon RDS crea una chiave gestita AWS per Amazon RDS per il tuo account AWS. Il tuo account AWS ha una chiave gestita AWS diversa per Amazon RDS per ogni regione AWS. Per ulteriori informazioni sull'uso delle chiavi KMS per la crittografia Amazon RDS, consulta Encrypting Amazon RDS Resources.

Strumenti utilizzati per la replica continua:

  • AWS DMS: puoi utilizzare AWS Database Migration Service (AWS DMS) per replicare le modifiche dal DB di origine al DB di destinazione. È importante mantenere sincronizzati il DB di origine e quello di destinazione per ridurre al minimo i tempi di inattività. Per informazioni sulla configurazione di AWS DMS e sulla creazione di attività, consulta la documentazione di AWS DMS.

Epiche

AttivitàDescrizioneCompetenze richieste
Controlla i dettagli dell'istanza database PostgreSQL di origine.

Sulla console Amazon RDS, scegli l'istanza database PostgreSQL di origine. Nella scheda Configurazione, assicurati che la crittografia non sia abilitata per l'istanza. Per un'illustrazione dello schermo, consulta la sezione Informazioni aggiuntive.

DBA
Crea l'istantanea del DB.

Crea uno snapshot DB dell'istanza che desideri crittografare. Il tempo necessario per creare uno snapshot dipende dalla dimensione del database. Per istruzioni, consulta Creazione di uno snapshot DB nella documentazione di Amazon RDS.

DBA
Crittografa l'istantanea.

Nel pannello di navigazione della console Amazon RDS, scegli Snapshot e seleziona lo snapshot DB che hai creato. In Actions (Operazioni), selezionare Copy Snapshot (Copia snapshot). Fornisci la regione AWS di destinazione e il nome della copia dello snapshot del DB nei campi corrispondenti. Seleziona la casella di controllo Abilita crittografia. Per Master Key (Chiave master), specifica l'identificatore di chiave KMS da utilizzare per crittografare la copia di snapshot DB. Seleziona Copy Snapshot (Copia snapshot). Per ulteriori informazioni, consulta Copiare uno snapshot nella documentazione di Amazon RDS.

DBA
AttivitàDescrizioneCompetenze richieste
Ripristina l'istantanea del DB.

Sulla console Amazon RDS, scegli Snapshots. Scegli lo snapshot crittografato che hai creato. Per Actions (Operazioni), selezionare Restore Snapshot (Ripristina snapshot). Per DB Instance Identifier, fornisci un nome univoco per la nuova istanza DB. Esamina i dettagli dell'istanza, quindi scegli Ripristina istanza DB. Una nuova istanza DB crittografata verrà creata dalla tua istantanea. Per ulteriori informazioni, consulta Ripristino da uno snapshot DB nella documentazione di Amazon RDS.

DBA
Migra i dati utilizzando AWS DMS.

Sulla console AWS DMS, crea un'attività AWS DMS. Per il tipo di migrazione, scegli Migra i dati esistenti e replica le modifiche in corso. In Impostazioni attività, per la modalità di preparazione della tabella di Target, scegli Tronca. Per ulteriori informazioni, consulta Creazione di un'attività nella documentazione di AWS DMS.

DBA
Abilita la convalida dei dati.

In Impostazioni attività, scegli Abilita convalida. Ciò consente di confrontare i dati di origine con i dati di destinazione per verificare che i dati siano stati migrati correttamente. 

DBA
Disabilita i vincoli sull'istanza DB di destinazione.

Disabilita eventuali trigger e vincoli di chiave esterna sull'istanza DB di destinazione, quindi avvia l'attività AWS DMS. Per ulteriori informazioni sulla disabilitazione dei trigger e dei vincoli di chiave esterna, consulta la documentazione di AWS DMS.

DBA
Verifica i dati.

Al termine del caricamento completo, verifica i dati sull'istanza DB di destinazione per vedere se corrispondono ai dati di origine. Per ulteriori informazioni, consulta la convalida dei dati di AWS DMS nella documentazione di AWS DMS.

DBA
AttivitàDescrizioneCompetenze richieste
Interrompi le operazioni di scrittura sull'istanza DB di origine.

Interrompi le operazioni di scrittura sull'istanza DB di origine in modo che possa iniziare il downtime dell'applicazione. Verifica che AWS DMS abbia completato la replica dei dati nella pipeline. Abilita i trigger e le chiavi esterne sull'istanza DB di destinazione.

DBA
Aggiorna le sequenze del database

Se il database di origine contiene numeri di sequenza, verificate e aggiornate le sequenze nel database di destinazione.

DBA
Configura l'endpoint dell'applicazione.

Configura le connessioni delle applicazioni per utilizzare i nuovi endpoint di istanze database Amazon RDS. L'istanza DB è ora crittografata.

DBA, proprietario dell'applicazione

Risorse correlate

Informazioni aggiuntive

Verifica della crittografia per l'istanza database PostgreSQL di origine:

Note aggiuntive per questo modello:

  • Abilita la replica su PostgreSQL impostando il parametro su 1. rds.logical_replication

Nota importante: gli slot di replica conservano i file WAL (Write Ahead Log) fino a quando i file non vengono consumati esternamente, ad esempio da pg_recvlogical processi di estrazione, trasformazione e caricamento (ETL) o da AWS DMS. Quando imposti il valore del rds.logical_replication parametro su 1, AWS DMS imposta i max_connections parametri wal_levelmax_wal_senders,max_replication_slots, e. Se sono presenti slot di replica logici ma non esiste alcun utente per i file WAL conservati dallo slot di replica, è possibile che si verifichi un aumento dell'utilizzo del disco del registro delle transazioni e una diminuzione costante dello spazio di archiviazione libero. Per ulteriori informazioni e passaggi per risolvere questo problema, consulta l'articolo Come posso identificare la causa dell'errore «Nessuno spazio rimasto sul dispositivo» o "DiskFull" su Amazon RDS for PostgreSQL? nel Knowledge Center di AWS Support.

  • Qualsiasi modifica allo schema apportata all'istanza DB di origine dopo aver creato lo snapshot DB non sarà presente nell'istanza DB di destinazione.

  • Dopo aver creato un'istanza DB crittografata, non è possibile modificare la chiave KMS utilizzata da quell'istanza DB. Assicurati di determinare i requisiti della chiave KMS prima di creare l'istanza DB crittografata.

  • È necessario disabilitare i trigger e le chiavi esterne sull'istanza DB di destinazione prima di eseguire l'attività AWS DMS. Puoi riattivarli quando l'attività è completa.