Réalisation d’une mise à niveau de version mineure - Amazon Aurora

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.

Réalisation d’une mise à niveau de version mineure

Vous pouvez utiliser les méthodes suivantes pour mettre à niveau la version mineure d’un cluster de bases de données ou appliquer un correctif à un cluster de bases de données :

Avant d’effectuer une mise à niveau de version mineure

Nous vous recommandons d’effectuer les actions suivantes pour réduire la durée d’indisponibilité lors d’une mise à niveau de version mineure :

Comment effectuer des mises à niveau de versions mineures et appliquer des correctifs

Les mises à niveau de versions mineures et les correctifs sont disponibles dans les Régions AWS uniquement après avoir réalisé des tests rigoureux. Avant de publier des mises à niveau et des correctifs, Aurora PostgreSQL effectue des tests pour s’assurer que les problèmes de sécurité connus, les bogues et les autres problèmes survenus après la publication de la version communautaire mineure ne perturbent pas la stabilité de la flotte Aurora PostgreSQL.

Si vous activez Activer la mise à niveau automatique des versions mineures, Aurora PostgreSQL met régulièrement à jour votre cluster de bases de données durant la fenêtre de maintenance spécifiée. Assurez-vous que l’option Activer la mise à niveau automatique des versions mineures est activée pour toutes les instances de cluster de bases de données Aurora PostgreSQL. Pour obtenir des informations sur la façon de définir Mise à niveau automatique des versions mineures et sur la façon dont ce paramètre fonctionne lorsqu’il est appliqué aux niveaux du cluster et de l’instance, consultez  Mises à niveau automatiques des versions mineures pour les clusters de bases de données Aurora.

Vérifiez la valeur de l’option Activer la mise à niveau automatique des versions mineures pour tous vos clusters de bases de données Aurora PostgreSQL à l’aide de la commande AWS CLI describe-db-instances comme suit.

aws rds describe-db-instances \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,DBInstanceIdentifier:DBInstanceIdentifier,AutoMinorVersionUpgrade:AutoMinorVersionUpgrade}'

Cette requête renvoie une liste de tous les clusters de base de données Aurora et de leurs instances dont le paramètre AutoMinorVersionUpgrade est défini sur true ou false. La commande suppose qu’AWS CLI est configuré pour cibler votre Région AWS par défaut.

Pour plus d’informations sur l’option AmVU et sur la façon de modifier votre cluster de bases de données Aurora pour l’utiliser, consultez Mises à niveau automatiques des versions mineures pour les clusters de bases de données Aurora.

Vous pouvez mettre à niveau vos clusters de base de données Aurora PostgreSQL vers de nouvelles versions mineures, soit en répondant aux tâches de maintenance, soit en modifiant le cluster pour utiliser la nouvelle version.

Vous pouvez identifier toutes les mises à niveau ou tous les correctifs disponibles pour vos clusters de bases de données Aurora PostgreSQL à l’aide de la console RDS et en ouvrant le menu Recommendations (Recommandations). Vous y trouverez une liste des problèmes de maintenance tels que Old minor versions (Anciennes versions mineures). En fonction de votre environnement de production, vous pouvez choisir de planifier (Schedule) la mise à niveau ou de prendre des mesures immédiates, en choisissant Apply now (Appliquer maintenant), comme indiqué ci-après.

Image de la console montrant la recommandation de mise à niveau vers une version mineure plus récente.

Pour en savoir plus sur la gestion d’un cluster de bases de données Aurora, y compris sur l’application manuelle des correctifs et des mises à niveau de versions mineures, consultez Entretien d’un cluster de bases de données Amazon Aurora.

Mises à niveau de versions mineures et application de correctifs sans durée d’indisponibilité

Il est possible qu’une panne se produise pendant la mise à niveau d’un cluster de bases de données Aurora PostgreSQL. Au cours du processus de mise à niveau, la base de données est arrêtée. Si vous démarrez la mise à niveau alors que la base de données est occupée, vous perdez toutes les connexions et transactions traitées par le cluster de bases de données. Si vous attendez que la base de données soit inactive pour effectuer la mise à niveau, vous devrez peut-être attendre longtemps.

