Maintenance du cluster de bases de données Amazon Neptune - Amazon Neptune

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.

Maintenance du cluster de bases de données Amazon Neptune

Neptune assure la maintenance périodique de toutes les ressources qu’elle utilise, notamment :

  • Remplacement du matériel sous-jacent si nécessaire. Cela se produit en arrière-plan, sans que vous ayez à agir, et n’a généralement aucune incidence sur vos opérations.

  • Mise à jour du système d’exploitation sous-jacent. Les mises à niveau du système d’exploitation des instances de votre cluster de bases de données visent à améliorer les performances et la sécurité. Vous devez donc généralement les terminer dès que possible. En général, les mises à jour prennent environ 10 minutes. Les mises à jour du système d'exploitation ne modifient pas la version du moteur de base de données ou la classe d'instance de base de données d'une instance de base de données.

    Il est généralement préférable de mettre à jour d’abord les instances de lecteur dans un cluster de bases de données, puis l’instance de scripteur. La mise à jour simultanée des lecteurs et de l’écriture peut provoquer un temps d’arrêt en cas de basculement. Notez que les instances de base de données ne sont pas automatiquement sauvegardées avant une mise à jour du système d’exploitation. Veillez donc à effectuer des sauvegardes manuelles avant d’appliquer une mise à jour du système d’exploitation.

  • Mise à jour du moteur de base de données Neptune. Neptune publie régulièrement diverses mises à jour du moteur afin d’introduire de nouvelles fonctionnalités et améliorations et de corriger des bogues.

Numéros de version du moteur

Numérotation des versions avant la version du moteur 1.3.0.0

Avant novembre 2019, Neptune ne prenait en charge qu'une seule version du moteur à la fois, et les numéros de version du moteur prenaient tous la forme 1.0.1.0.200<xxx>, où xxx était le numéro de correctif. Toutes les nouvelles versions du moteur ont toutes été publiées sous la forme de correctifs pour les versions antérieures.

Depuis novembre 2019, Neptune prend en charge plusieurs versions, ce qui permet aux clients de mieux contrôler leurs chemins de mise à niveau. Par conséquent, la numérotation des versions du moteur a changé.

De novembre 2019 jusqu’à la version 1.3.0.0 du moteur, les numéros de version du moteur comportent 5 parties. Prenez le numéro de version 1.0.2.0.R2 par exemple :

  • La première partie était toujours 1.

  • La deuxième partie, 0 dans 1.0.2.0.R2, était le numéro de version principal de la base de données.

  • Les troisième et quatrième parties, 1.0.2.0.R2 dans 2.0, étaient toutes deux des numéros de version mineures.

  • La cinquième partie (R2 dans 1.0.2.0.R2) était le numéro de correctif.

La plupart des mises à jour étaient des correctifs, et la distinction entre les correctifs et les mises à jour de versions mineures n’était pas toujours claire.

Numérotation des versions à partir de la version 1.3.0.0 du moteur

À partir de la version 1.3.0.0 du moteur, Neptune a changé la façon dont les mises à jour du moteur sont numérotées et gérées.

Les numéros de version du moteur comportent désormais quatre parties, chacune correspondant à un type de version, comme suit :

    version du produit.version majeure.version mineure.version de correctif

Les modifications non majeures du type de celles qui étaient précédemment publiées sous forme de correctifs sont désormais publiées sous forme de versions mineures que vous pouvez gérer à l’aide du paramètre d’instance AutoMinorVersionUpgrade.

Cela signifie que si vous le souhaitez, vous pouvez recevoir une notification chaque fois qu’une nouvelle version mineure est publiée, en vous inscrivant à l’événement RDS-EVENT-0156 (voir Abonnement à la notification d’événement Neptune).

Les versions de correctifs sont désormais réservées aux corrections ciblées urgentes et sont numérotées à l’aide de la dernière partie du numéro de version (*.*.*.1, *.*.*.2, etc.).

Différents types de version de moteurs dans Amazon Neptune

