Pourquoi la mise à niveau de mon domaine Amazon OpenSearch Service prend-elle autant de temps ?

Date de la dernière mise à jour : 30/07/2021

J'essaie de mettre à niveau mon cluster Amazon OpenSearch Service (successeur d'Amazon Elasticsearch Service), mais l'opération prend beaucoup de temps. Pourquoi cela se produit-il et comment puis-je mieux contrôler l'état de la mise à niveau de mon cluster dans OpenSearch Service ?

Brève description

Lorsque vous faites une modification de la configuration dans OpenSearch Service, un processus de déploiement bleu/vert est utilisé. Dans un déploiement bleu/vert, deux environnements de production sont exécutés (l'un est en direct et l'autre est inactif). Les deux environnements de production sont ensuite commutés en fonction des mises à jour logicielles. Pour OpenSearch Service, un nouvel environnement est créé lors des mises à jour du domaine et les utilisateurs sont acheminés vers le nouvel environnement de production une fois les mises à jour terminées. Cette action réduit les temps d'arrêt et maintient l'environnement d'origine en cas d'échec d'un déploiement.

Pour mieux surveiller l'état de la mise à niveau de votre cluster dans OpenSearch Service, contrôlez votre processus de déploiement bleu/vert à chaque étape :

  • Création de nouveaux nœuds
  • Migration de données
  • Suppression des anciens nœuds

Solution

Récupération de tous les instantanés de cluster et ID de nœuds

Avant une migration, OpenSearch Service prend un instantané automatisé de votre cluster lorsqu'il réussit le test d'éligibilité. Pendant la prise d'un instantané, l'état de progression peut afficher « null » ou 0 %. Une fois l'instantané pris, la valeur de pourcentage est mise à jour. Le temps nécessaire à la création d'un instantané peut varier en fonction de l'espace de stockage. Étant donné que les instantanés sont pris de manière incrémentielle, votre instantané peut prendre plus de temps à s'effectuer si des modifications importantes sont apportées à vos données par rapport à l'instantané automatisé précédent.

La requête _snapshot suivante récupère tous les instantanés en cours d'exécution avec des informations d'état détaillées :

GET /_snapshot/_status

Pour plus d'informations sur les API d'instantanés, consultez Contrôler l'instantané et restaurer la progression sur le site web d'Elasticsearch.

Pour récupérer tous les instantanés en cours d'exécution dans votre cluster, utilisez le paramètre actuel :

GET /_snapshot/<snapshot-repository>/_current

Pour obtenir les ID de tous les nœuds de données, utilisez l'API des nœuds cat :

GET _cat/nodes

Vous pouvez utiliser les ID de nœuds pour identifier les anciens et les nouveaux nœuds. Un nombre croissant de partitions sur les nouveaux nœuds indique une migration fluide. Au final, toutes les partitions se déplaceront vers les nouveaux nœuds et les anciens nœuds seront vides.

Surveillance du processus de déploiement bleu/vert

Lorsque votre cluster entre dans le processus de déploiement bleu/vert, les nouveaux nœuds (dans l'environnement vert) apparaissent. Les partitions sont ensuite migrées à partir des anciens nœuds (dans l'environnement bleu). Une fois la migration des données ou la réaffectation des partitions terminées, votre ancien cluster est supprimé.

Vous pouvez surveiller le processus de déploiement bleu/vert en trois étapes : les nouveaux nœuds, la migration des données et la suppression des anciens nœuds.

Étape 1 : Création de nouveaux nœuds

Vous pouvez contrôler la métrique de cluster des nœuds dans Amazon CloudWatch pour obtenir le nombre de nœuds. Vous pouvez également utiliser l'API des nœuds cat pour répertorier tous les nœuds de votre cluster :

GET /_cat/nodes?v&pretty

Comme vous ne mettez à jour que la version de votre cluster, le processus est terminé dès que le nombre de nœuds (anciens et nouveaux) augmente. Par la suite, vous pouvez voir votre domaine OpenSearch Service revenir à l'état « Actif » (après avoir été dans l'état « Traitement en cours »). Pour les clusters avec des nœuds dédiés, vous pouvez constater que le nombre de nœuds augmente jusqu'à la somme des anciens et des nouveaux nœuds. Les nœuds leaders de l'ancienne configuration s'arrêteront et le nombre de nœuds diminuera en fonction du nombre de nœuds leaders. Par exemple, un cluster OpenSearch Service avec trois nœuds leaders dédiés perdra trois nœuds.

Étape 2 : migration de données

Dès que la première étape est terminée, la migration des partitions démarre. Au cours de la migration des données, le nombre de partitions pour les nœuds plus anciens diminue et le nombre de partitions pour les nœuds plus récents augmente. Vous pouvez utiliser l'API cat allocation pour voir combien de partitions sont allouées à chaque nœud :

GET /_cat/allocation?v&pretty

Pour plus d'informations, consultez cat allocation sur le site Web d'Elasticsearch.

Étape 3 : suppression des anciens nœuds

Les nœuds plus anciens sont supprimés de votre cluster une fois toutes les partitions migrées vers les nouveaux nœuds. Le nombre de nœuds retourne alors au nombre de nœuds d'origine que vous avez configuré. À ce stade, le processus de déploiement bleu/vert et la mise à jour sont terminés.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?