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.
Minimiser les temps d'arrêt dans MemoryDB avec Multi-AZ
Dans un certain nombre de cas, MemoryDB peut avoir besoin de remplacer un nœud principal ; il s'agit notamment de certains types de maintenance planifiée et de l'éventualité peu probable d'une défaillance d'un nœud principal ou d'une zone de disponibilité.
La réponse à une défaillance d'un nœud dépend du nœud défaillant. Cependant, dans tous les cas, MemoryDB garantit qu'aucune donnée n'est perdue lors du remplacement ou du basculement des nœuds. Par exemple, si une réplique échoue, le nœud défaillant est remplacé et les données sont synchronisées à partir du journal des transactions. En cas de défaillance du nœud principal, un basculement est déclenché vers une réplique cohérente, ce qui garantit qu'aucune donnée n'est perdue pendant le basculement. Les écritures sont désormais effectuées depuis le nouveau nœud principal. L'ancien nœud principal est ensuite remplacé et synchronisé à partir du journal des transactions.
Si un nœud principal tombe en panne sur une partition à nœud unique (pas de répliques), MemoryDB cesse d'accepter les écritures jusqu'à ce que le nœud principal soit remplacé et synchronisé à partir du journal des transactions.
Le remplacement du nœud peut entraîner un certain temps d'arrêt pour le cluster, mais si Multi-AZ est actif, le temps d'arrêt est minimisé. Le rôle du nœud principal basculera automatiquement vers l'une des répliques. Il n'est pas nécessaire de créer et de provisionner un nouveau nœud principal, car MemoryDB gérera cela de manière transparente. Ce basculement et la promotion d'un réplica vous permettent de recommencer à écrire dans le nouveau nœud principal dès que la promotion est terminée.
Dans le cas de remplacements de nœuds planifiés initiés en raison de mises à jour de maintenance ou de mises à jour de service, sachez que les remplacements de nœuds prévus sont terminés pendant que le cluster traite les demandes d'écriture entrantes.
Le multi-AZ sur vos clusters MemoryDB améliore votre tolérance aux pannes. Cela est particulièrement vrai dans les cas où les nœuds principaux de votre cluster deviennent inaccessibles ou tombent en panne pour une raison quelconque. Le mode multi-AZ sur les clusters MemoryDB nécessite que chaque partition possède plusieurs nœuds et est automatiquement activé.
Scénarios de défaillance avec réponses multi-AZ
Si Multi-AZ est actif, un nœud principal défaillant bascule vers une réplique disponible. La réplique est automatiquement synchronisée avec le journal des transactions et devient principale, ce qui est beaucoup plus rapide que la création et le reprovisionnement d'un nouveau nœud principal. Ce processus dure généralement quelques secondes pendant lesquelles vous ne pouvez pas écrire sur le cluster.
Lorsque Multi-AZ est actif, MemoryDB surveille en permanence l'état du nœud principal. En cas de défaillance du nœud principal, l'une des actions suivantes est effectuée selon le type de la défaillance.
Rubriques
Scénarios d'échec lorsque seul le nœud primaire échoue
Si seul le nœud principal tombe en panne, une réplique deviendra automatiquement le nœud principal. Une réplique de remplacement est ensuite créée et mise en service dans la même zone de disponibilité que la réplique principale défaillante.
Lorsque seul le nœud principal tombe en panne, MemoryDB Multi-AZ effectue les opérations suivantes :
Le nœud principal défaillant est mis hors ligne.
Une up-to-date réplique devient automatiquement principale.
Les écritures peuvent reprendre dès que le processus de basculement est terminé, généralement quelques secondes seulement.
Une réplique de remplacement est lancée et provisionnée.
La réplique de remplacement est lancée dans la zone de disponibilité dans laquelle se trouvait le nœud principal défaillant afin que la distribution des nœuds soit maintenue.
La réplique est synchronisée avec le journal des transactions.
Pour plus d'informations sur la recherche des points de terminaison d'un cluster, consultez les rubriques suivantes :
Scénarios de défaillance en cas de défaillance du nœud principal et de certaines répliques
Si le principal et au moins un réplica échouent, un up-to-date réplica est promu en cluster principal. De nouvelles répliques sont également créées et approvisionnées dans les mêmes zones de disponibilité que les nœuds défaillants.
Lorsque le nœud principal et certaines répliques échouent, MemoryDB Multi-AZ effectue les opérations suivantes :
Le nœud principal défaillant et les répliques défaillantes sont mis hors ligne.
Une réplique disponible deviendra le nœud principal.
Les écritures peuvent reprendre dès que le basculement est terminé, généralement quelques secondes seulement.
Des réplicas de remplacement sont créés et provisionnés.
Les réplicas de remplacement sont créés dans les zones de disponibilité des nœuds ayant échoué afin que la distribution des nœuds soit maintenue.
Tous les nœuds sont synchronisés avec le journal des transactions.
Pour plus d'informations sur la recherche des points de terminaison d'un cluster, consultez les rubriques suivantes :
Scénarios d'échec lorsque l'ensemble du cluster tombe en panne
En cas de défaillance générale, tous les nœuds sont recréés et mis en service dans les mêmes zones de disponibilité que les nœuds initiaux.
Il n'y a aucune perte de données dans ce scénario car les données étaient conservées dans le journal des transactions.
Lorsque l'ensemble du cluster échoue, MemoryDB Multi-AZ effectue les opérations suivantes :
Le nœud principal défaillant et les répliques sont mis hors ligne.
Un nœud principal de remplacement est créé et provisionné, synchronisé avec le journal des transactions.
Des répliques de remplacement sont créées et approvisionnées, synchronisées avec le journal des transactions.
Les remplacements sont créés dans les zones de disponibilité des nœuds ayant échoué afin que la distribution des nœuds soit maintenue.
Pour plus d'informations sur la recherche des points de terminaison d'un cluster, consultez les rubriques suivantes :
Test du basculement automatique
Vous pouvez tester le basculement automatique à l'aide de la console MemoryDB, du AWS CLI, et du MemoryDB. API
Lors du test, tenez compte des points suivants :
-
Vous pouvez utiliser cette opération jusqu'à cinq fois par période de 24 heures.
-
Si vous appelez cette opération sur des partitions de différents clusters, vous pouvez effectuer les appels simultanément.
-
Dans certains cas, vous pouvez appeler cette opération plusieurs fois sur différentes partitions du même cluster MemoryDB. Dans de tels cas, le premier remplacement de nœud doit se terminer avant qu'un appel ultérieur puisse être effectué.
-
Pour déterminer si le remplacement du nœud est terminé, vérifiez les événements à l'aide de la console MemoryDB AWS CLI, du ou de MemoryDB. API Recherchez les événements suivants liés à
FailoverShard
, listés ici par ordre d'occurrence probable :-
message du cluster :
FailoverShard API called for shard <shard-id>
-
message du cluster :
Failover from primary node <primary-node-id> to replica node <node-id> completed
-
message du cluster :
Recovering nodes <node-id>
-
message du cluster :
Finished recovery for nodes <node-id>
Pour plus d’informations, consultez les ressources suivantes :
-
DescribeEventsdans le MemoryDB Reference API
-
Ceci API est conçu pour tester le comportement de votre application en cas de basculement de MemoryDB. Elle n’a pas été conçue pour être un outil opérationnel permettant de lancer un basculement pour résoudre un problème avec le cluster. De plus, dans certaines conditions, telles que des événements opérationnels de grande envergure, cela AWS peut être bloquéAPI.
Rubriques
Test du basculement automatique à l'aide du AWS Management Console
Utilisez la procédure suivante pour tester le basculement automatique avec la console.
-
Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/memorydb/
-
Cliquez sur le bouton radio situé à gauche du cluster que vous souhaitez tester. Ce cluster doit comporter au moins un nœud de réplication.
-
Dans la zone Détails vérifiez que la fonctionnalité Multi-AZ est activée pour ce cluster. Si tel n'est pas le cas, choisissez un autre cluster ou modifiez-le afin d'activer Multi-AZ. Pour de plus amples informations, veuillez consulter Modification d'un cluster MemoryDB.
Choisissez le nom du cluster.
-
Sur la page Partitions et nœuds, choisissez le nom de la partition sur laquelle vous souhaitez tester le basculement.
-
Pour le nœud, choisissez Failover Primary.
-
Choisissez Continuer pour basculer le nœud principal, ou sur Annuler pour annuler l'opération et ne pas basculer le nœud principal.
Au cours du processus de basculement, la console continue à afficher le statut available du nœud. Pour suivre l'avancement du test de basculement, choisissezÉvénements dans le volet de navigation de la console. Sous l'onglet Événements, recherchez les événements indiquant que le basculement a commencé (
FailoverShard API called
) et est terminé (Recovery completed
).
Test du basculement automatique à l'aide du AWS CLI
Paramètres
-
--cluster-name
: obligatoire. Le cluster qui doit être testé. -
--shard-name
: obligatoire. Nom de la partition sur laquelle vous souhaitez tester le basculement automatique. Vous pouvez tester un maximum de cinq partitions sur une période continue de 24 heures.
L'exemple suivant utilise l'appel AWS CLI to failover-shard
sur le shard 0001
du cluster MemoryDB. my-cluster
Pour Linux, macOS ou Unix :
aws memorydb failover-shard \ --cluster-name
my-cluster
\ --shard-name0001
Pour Windows :
aws memorydb failover-shard ^ --cluster-name
my-cluster
^ --shard-name0001
Pour suivre la progression de votre basculement, utilisez l' AWS CLI describe-events
opération.
Il renverra la JSON réponse suivante :
{ "Events": [ { "SourceName": "my-cluster", "SourceType": "cluster", "Message": "Failover to replica node my-cluster-0001-002 completed", "Date": "2021-08-22T12:39:37.568000-07:00" }, { "SourceName": "my-cluster", "SourceType": "cluster", "Message": "Starting failover for shard 0001", "Date": "2021-08-22T12:39:10.173000-07:00" } ] }
Pour plus d’informations, consultez les ressources suivantes :
Test du basculement automatique à l'aide de MemoryDB API
L'exemple suivant fait FailoverShard
appel à la partition 0003
du clustermemorydb00
.
Exemple Test du basculement automatique
https://memory-db.us-east-1.amazonaws.com/ ?Action=FailoverShard &ShardName=0003 &ClusterName=memorydb00 &Version=2021-01-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210801T192317Z &X-Amz-Credential=<credential>
Pour suivre la progression de votre basculement, utilisez l'opération MemoryDB DescribeEvents
API.
Pour plus d’informations, consultez les ressources suivantes :