Pourquoi mon instance DB Amazon RDS a-t-elle redémarré, s’est-elle restaurée ou a-t-elle basculé ?

Lecture de 10 minute(s)
0

Je souhaite connaître la cause principale du basculement multi-AZ et du redémarrage de mon instance DB Amazon Relational Database Service (Amazon RDS).

Courte description

L'instance de base de données Amazon RDS effectue automatiquement un redémarrage dans les conditions suivantes :

  • Il existe une perte de disponibilité dans la zone de disponibilité principale ou une charge de travail excessive en raison d'un goulot d'étranglement des performances et d'un conflit des ressources.
  • Il existe un problème d'infrastructure sous-jacent avec l'instance principale, tel qu'une perte de connectivité réseau avec l'instance principale, un problème d'unité de calcul sur l'instance principale ou un problème de stockage sur l'instance principale.
  • Le type de classe de l'instance DB est modifié dans le cadre de l'activité de mise à l’échelle verticale de l'instance DB.
  • L'hôte sous-jacent de l'instance DB RDS fait l'objet d'un correctif logiciel pendant une période de maintenance spécifique. Pour obtenir des informations supplémentaires, consultez les sections Maintenance d'une instance DB et Mise à jour de la version du moteur d'une instance DB.
  • Vous avez lancé un redémarrage manuel de l'instance DB à l'aide des options Redémarrer ou Redémarrer avec basculement.

Lorsque l'instance DB présente des problèmes potentiels et ne répond pas aux surveillances de l'état RDS, RDS lance automatiquement une restauration mono-AZ pour le déploiement mono-AZ et un basculement multi-AZ pour le déploiement multi-AZ. Ensuite, l'instance DB est redémarrée afin que vous puissiez reprendre les opérations de base de données le plus rapidement possible sans intervention administrative.

Solution

Pour identifier la cause de la panne, consultez les journaux et mesures suivants pour votre instance DB RDS.

Événements Amazon RDS

Pour identifier la cause principale d'une panne non planifiée dans votre instance, consultez tous les évènements Amazon RDS au cours des dernières 24 heures. Tous les évènements sont enregistrés à l'heure UTC/GMT par défaut. Pour stocker les évènements plus longtemps, envoyez les évènements Amazon RDS vers Amazon CloudWatch Events. Pour plus d'informations, consultez Création d'une règle qui se déclenche sur un évènement Amazon RDS. Lorsque votre instance redémarre, l'un des messages suivants s'affiche dans les notifications d'événements RDS :

  • L'instance RDS a été modifiée par le client : ce message indique que le basculement a été lancé consécutivement à une modification d'instance RDS.

  • Application de la modification à la classe d'instance de base de données : ce message d'événement RDS indique que le type de classe d'instance DB a changé.

    • Les déploiements mono-AZ deviennent indisponibles pendant quelques minutes au cours de cette opération de mise à l'échelle.
    • Les déploiements multi-AZ ne sont pas disponibles pendant le temps nécessaire au basculement de l'instance. Ce processus prend généralement environ 60 secondes. En effet, la base de données de secours est mise à jour avant que la base de données nouvellement dimensionnée ne subisse un basculement. Votre base de données redémarre et le moteur effectue la récupération pour s'assurer que votre base de données reste dans un état cohérent.
  • L'utilisateur a demandé un basculement de l'instance DB : ce message indique que vous avez lancé un redémarrage manuel de l'instance DB à l'aide de l'option Redémarrer ou Redémarrer avec basculement.

  • L'hôte principal de l'instance multi-AZ RDS n'est pas en bon état : cette raison indique un problème de matériel transitoire qui a entraîné la perte de communication avec l'instance principale. Ce problème a peut-être rendu l'instance défectueuse, car le système de surveillance RDS n'a pas pu communiquer avec l'instance RDS pour effectuer les surveillances de l'état.

  • L'hôte principal de l'instance RDS Multi-AZ est inaccessible en raison d'une perte de connectivité réseau : cette raison indique que le basculement multi-AZ a été causé par un problème de réseau transitoire qui a affecté l'hôte principal de votre déploiement multi-AZ. Le système de surveillance interne a détecté ce problème et a lancé un basculement.

  • L'instance principale RDS multi-AZ est occupée et ne répond pas, l'activation de l'instance multi-AZ a démarré ou L'activation de l'instance multi-AZ est terminée. Le journal des évènements affiche ces messages dans les cas suivants :

    • L'instance DB principale ne répond pas.
    • Une pénurie de mémoire après une consommation excessive de mémoire dans la base de données a empêché le système de surveillance RDS de contacter l'hôte sous-jacent. Par conséquent, la base de données redémarre de façon proactive via notre système de surveillance.
    • L'instance DB a rencontré des problèmes de réseau intermittents avec l'hôte sous-jacent.
    • L'instance a subi une charge de base de données. Dans ce cas, vous remarquerez peut-être des pics dans les mesures CloudWatch CPUUtilization, DatabaseConnections, les mesures IOPS et les détails du débit. Vous remarquerez peut-être également une diminution de la mémoire libre.
  • Instance de base de données corrigée : ce message indique que l'instance DB a subi une mise à jour de version mineure pendant une période de maintenance car le paramètre Mise à jour automatique des versions mineures est activé sur l'instance.

