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 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.
Rubriques
- Répliquer les données de manière transparente entre les régions avec des tables globales
- Assurez la sécurité et l'accès à vos tables globales avec AWS KMS
- Fonctionnement des tables globales
- Bonnes pratiques et exigences pour la gestion des tables globales
- Didacticiel : création d'une table globale
- Surveillance des tables globales
- Utilisation d'IAM avec des tables globales
- Déterminer quelle version des tables globales vous utilisez
- Mise à niveau des tables globales de la version 2017.11.29 (ancienne) vers la version 2019.11.21 (actuelle)
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 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 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. 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.