Les quatre types de version du moteur correspondant aux quatre parties d’un numéro de version du moteur sont les suivants :

  • Version du produit : cela ne change que si le produit subit des modifications profondes et fondamentales en termes de fonctionnalité ou d’interface. La version actuelle du produit Neptune est 1.

  • Version majeure : les versions majeures introduisent de nouvelles fonctionnalités importantes et des modifications majeures, et ont généralement une durée de vie utile d’au moins deux ans.

  • Version mineure : les versions mineures peuvent contenir de nouvelles fonctionnalités, des améliorations et des corrections de bogues, mais ne contiennent aucune modification majeure. Vous pouvez choisir de les faire appliquer automatiquement ou non lors de la prochaine fenêtre de maintenance, et vous pouvez également choisir d’être averti chaque fois qu’elles sont publiées.

  • Version de correctif : les versions de correctif sont publiées uniquement pour corriger des bogues urgents ou apporter des mises à jour de sécurité critiques. Elles contiennent rarement des modifications majeures, et elles sont automatiquement appliquées lors de la fenêtre de maintenance suivante après leur publication.

Mises à jour des versions majeures d’Amazon Neptune

Une mise à jour de version majeure introduit généralement une ou plusieurs nouvelles fonctionnalités importantes et contient souvent des modifications majeures. Sa durée de vie de support est généralement d’environ deux ans. Les versions majeures de Neptune sont répertoriées dans les versions du moteur, avec leur date de sortie et leur date de fin de vie estimée.

Les mises à jour des versions majeures sont entièrement facultatives jusqu’à ce que la version majeure que vous utilisez atteigne la fin de son cycle de vie. Si vous choisissez de passer à une nouvelle version majeure, vous devez installer la nouvelle version vous-même à l’aide de la AWS CLI ou de la console Neptune, comme décrit dans Mises à niveau de version majeure..

Toutefois, si la version majeure que vous utilisez arrive à expiration, vous serez averti que vous devez effectuer une mise à niveau vers une version majeure plus récente. Ensuite, si vous n’effectuez pas de mise à niveau dans le délai de grâce suivant la notification, une mise à niveau vers la version majeure la plus récente est automatiquement planifiée lors de la prochaine fenêtre de maintenance. Pour plus d’informations, consultez Durée de vie des versions du moteur.

Mises à jour des versions mineures d’Amazon Neptune

La plupart des mises à jour du moteur Neptune sont des mises à jour mineures. Elles se produisent assez fréquemment et ne contiennent pas de modifications majeures.

Si le champ AutoMinorVersionUpgrade est défini sur true dans l’instance de dispositif d’écriture (principale) de votre cluster de base de données, les mises à jour de version mineures sont appliquées automatiquement à toutes les instances de votre cluster de bases de données lors de la fenêtre de maintenance suivante après leur publication.

Si le champ AutoMinorVersionUpgrade est défini sur false dans l’instance de dispositif d’écriture de votre cluster de bases de données, ils ne sont appliqués que si vous les installez explicitement.

Note

Les mises à jour des versions mineures sont autonomes (elles ne dépendent pas des mises à jour précédentes de la même version majeure) et cumulatives (elles contiennent toutes les fonctionnalités et tous les correctifs introduits dans les mises à jour des versions mineures précédentes). Cela signifie que vous pouvez installer n’importe quelle mise à jour de version mineure, que vous ayez installé les versions précédentes ou non.

Vous pouvez facilement suivre les sorties de versions mineures en vous abonnant à l’événement RDS-EVENT-0156 (consultez Abonnement à la notification d’événement Neptune). Vous serez alors averti chaque fois qu’une nouvelle version mineure sera publiée.

De plus, que vous soyez abonné ou non aux notifications, vous pouvez toujours vérifier quelles mises à jour sont en attente.

Mises à jour de version de correctif d’Amazon Neptune

En cas de problèmes de sécurité ou d’autres défauts graves affectant la fiabilité de l’instance, Neptune déploie les correctifs obligatoires. Ils sont appliqués à toutes les instances de votre cluster de bases de données lors de votre prochain créneau de maintenance sans aucune intervention de votre part.

Une version de correctif n’est déployée que lorsque les risques liés à son non-déploiement l’emportent sur les risques et les interruptions de service associés à son déploiement. Les versions de correctif ont lieu peu fréquemment (en général une fois à quelques mois d’intervalle) et nécessitent rarement plus d’une fraction de votre fenêtre de maintenance.

Planification de la durée de vie des versions majeures du moteur Amazon Neptune

Les versions du moteur Neptune atteignent presque toujours leur fin de vie à la fin d’un trimestre du calendrier civil, à l'exception des cas où des problèmes importants de sécurité ou de disponibilité surviennent.

Lorsqu'une version du moteur arrive en fin de vie, vous devez mettre à niveau votre base de données Neptune vers une version plus récente.

En général, les versions du moteur Neptune restent disponibles comme suit :

  • Versions mineures du moteur : les versions mineures du moteur restent disponibles pendant au moins six mois après leur sortie.

  • Versions majeures du moteur : les versions majeures du moteur restent disponibles pendant au moins 12 mois après leur sortie.