La fonctionnalité ZDP (application de correctifs sans durée d’indisponibilité) améliore le processus de mise à niveau. Avec ZDP, les mises à niveau de versions mineures et les correctifs peuvent être appliqués avec un impact minimal sur votre cluster de bases de données Aurora PostgreSQL. ZDP est utilisé lors de l’application de correctifs ou de mises à jour de versions mineures plus récentes vers des versions d’Aurora PostgreSQL et d’autres versions ultérieures de ces versions mineures, et de nouvelles versions majeures. En d’autres termes, la mise à niveau vers de nouvelles versions mineures à partir de l’une de ces versions utilise ZDP.

Le tableau suivant montre les versions d’Aurora PostgreSQL et les classes d’instance de base de données où ZDP est disponible :

Version Classes d’instance db.r* Classes d’instance db.t* Classes d’instance db.x* Classe d’instance db.serverless
10.21 et versions ultérieures Oui Oui Oui N/A
11.16 et versions ultérieures Oui Oui Oui N/A
11.17 et versions ultérieures Oui Oui Oui N/A
12.11 et versions ultérieures Oui Oui Oui N/A
12.12 et versions ultérieures Oui Oui Oui N/A
13.7 et versions ultérieures Oui Oui Oui N/A
13.8 et versions ultérieures Oui Oui Oui Oui
14.3 et versions ultérieures Oui Oui Oui N/A
14.4 et versions ultérieures Oui Oui Oui N/A
14.5 et versions ultérieures Oui Oui Oui Oui
15.3 et versions ultérieures Oui Oui Oui Oui
16.1 et versions ultérieures Oui Oui Oui Oui

Au cours du processus de mise à niveau utilisant l’application de correctifs sans durée d’indisponibilité, le moteur de base de données recherche un point silencieux pour suspendre toutes les nouvelles transactions. Cette action protège la base de données lors des applications de correctifs et des mises à niveau. Pour garantir le bon fonctionnement de vos applications quand les transactions sont suspendues, nous vous recommandons d’intégrer une logique de nouvelle tentative dans votre code. Cette approche garantit que le système pourra gérer toute durée d’indisponibilité de courte durée sans défaillance et pourra réessayer les nouvelles transactions après la mise à niveau.

Lorsque l’application de correctifs sans durée d’indisponibilité réussit, les sessions d’application sont conservées, à l’exception de celles avec des connexions interrompues, et le moteur de base de données redémarre avant la fin de la mise à niveau. Le redémarrage du moteur de base de données peut entraîner une chute temporaire du débit, mais celle-ci ne dure généralement que quelques secondes ou une minute environ tout au plus.

Dans certains cas, l’application de correctifs sans durée d’indisponibilité (ZDP) peut échouer. Par exemple, les modifications de paramètres à l’état pending sur votre cluster de bases de données Aurora PostgreSQL ou ses instances interfèrent avec l’application de correctifs sans durée d’indisponibilité.

Vous trouverez des métriques et des événements pour les opérations ZDP sur la page Events (Événements) de la console. Les événements se déroulent du début de la mise à niveau ZDP à la fin de la mise à niveau. Dans ce cas, vous pouvez obtenir la durée du processus et le nombre de connexions conservées et supprimées survenues pendant le redémarrage. Pour plus de détails, consultez le journal des erreurs de votre base de données.

Limites des correctifs sans durée d’indisponibilité

