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 régions AWS dans lesquelles vous souhaitez que les tables soient disponibles et dans lesquelles DynamoDB propagera les modifications continues de données.

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

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

  • É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 assurent une réplication multiactive automatique dans diverses régions AWS à travers le monde. 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 de gestion AWS ou AWS CLI. Les tables globales utilisent les API DynamoDB existantes. Aucune modification de l'application n'est donc 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 régions AWS devenait temporairement indisponible, vos clients pourraient toujours accéder aux mêmes données CustomerProfiles 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 offrent des garanties ACID (atomicité, cohérence, isolation et durabilité) uniquement dans la région de l'écriture originale. 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 région AWS, DynamoDB supprime ce réplica du groupe de réplication 20 heures après la détection de l'inaccessibilité de la région AWS. 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 la tarification d'une région AWS, consultez Tarification Amazon DynamoDB.

Assurer la sécurité et l'accès à vos tables mondiales avec AWS KMS

  • Vous pouvez effectuer des opérations AWS KMS sur vos tables globales à l'aide du rôle lié à un service AWSServiceRoleForDynamoDBReplication par rapport à la clé gérée par le client ou la Clé gérée par AWS utilisées pour chiffrer le réplica.

  • 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. Le réplica n'est pas supprimé et la réplication depuis et vers cette région s'arrête 20 heures après la détection de l'inaccessibilité de la clé KMS.

  • 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 rôle IAM pour la table de réplique, vous devez le faire lorsque celle-ci est à l'état Active. 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.