Utilizzo di un volume di log dedicato (DLV) - Amazon Relational Database Service

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à.

Utilizzo di un volume di log dedicato (DLV)

È possibile utilizzare un volume di log dedicato per un’istanza database che utilizza l’archiviazione con capacità di IOPS allocata. Un volume di log dedicato sposta i log delle transazioni del database PostgreSQL nonché i log di redo e i log binari MySQL/MariaDB in un volume di archiviazione separato da quello contenente le tabelle del database. Un DLV rende il log di scrittura delle transazioni più efficiente e coerente. I DLV sono ideali per database con archiviazione allocata di grandi dimensioni, requisiti di I/O al secondo (IOPS) elevati o carichi di lavoro sensibili alla latenza.

I DLV sono supportati per l’archiviazione con capacità di IOPS allocata (io1 e io2 Block Express) e vengono creati con una dimensione fissa di 1.024 GiB e una capacità di IOPS allocata di 3.000.

Amazon RDS supporta i DLV in tutte le Regioni AWS per le seguenti versioni:

  • MariaDB 10.6.7 e versioni successive alla 10

  • MySQL 8.0.28 e versioni successive alla 8.0, MySQL 8.4.3 e versioni successive alla 8.4

  • PostgreSQL 13.10 e versioni successive alla 13, 14.7 e versioni successive alla 14, 15.2 e versioni successive alla 15

RDS supporta i DLV con le implementazioni multi-AZ. Quando si modifica o si crea un’istanza Multi-AZ, viene creato un DLV sia per l’istanza primaria sia per quella secondaria.

RDS supporta i DLV con le repliche di lettura. Se l'istanza database primaria ha un DLV abilitato, anche tutte le repliche di lettura create dopo aver abilitato il DLV avranno un DLV. Tutte le repliche di lettura create prima del passaggio al DLV non saranno abilitate a meno che non vengano modificate esplicitamente in tal senso. Si consiglia inoltre di modificare manualmente tutte le repliche di lettura collegate a un'istanza primaria prima dell'abilitazione del DLV per includere un DLV.

Nota

I DLV sono consigliati per configurazioni di database di almeno 5 TiB.

Per ulteriori informazioni sui vantaggi dei DLV, consulta i seguenti post di blog:

Per informazioni sugli intervalli dello spazio di archiviazione allocato, della capacità di IOPS allocata e della velocità di trasmissione effettiva dell'archiviazione disponibili per ogni motore di database, consulta Storage SSD Provisioned IOPS.

Considerazioni sull’abilitazione e sulla disabilitazione dei DLV

L’abilitazione e la disabilitazione dei DLV possono essere lunghe e causare tempo di inattività. Il processo prevede la copia di tutti i log delle transazioni o i log di redo e binari (a seconda del motore di database) sul nuovo volume durante l’abilitazione o il ritorno nell’archiviazione originale per la disabilitazione. La durata di questa operazione è influenzata da diversi fattori:

  • Numero di log delle transazioni:

    • I database più grandi con più transazioni generano più log, aumentando il tempo necessario per la copia.

    • I log delle transazioni possono accumularsi sull’istanza database primaria se gli slot di replica sono inattivi o se la replica è in ritardo, aumentando il tempo necessario per la copia. È necessario assicurarsi che la replica sia aggiornata e rimuovere gli slot non necessari.

  • Configurazione dell’archiviazione:

    • Larghezza di banda EBS dell’istanza database: una larghezza di banda maggiore consente un trasferimento dei dati più rapido.

    • Capacità di IOPS allocata: un numero elevato di operazioni di input/output al secondo (IOPS) può accelerare il processo di copia.

  • Attività del database: livelli elevati di attività del database durante la configurazione possono rallentare il processo.

Per ridurre al minimo il tempo di inattività, è consigliabile pianificare e programmare il processo durante i periodi di scarsa attività o le finestre di manutenzione.

Abilitazione del DLV durante la creazione di un’istanza database

È possibile utilizzare la AWS Management Console, AWS CLI o l’API RDS per creare un’istanza database con DLV abilitato.

Per abilitare il DLV su una nuova istanza database
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Scegliere Create database (Crea database).

  3. Nella pagina Crea istanza database, scegliere un motore di database che supporti il DLV.

  4. Per Archiviazione:

    1. Scegliere SSD con capacità di IOPS allocata (io1) o SSD con capacità di IOPS allocata (io2).

    2. Inserire i valori desiderati per Archiviazione assegnata e Capacità di IOPS allocata.

    3. Espandere Volume di log dedicato e selezionare Attiva il volume di log dedicato.

    Abilitazione del DLV su una nuova istanza database.
  5. Scegliere altre impostazioni in base alle esigenze.

  6. Scegliere Crea database.