Les limitations suivantes s’appliquent à l’application de correctifs sans durée d’indisponibilité :

  • ZDP essaie de préserver les connexions actuelles des clients à votre instance d’enregistreur Aurora PostgreSQL tout au long du processus de mise à niveau d’Aurora PostgreSQL. Toutefois, dans les cas suivants, les connexions seront interrompues pour que l’application de correctifs sans durée d’indisponibilité réussisse :

    • Des requêtes ou des transactions de longue durée sont en cours.

    • Des instructions en langage de définition de données (DDL) sont en cours.

    • Des tables temporaires ou des verrous de table sont utilisés

    • Toutes les sessions sont écoutées sur des canaux de notification.

    • Un curseur dont le statut est « WITH HOLD » est en cours d’utilisation.

    • Des connexions TLSv1.1 sont en cours d’utilisation. À partir des versions d’Aurora PostgreSQL ultérieures à 16.1, 15.3, 14.8, 13.11, 12.15 et 11.20, ZDP est pris en charge avec les connexions TLSv1.3.

  • ZDP n’est pas pris en charge dans les cas suivants :

    • Lorsque les clusters de bases de données Aurora PostgreSQL sont configurés en tant qu’Aurora Serverless v1.

    • Lors de la mise à niveau des instances de lecture Aurora.

    • Lors de la mise à niveau des instances de lecture Aurora faisant partie d’un cluster de bases de données globale Aurora dans une région secondaire.

    • Lors des correctifs et mises à niveau du système d’exploitation.

Mise à niveau du moteur Aurora PostgreSQL vers une nouvelle version mineure

Vous pouvez mettre à niveau votre cluster de bases de données Aurora PostgreSQL vers une nouvelle version mineure à l’aide de la console, d’AWS CLI ou de l’API RDS. Avant d’effectuer la mise à niveau, nous vous recommandons de suivre les mêmes bonnes pratiques que celles que nous recommandons pour les mises à niveau de versions majeures. Comme pour les nouvelles versions majeures, les nouvelles versions mineures peuvent également comporter des améliorations de l’optimiseur, telles que des corrections, qui peuvent entraîner des régressions du plan de requête. Pour assurer la stabilité du plan, nous vous recommandons d’utiliser l’extension Query Plan Management (QPM) comme indiqué dans Assurer la stabilité du plan après une mise à niveau majeure de la version.

Pour mettre à niveau la version de moteur de votre cluster de bases de données Aurora PostgreSQL
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse https://console.aws.amazon.com/rds/.

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

  3. Sélectionnez Modify. La page Modify DB cluster (Modifier le cluster DB) s’affiche.

  4. Dans le champ Version du moteur, sélectionnez la nouvelle version.

  5. Choisissez Continuer et vérifiez le récapitulatif des modifications.

  6. Pour appliquer les modifications immédiatement, choisissez Appliquer immédiatement. La sélection de cette option peut entraîner une interruption de service dans certains cas. Pour plus d’informations, consultez Modification d’un cluster de bases de données Amazon Aurora.

  7. Sur la page de confirmation, examinez vos modifications. Si elles sont correctes, choisissez Modifier le cluster pour enregistrer vos modifications.

    Ou choisissez Retour pour revoir vos modifications, ou choisissez Annuler pour les annuler.

Pour mettre à niveau la version de moteur d’un cluster de bases de données, utilisez la commande AWS CLI modify-db-cluster avec les paramètres requis suivants :

  • --db-cluster-identifier : nom de votre cluster de bases de données Aurora PostgreSQL.

  • --engine-version : numéro de version du moteur de base de données vers lequel effectuer la mise à niveau. Pour obtenir des informations sur les versions de moteur valides, utilisez la commande describe-db-engine-versions de l’AWS CLI.

  • --no-apply-immediately : appliquer les modifications pendant le créneau de maintenance suivant. Pour appliquer les modifications immédiatement, utilisez plutôt --apply-immediately.

Pour Linux, macOS ou Unix :

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --engine-version new_version \ --no-apply-immediately

Pour Windows :

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --engine-version new_version ^ --no-apply-immediately

Pour mettre à niveau la version du moteur d’un cluster de bases de données, utilisez l’opération ModifyDBCluster. Spécifiez les paramètres suivants :

  • DBClusterIdentifier : nom du cluster de bases de données, par exemple mydbcluster.

  • EngineVersion : numéro de version du moteur de base de données vers lequel effectuer la mise à niveau. Pour obtenir des informations sur les versions de moteur valides, utilisez l’opération DescribeDBEngineVersions.

  • ApplyImmediately : si des modifications doivent être appliquées immédiatement ou au cours du prochain créneau de maintenance. Pour appliquer les modifications immédiatement, définissez la valeur sur true. Pour appliquer les modifications pendant le créneau de maintenance suivant, définissez la valeur sur false.