Effectuer une mise à niveau d'une 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.

Effectuer une mise à niveau d'une version mineure

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

Avant d'effectuer une mise à niveau d'une version mineure

Nous vous recommandons d'effectuer les actions suivantes pour réduire le temps d'arrêt lors d'une mise à niveau de version mineure :

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

Les mises à niveau et les correctifs des versions mineures ne sont disponibles Régions AWS qu'après 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 apparus après la sortie de la version communautaire mineure ne perturbent pas la stabilité du parc Aurora PostgreSQL.

Si vous activez l'option Activer la mise à niveau automatique des versions mineures, Aurora PostgreSQL met régulièrement à niveau votre cluster de base de données pendant la période 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 votre cluster de base 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 base de données Aurora.

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

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 que vous êtes AWS CLI configuré pour cibler votre valeur par défaut Région AWS.

Pour plus d'informations sur l'option AmVU et sur la façon de modifier votre cluster de base de données Aurora pour l'utiliser, consultez Mises à niveau automatiques des versions mineures pour les clusters de base 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 base 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 base 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 base de données Amazon Aurora.

Mises à niveau de versions mineures et application de correctifs sans temps d'arrêt

Il est possible qu'une panne se produise pendant la mise à niveau d'un cluster de base 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 base 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 temps d'arrêt) 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 base 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'instances de base de données où ZDP est disponible :

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

Au cours du processus de mise à niveau utilisant l'application de correctifs sans temps d'arrêt, 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 tout temps d'arrêt 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 temps d'arrêt 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 temps d'arrêt (ZDP) peut échouer. Par exemple, les modifications de paramètres à l'état pending sur votre cluster de base de données Aurora PostgreSQL ou ses instances interfèrent avec l'application de correctifs sans temps d'arrêt.

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 de l'application de correctifs sans interruption

Les limites suivantes s'appliquent à l'application de correctifs sans interruption de service :

  • ZDP essaie de préserver les connexions client actuelles à votre instance d'écriture 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 temps d'arrêt 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.

    • TLSv11. Les connexions 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 .3. TLSv1

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

    • Lorsque les clusters de base de données Aurora PostgreSQL sont configurés comme Aurora Serverless v1.

    • Lors de la mise à niveau de n'importe quelle instance du lecteur Aurora.

    • Lors de la mise à niveau de toute instance de lecteur Aurora faisant partie d'un cluster de base 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 base de données Aurora PostgreSQL vers une nouvelle version mineure à l'aide de la console, de l'API RDS ou de AWS CLI 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 base de données Aurora PostgreSQL
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à https://console.aws.amazon.com/rds/l'adresse.

  2. Dans le panneau de navigation, choisissez Bases de données, puis le cluster de base 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 du moteur d'un cluster de base de données, utilisez la modify-db-cluster AWS CLI commande avec les paramètres suivants :

  • --db-cluster-identifier : nom de votre cluster de base 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 plus d'informations sur les versions valides du moteur, utilisez la AWS CLI describe-db-engine-versionscommande.

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

Dans Linux, macOS, ou Unix:

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

Dans 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 base de données, utilisez l'DBClusteropération Modifier. 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 plus d'informations sur les versions valides du moteur, utilisez l'opération DBEngineDescribe les versions.

  • 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.