Best practice per le tabelle globali - Amazon DynamoDB

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

Best practice per le tabelle globali

Le sezioni seguenti descrivono le best practice per l’implementazione e l’utilizzo di tabelle globali.

Versione

Sono disponibili due versioni delle tabelle globali DynamoDB: versione 2019.11.21 (Corrente) e versione 2017.11.29 (Legacy). Sarebbe opportuno utilizzare la versione 2019.11.21 (Corrente) ogni volta che è possibile.

Deletion protection (Protezione da eliminazione)

È necessario abilitare la protezione dall’eliminazione sulle repliche globali di tabelle che si desidera proteggere dall’eliminazione accidentale. È necessario abilitare la protezione dall’eliminazione su ogni replica.

Uso di AWS CloudFormation

CloudFormation attualmente non supporta il coordinamento di risorse multi-Regione come le tabelle globali tra gli stack. Se si definisce ogni replica di una tabella globale in uno stack Regionale separato, si verificheranno errori dovuti alla deviazione rilevata tra gli stack durante l’esecuzione degli aggiornamenti delle repliche. Per evitare questo problema, è necessario scegliere una Regione come Regione di riferimento per l’implementazione delle tabelle globali e definire tutte le repliche della tabella globale nello stack di quella Regione.

Importante

Non è possibile convertire una risorsa di tipo AWS::DynamoDB::Table in una risorsa di tipo AWS::DynamoDB::GlobalTable modificandone il tipo nel modello. Il tentativo di convertire una tabella a Regione singola in una tabella globale modificandone il tipo di risorsa CloudFormation può comportare l’eliminazione della tabella DynamoDB.

È possibile utilizzare la risorsa AWS::DynamoDB::GlobalTable per creare una tabella in una singola Regione. Questa tabella verrà implementata come qualsiasi altra tabella a Regione singola. Se successivamente si aggiorna lo stack per aggiungere altre Regioni a una risorsa, le repliche verranno aggiunte alla tabella e questa verrà convertita in modo sicuro in una tabella globale.

Se si dispone di una risorsa AWS::DynamoDB::Table esistente che desideri convertire in risorsa AWS::DynamoDB::GlobalTable, le fasi consigliate per convertire il tipo di risorsa sono:

  1. Impostare la policy di eliminazione AWS::DynamoDB::Table da mantenere.

  2. Rimuovere la tabella dalla definizione degli stack.

  3. Aggiungere repliche alla tabella a Regione singola nella console AWS, convertendola in una tabella globale.

  4. Importare la nuova tabella globale come una nuova risorsa AWS::DynamoDB::GlobalTable nello stack.

Backup e Recupero point-in-time

L’abilitazione di backup automatici e recupero point-in-time (PITR) per una replica in una tabella globale può essere sufficiente per soddisfare gli obiettivi di disaster recovery. I backup di replica creati con AWS-Backup possono essere replicati automaticamente tra le Regioni per una maggiore resilienza. Per la scelta della strategia di backup e abilitazione del PITR, considera gli obiettivi del piano di disaster recovery nel contesto della disponibilità elevata in più Regioni.

Progettazione per un’elevata disponibilità multi-Regione

Per un prontuario sull’implementazione di tabelle globali, consulta Best practice per la progettazione di tabelle DynamoDB globali.