Au moins trois mois avant la fin de vie d'une version du moteur, AWS envoie une notification automatique par e-mail à l'adresse e-mail associée à votre compte AWS et publie le même message sur votre tableau de bord d'état AWS. Cela vous laisse ainsi le temps de planifier et de préparer la mise à niveau.

Lorsqu'une version du moteur arrive en fin de vie, vous ne pouvez plus créer de clusters ni d'instances à l'aide de cette version. L'autoscaling ne peut plus créer d'instances à l'aide de cette version non plus.

Une version du moteur qui arrive à sa date de fin de vie effective est automatiquement mise à niveau pendant une fenêtre de maintenance. Le message qui vous est envoyé trois mois avant la fin de vie de la version du moteur contient des informations sur les implications de cette mise à jour automatique, notamment sur la version de la mise à niveau qui aura lieu automatiquement, l'impact sur vos clusters de bases de données et les actions que nous recommandons.

Important

Vous êtes responsable de la mise à jour constante des versions de votre moteur de base de données. AWS invite tous les clients à mettre à niveau leurs bases de données vers la dernière version du moteur afin de bénéficier des garanties de sécurité, de confidentialité et de disponibilité les plus récentes. Si vous utilisez votre base de données sur un moteur ou un logiciel non pris en charge après la date d'obsolescence (ce que l'on considère comme un « ancien moteur »), vous êtes exposé à un risque accru de problèmes de sécurité, de confidentialité et d'exploitation, y compris des interruptions de service.

L'exploitation de votre base de données sur n'importe quel moteur est soumise au contrat régissant votre utilisation des services AWS. Les anciens moteurs ne sont pas accessibles à tous. AWS n'assure plus la prise en charge de ces moteurs et AWS peut imposer des limites concernant leur accès ou leur utilisation à tout moment, si AWS détermine que l'ancien moteur en question présente un risque en termes de sécurité ou de responsabilité, ou un risque de préjudice, pour les Services, AWS, ses filiales ou tout tiers. Votre décision de continuer à exécuter votre contenu dans un ancien moteur pourrait rendre votre contenu indisponible, corrompu ou irrécupérable. Les bases de données exécutées sur un ancien moteur sont soumises à des exceptions au contrat de niveau de service (SLA).

LES BASES DE DONNÉES ET LES LOGICIELS ASSOCIÉS EXÉCUTÉS SUR UN ANCIEN MOTEUR CONTIENNENT DES BOGUES, DES ERREURS, DES DÉFAUTS ET/OU DES COMPOSANTS DANGEREUX. EN CONSÉQUENCE, ET NONOBSTANT TOUTE DISPOSITION CONTRAIRE DANS LE CONTRAT OU LES CONDITIONS DE SERVICE, AWS FOURNIT L’ANCIEN MOTEUR « TEL QUEL ».

Installation manuelle des mises à jour de votre moteur Neptune

Installation d’une mise à niveau de version majeure du moteur

Les versions majeures du moteur doivent être installées manuellement. Pour minimiser les temps d’arrêt et laisser suffisamment de temps aux tests et à la validation, le meilleur moyen d’installer une nouvelle version majeure est généralement d’utiliser la solution de déploiement bleu/vert Neptune.

Dans certains cas, vous pouvez également utiliser le modèle AWS CloudFormation avec lequel vous avez créé votre cluster de bases de données pour installer une mise à niveau de version majeure (consultez Utilisation d'un AWS CloudFormation modèle pour mettre à jour la version du moteur de votre cluster de base de données Neptune).

Si vous souhaitez installer une mise à jour de version majeure immédiatement, vous pouvez utiliser une commande CLI comme celle-ci :

aws neptune modify-db-cluster \ --db-cluster-identifier (identifier for your neptune cluster) \ --engine neptune \ --engine-version (the new engine version) \ --apply-immediately

Assurez-vous de spécifier la version du moteur vers laquelle vous voulez effectuer la mise à niveau. Dans le cas contraire, votre moteur pourra être mis à niveau vers une version autre que la plus récente ou que celle à laquelle vous vous attendez.

Au lieu d’--apply-immediately, vous pouvez spécifier --no-apply-immediately.

Si votre cluster utilise un groupe de paramètres de cluster personnalisé, veillez à le spécifier avec ce paramètre :

--db-cluster-parameter-group-name (name of the custom DB cluster parameter group)

De même, si des instances du cluster utilisent un groupe de paramètres de bases de données personnalisé, veillez à le spécifier avec ce paramètre :

---db-instance-parameter-group-name (name of the custom instance parameter group)

Installation d’une mise à niveau du moteur d’une version mineure à l’aide de la AWS Management Console

Pour effectuer une mise à niveau d’une version mineure à l’aide de la console Neptune
  1. Connectez-vous à la console de gestion AWS et ouvrez la console Amazon Neptune à l’adresse https://console.aws.amazon.com/neptune/home.

  2. Dans le panneau de navigation, choisissez Bases de données, puis choisissez le cluster de bases de données que vous souhaitez modifier.

  3. Sélectionnez Modify.

  4. Sous Spécifications de l’instance, choisissez la nouvelle version vers laquelle vous souhaitez procéder à la mise à niveau.

  5. Choisissez Next (Suivant).

  6. Si vous souhaitez appliquer les modifications immédiatement, choisissez Appliquer immédiatement.

  7. Choisissez Soumettre pour mettre à jour votre cluster de base de données.

Installation d’une mise à niveau du moteur d’une version mineure à l’aide de la AWS CLI

Vous pouvez utiliser une commande comme la suivante pour effectuer une mise à niveau d’une version mineure sans attendre la fenêtre de maintenance suivante :

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine-version (new-engine-version) \ --apply-immediately

Si vous effectuez une mise à niveau manuelle à l’aide de la AWS CLI, assurez-vous d’inclure la version du moteur vers laquelle vous souhaitez que la mise à niveau soit effectuée. Dans le cas contraire, votre moteur pourra être mis à niveau vers une version autre que la plus récente ou que celle à laquelle vous vous attendez.

Mise à niveau vers la version 1.2.0.0 ou supérieure du moteur à partir d'une version antérieure à 1.2.0.0

La version 1.2.0.0 du moteur inclut plusieurs modifications importantes qui peuvent compliquer plus que d’habitude toute mise à niveau à partir d’une version antérieure :

  • La version 1.2.0.0 du moteur implique un nouveau format pour les groupes de paramètres personnalisés et les groupes de paramètres de cluster personnalisés. Par conséquent, si vous effectuez une mise à niveau d'une version de moteur antérieure vers la version 1.2.0.0 ou une version supérieure, vous devrez recréer tous vos groupes de paramètres personnalisés et groupes de paramètres de cluster personnalisés existants à l'aide de la famille de groupes de paramètres neptune1.2. Les versions antérieures utilisaient une famille de groupes de paramètres neptune1, lesquels ne sont pas compatibles avec les versions 1.2.0.0 et supérieures. Pour plus d’informations, consultez Groupes de paramètres Amazon Neptune.

  • La version 1.2.0.0 du moteur comprend également un nouveau format pour les journaux d'annulation. Par conséquent, tous les journaux d'annulation créés par une version antérieure du moteur doivent être purgés, et la métrique CloudWatch UndoLogsListSize doit tomber à zéro avant que toute mise à niveau depuis une version antérieure vers la version 1.2.0.0 puisse commencer. S'il existe trop d'enregistrements de journaux d'annulation (200 000 entrées ou plus) lorsque vous essayez de démarrer une mise à jour, la tentative de mise à niveau peut expirer en attendant que la purge des journaux d'annulation soit terminée.

    Vous pouvez accélérer le taux de purge en mettant à niveau l'instance d'enregistreur du cluster, où la purge a lieu. Suivre cette étape avant d'essayer de procéder à la mise à niveau contribue à réduire le nombre de journaux d'annulation avant de commencer. L’augmentation de la taille de l’enregistreur dans un type d’instance 24XL peut accroître le taux de purge, permettant ainsi de traiter plus d’un million d’enregistrements par heure.

    Si la métrique CloudWatch UndoLogsListSize est trop élevée, vous pouvez soumettre une demande d'assistance pour explorer d'autres stratégies afin de la réduire.

  • Enfin, une modification majeure a été apportée à la version 1.2.0.0. Celle-ci concerne le code antérieur qui utilisait le protocole Bolt avec l'authentification IAM. À partir de la version 1.2.0.0, Bolt a besoin d'un chemin de ressources pour la signature IAM. En Java, la définition du chemin de ressources peut ressembler à ceci : request.setResourcePath("/openCypher"));. Dans d'autres langages, /openCypher peut être ajouté à l'URI du point de terminaison. Pour obtenir des exemples, consultez Utilisation du protocole Bolt.