Mesures CloudWatch

Affichez les mesures CloudWatch de votre instance Amazon RDS pour vérifier si le problème de chargement de la base de données est à l'origine de la panne. Pour plus d'informations, consultez Surveillance des mesures Amazon RDS avec Amazon CloudWatch. Vérifiez les pics dans les mesures clés suivantes qui indiquent la disponibilité et l'état de votre instance RDS :

  • DatabaseConnections
  • CPUUtilization
  • FreeableMemory
  • WriteIOPS
  • ReadIOPS
  • ReadThroughput
  • WriteThroughput
  • DiskQueueDepth

Surveillance améliorée

Amazon RDS fournit des mesures issues de la surveillance améliorée dans votre compte Amazon CloudWatch Logs. Vous bénéficiez ainsi de mesures en temps réel pour le système d'exploitation sur lequel votre instance DB est exécutée. Vous pouvez afficher toutes les mesures système et informations de processus de vos instances DB sur la console.

Vous pouvez définir la granularité de la fonction de surveillance améliorée sur 1, 5, 10, 15, 30 ou 60.

Pour activer la surveillance améliorée pour votre instance Amazon RDS, consultez Configuration et activation de la surveillance améliorée.

Informations sur les performances

Le tableau de bord des informations sur les performances de la base de données qui peuvent vous aider à analyser et à résoudre les problèmes de performances. Vous pouvez également identifier les requêtes et les événements d'attente qui consomment trop de ressources sur votre instance DB. Les informations de performance collectent les données au niveau de la base de données et les affiche dans le tableau de bord de Performance Insights. Pour plus d'informations, consultez Surveillance de la charge de base de données avec Performance Insights sur Amazon RDS. Lorsqu'une augmentation de la consommation de ressources est générée du côté de l'application, utilisezSupport SQL ID dans votre tableau de bord Performance Insights et associez-le à la requête correspondante. Il est recommandé d'utiliser ces informations pour ajuster les performances de la requête et optimiser la charge de travail en suivant les conseils de votre administrateur de base de données :

  1. Ouvrez la console Amazon RDS.
  2. Dans le panneau de navigation, sélectionnez Performance Insights .
  3. Sur la page Performance Insights, sélectionnez votre instance DB. Vous pouvez afficher le tableau de bord Performance Insights de cette instance DB.
  4. Sélectionnez la période pendant laquelle le problème s'est produit.
  5. Choisissez l'onglet Top SQL.
  6. Cliquez sur l'icône des paramètres, puis activez l’identifiant d'assistance.
  7. Sélectionnez Save (Enregistrer).

