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

Dernière mise à jour : 19/07/2022

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 :