Dopo la creazione del database, il valore per Volume di log dedicato viene visualizzato nella scheda Configurazione della pagina dei dettagli del database.

Per abilitare il DLV durante la creazione di un’istanza database utilizzando l’archiviazione con capacità di IOPS allocata, si utilizza il comando AWS CLI create-db-instance. Imposta i seguenti parametri:

  • --dedicated-log-volume: abilita un volume di log dedicato.

  • --storage-type: impostato su io1 o io2 per la capacità di IOPS allocata.

  • --allocated-storage: la quantità di spazio di archiviazione, in gibibyte, da allocare per l'istanza database.

  • --iops: la quantità di capacità di IOPS allocata per l’istanza database, espressa in operazioni di I/O al secondo.

Per abilitare il DLV durante la creazione di un’istanza database utilizzando l’archiviazione con capacità di IOPS allocata, si utilizza l’operazione API Amazon RDS CreateDBInstance. Imposta i seguenti parametri:

  • DedicatedLogVolume: impostato su true per abilitare un volume di log dedicato.

  • StorageType: impostato su io1 o io2 per la capacità di IOPS allocata.

  • AllocatedStorage: la quantità di spazio di archiviazione, in gibibyte, da allocare per l'istanza database.

  • Iops: la frequenza di IOPS per l’istanza database, espressa in operazioni di I/O al secondo.

Abilitazione del DLV su un’istanza database esistente

È possibile utilizzare la AWS Management Console, AWS CLI o l’API RDS per modificare un’istanza database per abilitare il DLV.

Dopo aver modificato l’impostazione del DLV per un’istanza database, è necessario riavviare l’istanza database.

Per abilitare il DLV su un’istanza database esistente
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegliere Databases (Database).

    Per filtrare l'elenco di istanze database, in Filter databases (Filtra database) inserire una stringa di testo che verrà usata da Amazon RDS per filtrare i risultati. Verranno visualizzate solo le istanze database i cui nomi contengono la stringa.

  3. Scegliere l’istanza database con l’archiviazione con capacità di IOPS allocata da modificare.

  4. Scegli Modifica.

  5. Nella pagina Modifica istanza DB.

    1. Per Archiviazione, espandere Volume di log dedicato e selezionare Attiva il volume di log dedicato.

  6. Scegli Continua.

  7. Per applicare immediatamente le modifiche all’istanza database, scegliere l’opzione Applica immediatamente. In alternativa, scegliere Apply during the next scheduled maintenance window (Applica durante la prossima finestra di manutenzione pianificata): per applicare le modifiche durante la prossima finestra di manutenzione.

  8. Esaminare i parametri da modificare e scegliere Modify DB instance (Modifica istanza database) per completare la modifica.

Il nuovo valore per Volume di log dedicato viene visualizzato nella scheda Configurazione della pagina dei dettagli del database.

Per abilitare o disabilitare il DLV su un'istanza database esistente utilizzando l'archiviazione con capacità di IOPS allocata, usa il comando AWS CLI modify-db-instance. Imposta i seguenti parametri:

  • --dedicated-log-volume: abilita un volume di log dedicato.

    Utilizza --no-dedicated-log-volume (impostazione predefinita) per disabilitare un volume di log dedicato.

  • --apply-immediately: utilizza --apply-immediately per applicare immediatamente le modifiche.

    Utilizza --no-apply-immediately (impostazione predefinita) per applicare le modifiche durante la finestra di manutenzione successiva.

Per abilitare o disabilitare il DLV su un'istanza database esistente utilizzando l'archiviazione con capacità di IOPS allocata, usa l'operazione ModifyDBInstance dell'API Amazon RDS. Imposta i seguenti parametri:

  • DedicatedLogVolume: imposta questa opzione su true per abilitare un volume di log dedicato.

    Imposta questa opzione su false disabilitare un volume di log dedicato. Si tratta del valore di default.

  • ApplyImmediately: imposta questa opzione su True per applicare immediatamente le modifiche.

    Imposta questa opzione su False (impostazione predefinita) per applicare le modifiche durante la finestra di manutenzione successiva.

Monitoraggio dell’archiviazione DLV

È possibile monitorare l’utilizzo dell’archiviazione DLV utilizzando la metrica FreeStorageSpaceLogVolume in CloudWatch.

Per trovare la dimensione occupata dai log delle transazioni è possibile utilizzare la seguente query per RDS per PostgreSQL:

SELECT pg_size_pretty(COALESCE(sum(size), 0)) AS total_wal_generated_size FROM pg_catalog.pg_ls_waldir();

Se lo spazio dell’archiviazione DLV esaurisce, l’istanza database entra nello stato storage-full, causando tempo di inattività.