Tables globales : réplication multirégion avec DynamoDB - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tables globales : réplication multirégion avec DynamoDB

Les tables globales d'Amazon DynamoDB sont une option de base de données entièrement gérée, à plusieurs régions et à multiples activités qui fournit des applications dimensionnées massivement et internationales.

Les tables globales fournissent une solution entièrement gérée pour déployer une base de données multiactive et multirégion sans devoir créer et gérer votre propre solution de réplication. Vous pouvez spécifier les AWS régions dans lesquelles vous souhaitez que les tables soient disponibles et DynamoDB transmettra les modifications de données en cours à toutes ces régions. Les tableaux globaux sont disponibles dans toutes les régions.

Les avantages spécifiques liés à l'utilisation de tables globales incluent :

  • Réplication automatique de vos tables DynamoDB dans les régions de votre choix AWS

  • Éliminez la difficile tâche de réplication des données entre les régions et résolvez les conflits de mise à jour, afin de pouvoir vous concentrer sur la logique métier de votre application.

  • Cela permet à vos applications de rester hautement disponibles, même dans le cas peu probable d'isolement ou de dégradation de l'ensemble d'une région.

Les tables globales DynamoDB sont idéales pour les applications mises à l'échelle massivement, avec des utilisateurs éparpillés dans le monde entier. Dans un environnement de ce type, les utilisateurs s'attendent à des performances d'application très rapides. Les tables globales fournissent une réplication multiactive automatique vers AWS les régions du monde entier. Elles vous permettent d'offrir à vos utilisateurs un accès aux données à faible latence, quel que soit leur emplacement.

La vidéo suivante vous donnera un aperçu des tables globales.

Vous pouvez configurer des tables globales dans la console AWS de gestion ou AWS CLI. Les tables globales utilisent DynamoDB existant, de sorte qu'aucune APIs modification d'application n'est requise. Vous payez uniquement les ressources provisionnées sans frais à l'avance ni engagement.

Répliquer les données de manière transparente entre les régions avec des tables globales

Supposons que vous ayez une clientèle conséquente répartie dans trois zones géographiques telles que la côte Est des Etats-Unis, la côte Ouest des Etats-Unis et l'Europe occidentale. Ces clients peuvent mettre à jour les informations de leur profil lors de l'utilisation de l'application. Dans ce cas d'utilisation, vous devez créer trois tables DynamoDB identiques nommées CustomerProfiles, dans trois régions  AWS distinctes où les clients se trouvent. Ces trois tables seraient entièrement séparées les unes des autres : les modifications apportées aux données d'une table ne sont pas répercutées dans les autres tables. Sans solution de réplication gérée, vous devriez écrire du code pour répliquer les modifications de données. Toutefois, cette opération nécessiterait du temps et un travail important.

Au lieu d'écrire votre propre code, vous pouvez créer une table globale composée de vos trois tables CustomerProfiles spécifiques des régions. DynamoDB réplique alors automatiquement les modifications de données répliquées entre ces tables afin que les modifications apportées aux données CustomerProfiles dans une région se propagent de façon transparente aux autres régions. En outre, si l'une des AWS régions devenait temporairement indisponible, vos clients pourraient toujours accéder aux mêmes CustomerProfiles données dans les autres régions.