Journaux de base de données RDS

Pour résoudre la cause de la panne de votre instance DB Amazon RDS, vous pouvez afficher, télécharger ou surveiller les fichiers journaux de la base de données à l'aide de la console Amazon RDS ou des opérations d'API Amazon RDS. Vous pouvez également interroger les fichiers journaux de la base de données qui sont chargés dans des tables de la base de données. Pour plus d'informations, consultez Contrôle des fichiers journaux de d’Amazon RDS ..

Gardez à l'esprit les bonnes pratiques suivantes lorsque vous faites face à des pannes d'instance RDS :

  • Activez le déploiement multi-AZ sur votre instance afin de réduire les temps d'arrêt en cas de panne. Avec un déploiement Multi-AZ, RDS fournit et maintient automatiquement une réplique de secours synchrone dans une zone de disponibilité différente ou deux copies de secours lisibles. Pour en savoir plus, consultez Amazon RDS Multi-AZ.
  • Ajustez la période de maintenance de l'instance DB selon vos préférences. L'instance DB n'est pas disponible pendant cette période uniquement si les modifications du système, telles qu'une modification de la classe d'instance DB, sont appliquées et nécessitent une interruption, et uniquement pendant la durée minimale requise pour effectuer les modifications nécessaires. Pour plus d'informations, consultez Maintenance d'une instance DB. Si vous ne souhaitez pas que vos instances soient soumises à des mises à jour automatiques de versions mineures, vous pouvez désactiver cette option. Pour plus d'informations, consultez Mise à jour automatique des versions mineures du moteur.
  • Assurez-vous qu’une quantité suffisante de ressources sont allouées à votre base de données pour l’exécution des requêtes. Avec Amazon RDS, la quantité de ressources allouées dépend du type d'instance. De plus, certaines requêtes comme les procédures stockées peuvent prendre une quantité illimitée de mémoire à l'exécution. Par conséquent, si l'instance redémarre fréquemment en raison d'un manque de ressources, envisagez de faire évoluer votre classe d'instance de base de données pour répondre aux demandes croissantes de vos applications.
  • Pour éviter la limitation des instances, configurez les alarmes Amazon CloudWatch sur les mesures RDS clés qui indiquent la disponibilité et l'état de vos instances RDS. Par exemple, vous pouvez définir une alarme CloudWatch sur la mesure FreeableMemory pour recevoir une notification lorsque la mémoire disponible atteint 95 %. Il est recommandé de maintenir au moins 5 % de la mémoire de l'instance libre. Pour plus d’informations, consultez Comment filtrer des journaux de surveillance améliorés CloudWatch Logs pour générer des mesures personnalisées et automatisées pour Amazon RDS ?
  • Pour être averti en cas de basculement sur votre instance RDS, abonnez-vous aux notifications d'évènements Amazon RDS. Pour plus d'informations, consultez Comment créer un abonnement aux évènements Amazon RDS ?
  • Pour optimiser les performances de la base de données, assurez-vous que vos requêtes soient correctement réglées. À défaut, vous risquez de rencontrer des problèmes de performances et de longs temps d'attente.
  • Pour résoudre tout type de charge en termes de CPU, de mémoire ou de toute autre ressource, consultez Comment résoudre les problèmes d'utilisation élevée du processeur pour Amazon RDS ou Amazon Aurora PostgreSQL ?

Informations connexes

Bonnes pratiques pour Amazon RDS

Quels facteurs peuvent avoir une incidence sur mes temps d'arrêt ou les performances de ma base de données dans Amazon RDS ?

Pourquoi mon instance de base de données Amazon RDS a-t-elle fait l'objet d'un basculement ?

Comment limiter les temps d'arrêt lors de la maintenance Amazon RDS ?

Comment vérifier les requêtes en cours d'exécution et diagnostiquer les problèmes de consommation de ressources pour mon instance Amazon RDS ou Amazon Aurora PostgreSQL-Compatible Edition ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans