Cette page explique comment Memorystore pour Valkey effectue la maintenance des instances. Il fournit également des informations et des recommandations de configuration dont vos applications clientes doivent tenir compte pour profiter de la conception de maintenance sans temps d'arrêt de Memorystore pour Valkey. Ces recommandations s'appliquent aux instances à haute disponibilité et aux instances sans répliques. Toutefois, pour tous les cas d'utilisation en production, nous vous recommandons vivement d'utiliser la configuration à haute disponibilité.
Memorystore pour Valkey met régulièrement à jour les instances pour s'assurer que le service est fiable, performant, sécurisé et à jour. Ces mises à jour sont appelées maintenances. La maintenance est entièrement gérée par le service et est conçue pour n'avoir aucun impact sur le temps d'arrêt.
La maintenance se divise généralement en plusieurs catégories :
- Fonctionnalités de Memorystore : Pour lancer certaines fonctionnalités, Memorystore nécessite une mise à jour de maintenance.
- Correctifs du système d'exploitation : Nous surveillons en permanence les dernières failles de sécurité détectées dans le système d'exploitation. Lorsque des failles sont découvertes, nous appliquons des correctifs au système d'exploitation pour vous protéger contre de nouveaux risques.
- Correctifs de base de données : La maintenance peut inclure une mise à jour de Valkey pour améliorer la sécurité, les performances et la fiabilité d'une instance. Cela va au-delà de ce que propose OSS Valkey.
Configurer votre application cliente
Pour configurer votre application cliente afin d'optimiser ses performances et sa disponibilité pendant la maintenance, procédez comme suit :
- Utilisez et configurez votre client tiers en suivant les conseils de la section Bonnes pratiques concernant le client Valkey pour vous assurer que toute maintenance planifiée n'a pas d'incidence sur l'application cliente. Nos configurations client recommandées peuvent éviter les réinitialisations de connexion grâce à des actualisations périodiques de la topologie en ligne et à des rotations de connexion en arrière-plan.
- Testez votre application cliente avec une série d'opérations de mise à jour (comme la réduction ou l'augmentation de la capacité, ou les modifications du nombre de réplicas) tout en exécutant une charge de travail représentative sur les nœuds principaux et de réplica, et en surveillant l'impact sur le client. Ces mises à jour testent la logique d'actualisation de la topologie intégrée sur les clients, l'impact de la synchronisation complète, la découverte de nouveaux nœuds et la capacité de suppression des nœuds existants. Les tests permettent de s'assurer que le client tiers est correctement configuré afin d'éviter tout impact négatif sur votre application.
Maintenance planifiée
Memorystore pour Valkey utilise une stratégie de cycle de vie créer avant de détruire et un déploiement progressif pour éviter tout impact sur le temps d'arrêt de la maintenance planifiée de Memorystore sur vos instances Valkey. Memorystore pour Valkey permet une maintenance sans temps d'arrêt en utilisant les capacités de redirection des requêtes du protocole d'instance Valkey OSS avec les mécanismes Memorystore suivants :
- Un basculement coordonné sans perte de données.
- Suppression concertée des nœuds pour permettre aux clients de rattraper les mises à jour de la topologie des nœuds sans impact sur la disponibilité.
- Les points de terminaison Private Service Connect de l'instance, qui ne sont pas affectés par la maintenance. Pour en savoir plus sur ces points de terminaison, consultez Points de terminaison des instances.
Le comportement du service décrit dans les sections suivantes s'applique uniquement à la maintenance planifiée. Pour en savoir plus sur l'impact des événements imprévus tels que les défaillances matérielles, consultez Comportement du client lors d'un basculement imprévu.
Intervalles de maintenance par défaut
Par défaut, Memorystore met à jour votre instance dans les fenêtres suivantes en fonction du fuseau horaire de votre instance :
- Période de la semaine (du lundi au vendredi) : de 22 h à 6 h
- Période du week-end : du vendredi, à 22 h au lundi, à 6 h
Stratégie de déploiement progressif
Memorystore pour Valkey effectue des déploiements avec une portée qui augmente progressivement, à un rythme qui permet de détecter les échecs suffisamment tôt pour atténuer tout impact et établir une confiance en la stabilité. Les temps de cuisson (temps pendant lequel la mise à jour est appliquée et surveillée avant d'être considérée comme réussie et de passer à l'étape suivante) sont intégrés à l'ensemble des instances Memorystore à l'échelle du service. De plus, les temps de cuisson sont intégrés aux instances dans les zones d'une région (plusieurs domaines de défaillance) pour réduire l'étendue de l'impact, le cas échéant.
Pour votre instance configurée pour la haute disponibilité, Memorystore pour Valkey met à jour au maximum un domaine de défaillance ou une zone à la fois pour s'assurer qu'un shard d'instance, y compris les instances principales et répliquées, bénéficie d'une haute disponibilité tout au long de la mise à jour. De plus, Memorystore pour Valkey ne met à jour que quelques nœuds à la fois. Les mises à jour utilisent un mécanisme de cycle de vie "créer avant de détruire" pour maximiser la stabilité d'une instance. Cette stratégie est la plus avantageuse lorsque vous mettez à jour une instance comportant de nombreux shards. L'application des mises à jour à une petite partie de l'espace de clés utilisateur global à tout moment maximise la disponibilité des données.
Stratégie de cycle de vie "create-before-destroy"
Une instance Valkey comporte plusieurs partitions. Chaque partition comporte un nœud principal et zéro ou plusieurs nœuds répliqués. Memorystore utilise le processus suivant pour mettre à jour tout nœud Valkey principal ou répliqué existant dans un shard :
- Memorystore pour Valkey ajoute un réplica avec la dernière mise à jour logicielle au shard. Memorystore crée un nœud au lieu d'en mettre à jour un existant pour s'assurer que votre capacité provisionnée est conservée en cas d'échec inattendu de l'amorçage.
- Si un nœud du shard à mettre à jour est un nœud principal, il est d'abord converti en réplica avant d'être supprimé à l'aide d'un basculement coordonné.
- Memorystore supprime le réplica qui utilise l'ancienne version du logiciel.
- Memorystore répète ce processus pour chaque nœud de l'instance.
La stratégie de création avant destruction permet de conserver la capacité provisionnée de l'instance, contrairement à un déploiement continu classique qui effectue des mises à jour sur place, mais entraîne une indisponibilité (et parfois une perte de données) pour l'application cliente. Pour les shards sans réplicas, Memorystore pour Valkey provisionne d'abord un nouveau réplica, coordonne le basculement, puis remplace le nœud principal existant du shard.
Étape 1 : Ajouter un réplica
La première étape du mécanisme de création avant destruction consiste à ajouter un nœud de réplica avec le logiciel le plus récent à l'aide du mécanisme de synchronisation complète OSS Valkey pour copier les données du nœud principal vers le nœud de réplica. Pour ce faire, un processus enfant est dupliqué et la réplication sans disque est utilisée pour amorcer l'instance répliquée. Memorystore pour Valkey est compatible avec la réplication sans disque. Sauf si vous activez la persistance, Memorystore pour Valkey n'utilise pas de disques lors de la réplication.
Pour tirer le meilleur parti de l'architecture de scaling horizontal de l'instance, provisionnez un nombre plus élevé de partitions afin de réduire la taille de l'espace de clés dans un nœud. Le fait d'avoir un ensemble de données plus petit par nœud permet de réduire l'impact de la latence de fork d'une opération de synchronisation complète. Il accélère également la copie des données entre les nœuds.
Étape 2 : Exécutez un basculement coordonné de la base de données principale
Si le nœud Valkey à mettre à jour est un nœud principal, Memorystore effectue un basculement coordonné vers le nœud de réplica nouvellement ajouté. Memorystore supprime ensuite le nœud. Lors du basculement coordonné, le client et les nœuds Valkey fonctionnent ensemble et utilisent les stratégies suivantes pour éviter les temps d'arrêt de l'application :
- Les requêtes client entrantes sont temporairement bloquées sur le nœud principal, ce qui permet de s'assurer que la réplique existante est synchronisée à 100 % avec le nœud principal.
- L'instance répliquée termine le processus d'élection pour prendre le rôle principal.
- L'ancien nœud principal, qui est désormais un nœud répliqué, débloque les requêtes existantes et les redirige vers le nouveau nœud principal à l'aide du protocole d'instance OSS Valkey. Toutes les nouvelles requêtes envoyées à l'ancien nœud de réplique continuent d'être redirigées vers le nouveau nœud principal.
- Votre client compatible avec Valkey actualise sa topologie en mémoire. Il apprend l'adresse du nouveau point de terminaison principal et n'a plus besoin de redirections.
Les basculements coordonnés prennent généralement quelques dizaines de millisecondes. Toutefois, les données en cours de transfert qui doivent être vidées dans les répliques et la taille totale de votre instance peuvent augmenter la latence du basculement. La taille de l'instance peut avoir une incidence sur la convergence des nœuds principaux, ce qui affecte la prise de décision concernant l'élection du nouveau nœud principal.
Étape 3 : Supprimez la réplique
La dernière étape du mécanisme de création avant destruction consiste à supprimer le nœud de réplique sur l'ancien logiciel. La suppression abrupte d'un nœud aurait un impact sur les applications clientes, car elles mettent en cache les informations sur le point de terminaison et la topologie de l'instance. Memorystore for Valkey a conçu la suppression d'un réplica Valkey de manière progressive pour permettre aux applications clientes d'actualiser leur topologie avant de subir un arrêt brutal du nœud. La topologie est personnalisée pour permettre aux clients de découvrir la nouvelle réplique, mais aussi d'oublier celle à supprimer à l'avance.
Le nœud de réplique exécutant l'ancienne version du logiciel est conservé pendant une certaine période de vidange, généralement de quelques minutes, au cours de laquelle il commence à rediriger les requêtes de lecture entrantes vers le nœud principal de son shard. Il permet au client tiers d'actualiser la topologie des nœuds et d'en savoir plus sur les nouveaux points de terminaison des répliques. Si le client tente d'accéder à un nœud supprimé après la période de vidange, la tentative échoue. Cela déclenche une actualisation de la topologie des nœuds sur le client qui se connecte afin qu'il soit informé du changement de réplica. Les nouvelles actualisations de la topologie des nœuds ne voient pas le nœud de réplique à supprimer.
Paramètres de maintenance
Memorystore pour Valkey vous permet de personnaliser les plannings de maintenance pour les adapter aux besoins de votre application et minimiser les perturbations. Pour personnaliser un calendrier de maintenance, configurez un intervalle de maintenance pour votre instance.
Vous définissez des intervalles de maintenance pour chaque instance Memorystore pour Valkey. Vous disposez des options de configuration suivantes :
- Jour de la semaine : jour où la maintenance est effectuée
- Heure de début : heure à laquelle la maintenance commence
L'intervalle de maintenance dure une heure. Dans certains cas, la maintenance peut se prolonger au-delà de la période que vous avez sélectionnée.
Une fois que vous avez configuré un intervalle de maintenance pour une instance, Memorystore pour Valkey planifie une maintenance automatique à l'avenir en fonction des préférences que vous avez définies pour les intervalles de maintenance.
Intervalles de maintenance par défaut
Si vous ne définissez pas d'intervalle de maintenance, Memorystore for Valkey met à jour votre instance dans l'une des fenêtres suivantes, en fonction du fuseau horaire de votre instance :
- Période de la semaine (du lundi au vendredi) : de 22h à 6h
- Période du week-end : du vendredi à 22h au lundi à 6h
Exemple de maintenance
En tant que développeur responsable d'un service de panier d'achat chez un marchand, vous supervisez un environnement de production qui inclut une instance Memorystore pour Valkey. Pour garantir des performances optimales pendant la maintenance, planifiez-la lorsque l'instance enregistre un trafic minimal. Cela se produit généralement le dimanche vers minuit.
Dans ce cas, définissez l'intervalle de maintenance de votre instance de production sur le jour et l'heure suivants :
- Jour de la semaine : dimanche
- Heure de début : 1h
Notifications de maintenance à venir
Pour vous assurer de rester informé des événements de maintenance sur votre instance, configurez les notifications par e-mail concernant la maintenance à venir au moins une semaine avant la planification de la maintenance. Ces notifications ont pour objet "Upcoming
maintenance for your Cloud Memorystore instance [your-instance-name]"
.
Memorystore pour Valkey envoie également une notification lorsque la maintenance de votre instance commence. L'objet de l'e-mail est "Maintenance
is undergoing for your Cloud Memorystore instance [your-instance-name]"
.
Une fois la maintenance de Memorystore pour Valkey terminée, une notification de fin est envoyée. L'objet de l'e-mail est "Completed Maintenance
for your Cloud Memorystore instance [your-instance-name]"
.
Si Memorystore pour Valkey reprogramme une opération de maintenance, vous recevez un e-mail vous informant de l'annulation de l'opération. L'objet de cet e-mail est "Canceled maintenance for your Cloud Memorystore instance [your-instance-name]"
.
Pour recevoir les notifications de maintenance, vous devez les activer. Pour vous inscrire aux notifications de maintenance :
Pour recevoir des notifications de maintenance de Memorystore pour Valkey, suivez ces étapes au moins une semaine avant la mise à jour de maintenance planifiée pour votre instance. Sinon, Memorystore pour Valkey n'aura pas suffisamment de temps pour vous informer de la maintenance à venir.
Memorystore pour Valkey envoie des notifications à l'adresse e-mail associée à votre compte Google. Vous ne pouvez pas configurer d'alias d'adresse e-mail personnalisé (par exemple, un alias d'adresse e-mail d'équipe). De plus, nous ne pouvons pas envoyer de notifications à une autre adresse e-mail.
En vous abonnant aux notifications de maintenance, vous recevez des alertes pour toutes les instances Memorystore pour Valkey pour lesquelles une maintenance est planifiée dans un projet Google Cloud . Vous recevez une notification distincte pour chaque instance.
Pour savoir comment trouver une opération de maintenance planifiée, consultez Trouver une opération de maintenance planifiée.
Reprogrammer la maintenance
Cette section explique comment reprogrammer la maintenance. Par exemple, si un nouveau service doit être lancé pendant votre intervalle de maintenance actuel, vous pouvez reporter l'intervalle de maintenance à quelques jours après le lancement.
Vous pouvez reprogrammer la maintenance dans les 14 jours suivant l'heure initialement prévue. Pour reprogrammer la maintenance, choisissez l'une des options suivantes :
- Mettre à jour maintenant : au lieu d'attendre l'intervalle de maintenance programmé, vous pouvez appliquer immédiatement les mises à jour à votre instance.
- Jour et heure personnalisés : choisissez une heure dans les deux semaines suivant l'heure de maintenance initialement programmée.
Lorsque vous reprogrammez une maintenance, les restrictions suivantes s'appliquent :
- Si la maintenance actuellement programmée doit commencer dans moins d'une heure, vous ne pouvez pas la reprogrammer.
- Une fois la maintenance reportée, Memorystore pour Valkey vous envoie une notification par e-mail confirmant l'annulation de la maintenance précédente. De plus, vous recevrez une nouvelle notification de maintenance avec le calendrier mis à jour.
Pour en savoir plus sur la reprogrammation de la maintenance, consultez Reprogrammer une maintenance.
Questions fréquentes
Cette section contient des questions fréquentes sur la maintenance de Memorystore pour Valkey.
Comment savoir lorsqu'une opération de maintenance est planifiée sur votre instance ?
Pour savoir quand une opération de maintenance est planifiée sur votre instance, nous vous recommandons de vous abonner aux notifications et de configurer un intervalle de maintenance. Vous pouvez également vérifier manuellement votre instance pour voir si le paramètre maintenanceSchedule
apparaît dans la réponse.
Quand Memorystore pour Valkey vous informe-t-il des prochaines opérations de maintenance ?
Si vous vous abonnez aux notifications de maintenance et que vous définissez un intervalle de maintenance, Memorystore pour Valkey vous avertit par e-mail au moins une semaine avant un événement de maintenance.
Pendant combien de temps puis-je reporter la maintenance ?
Une fois la maintenance planifiée pour votre instance, vous pouvez démarrer la mise à jour immédiatement ou la différer de deux semaines au maximum par rapport à la date et à l'heure de maintenance initialement planifiées.
Par exemple, si vous planifiez une maintenance le 11 octobre à 23h15, vous pouvez la reporter jusqu'au 25 octobre à 23h15. Si vous ne faites rien, la maintenance s'exécute à la date et à l'heure prévues.
Pour en savoir plus, consultez Reprogrammer la maintenance.
Quelles bonnes pratiques permettent de mettre à jour la maintenance planifiée de manière fluide ?
Pour garantir une expérience optimale de la mise à jour de maintenance, nous vous recommandons de procéder comme suit :
- Suivez les instructions pour configurer votre application cliente.
- Définissez votre intervalle de maintenance sur un jour et une heure où votre instance enregistre un trafic minimal (par exemple, le dimanche à minuit).
- Activez les notifications de maintenance. Par conséquent, Memorystore pour Valkey vous avertit par e-mail au moins sept jours avant la planification d'une mise à jour de maintenance de votre instance.
- Si vous n'avez pas d'heure à faible impact ou sans impact pour l'utilisation de votre application, utilisez la valeur par défaut du service pour les déploiements progressifs. Cette valeur par défaut contient les bonnes pratiques pour les mises à jour de maintenance. Pour plus d'informations, consultez Maintenance transparente.
Quand pouvez-vous appliquer la maintenance immédiatement ?
Vous pouvez appliquer immédiatement une mise à jour de maintenance sur une instance de test pour voir comment elle affecte votre application. Vous pouvez observer l'impact de cette mise à jour. En cas de problème avec la mise à jour, vous pouvez différer la maintenance sur vos instances de production jusqu'à ce que vous ayez résolu les problèmes.
Si le jour et l'heure actuels conviennent à votre instance et que vous prévoyez une charge élevée sur votre instance à l'avenir, vous pouvez exécuter la mise à jour de maintenance immédiatement.
Les mises à jour de maintenance sont-elles toujours effectuées dans l'intervalle de maintenance ?
Memorystore pour Valkey lance une mise à jour de maintenance dans l'intervalle de maintenance que vous spécifiez. Memorystore pour Valkey effectue généralement la mise à jour dans l'intervalle, mais cela n'est pas toujours le cas.
Puis-je désactiver la maintenance ou la planifier sur certaines instances dans un premier temps ?
Vous ne pouvez pas désactiver la maintenance ni contrôler l'ordre de maintenance de vos instances. Toutefois, une fois que vous avez reçu la notification de maintenance initiale, vous pouvez replanifier la maintenance pour la différer jusqu'à deux semaines.
Étapes suivantes
- Consultez les autorisations requises pour gérer les intervalles de maintenance de votre instance.