Note
  • La prise en charge des régions pour les tables globales Tableaux globaux version 2017.11.29 (ancienne version) est limitée aux régions suivantes : USA Est (Virginie du Nord), USA Est (Ohio), USA Ouest (Californie du Nord), USA Ouest (Oregon), UE (Irlande), UE (Londres), UE (Francfort), Asie-Pacifique (Singapour), Asie-Pacifique (Sydney), Asie-Pacifique (Tokyo) et Asie-Pacifique (Séoul).

  • Les opérations transactionnelles fournissent des garanties d'atomicité, de cohérence, d'isolation et de durabilité (ACID) uniquement dans la région où l'écriture a été effectuée à l'origine. Les transactions ne sont pas prises en charge entre les régions dans les tables globales. Par exemple, si vous disposez d'une table globale contenant des répliques dans les régions USA Est (Ohio) et USA Ouest (Oregon) et que vous effectuez une TransactWriteItems opération dans la région USA Est (Virginie du Nord), vous pouvez observer des transactions partiellement achevées dans la région USA Ouest (Oregon) à mesure que les modifications sont répliquées. Les changements seront uniquement répliqués aux autres régions une fois validés dans la région source.

  • Si vous désactivez une AWS région, DynamoDB supprimera cette réplique du groupe de réplication 20 heures après avoir détecté que AWS la région était inaccessible. Le réplica n'est pas supprimé et la réplication depuis et vers cette région s'arrête.

  • Vous devez attendre 24 heures à compter de l'ajout d'un réplica en lecture pour supprimer correctement une table source. Si vous tentez de supprimer une table pendant les 24 premières heures suivant l'ajout d'un réplica en lecture, vous recevrez un message d'erreur indiquant : « Le réplica ne peut pas être supprimé car il a agi comme zone source pour les nouveaux réplicas ajoutés à la table au cours des dernières 24 heures ».

  • L'ajout de nouveaux réplicas n'a aucun impact sur les performances des régions sources.

  • Lorsque vous modifiez la capacité de lecture et d'écriture d'un réplica, la nouvelle capacité d'écriture est répercutée sur les autres réplicas synchronisés, mais pas la nouvelle capacité de lecture.

Pour plus d'informations sur la disponibilité et les tarifs par AWS région, consultez la section Tarification d'Amazon DynamoDB.

Assurez la sécurité et l'accès à vos tables globales avec AWS KMS

  • Vous pouvez effectuer AWS KMS des opérations sur vos tables globales en utilisant le rôle AWSServiceRoleForDynamoDBReplication lié au service par rapport à la clé gérée par le client ou en utilisant le rôle Clé gérée par AWSutilisé pour chiffrer la réplique.

  • Si la clé gérée par le client utilisée pour chiffrer un réplica est inaccessible, DynamoDB supprime ce réplica du groupe de réplication. La réplique ne sera pas supprimée et la réplication s'arrêtera depuis et vers cette région, 20 heures après avoir détecté que la KMS clé était inaccessible.

  • Si vous souhaitez désactiver votre clé gérée par le client utilisée pour chiffrer une table de réplique, vous ne devez le faire que si la clé n'est plus utilisée pour chiffrer une table de réplique. Après avoir émis une commande pour supprimer une table de réplique, vous devez attendre que l'opération de suppression se termine et que la table globale revienne à l'état Active avant de désactiver la clé. A défaut de procéder de la sorte, la réplication des données depuis et vers la table de réplique risque de n'être que partielle.

  • Si vous souhaitez modifier ou supprimer votre politique de IAM rôle pour la table de réplication, vous devez le faire lorsque la table de réplication est dans son Active état. A défaut de procéder de la sorte, la création, la mise à jour ou la suppression de la table de réplique risquent d'échouer.

  • Les tables globales sont créées avec la protection contre la suppression désactivée par défaut. Même lorsque la protection contre la suppression est activée pour une table globale, la protection contre la suppression est désactivée par défaut pour toutes les réplicas de cette table.

  • Lorsque la protection contre la suppression est désactivée pour une table, celle-ci peut être supprimée accidentellement. Lorsque la protection contre la suppression est activée pour une table, personne ne peut la supprimer.

  • La modification du paramètre de protection contre la suppression pour une table de réplicas n'entraîne pas la mise à jour des autres réplicas du groupe.

Note

Les clés gérées par le client ne sont pas prises en charge dans Tableaux globaux version 2017.11.29 (ancienne version). Si vous souhaitez utiliser une clé gérée par le client dans une table globale DynamoDB, vous devez mettre à niveau la table vers la version 2019.11.21 (actuelle) des tables globales, puis l'activer.