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.
Défaillance d'une Multi-AZ instance de base de données pour Amazon RDS
Si une interruption planifiée ou imprévue de votre Multi-AZ instance de base de données résulte d'un défaut d'infrastructure, Amazon RDS passe automatiquement à une réplique de secours dans une autre zone de disponibilité.
La durée du basculement dépend de l'activité de la base de données et d'autres conditions au moment où l'instance de base de données primaire est devenue indisponible. Les durées de basculement oscillent généralement entre 60 et 120 secondes. Cependant, les transactions importantes ou les processus de récupération longs peuvent augmenter le temps de basculement. Lorsque le basculement est terminé, un temps supplémentaire peut être nécessaire pour que la console RDS reflète la nouvelle zone de disponibilité.
Note
Vous pouvez forcer un basculement manuellement lorsque vous redémarrez une Multi-AZ instance de base de données. Pour de plus amples informations, veuillez consulter Redémarrage d'une instance de base de données cluster de base de données.
Étant donné qu'Amazon RDS gère automatiquement les basculements, vous pouvez reprendre les opérations de base de données aussi rapidement que possible sans intervention administrative. L'instance de base de données primaire bascule automatiquement vers le réplica de secours si l'une des conditions décrites dans le tableau suivant se produit : Vous pouvez consulter les raisons du basculement dans le journal des événements.
| Raison du basculement | Description |
|---|---|
Le système d'exploitation sous-jacent à l'instance de base de données RDS fait l'objet d'un correctif dans le cadre d'une opération hors connexion. |
Un basculement a été déclenché pendant la fenêtre de maintenance d'un correctif du système d'exploitation ou d'une mise à jour de sécurité. Pour de plus amples informations, veuillez consulter Entretien d’une instance de base de données. |
L'hôte principal de l' Multi-AZ instance RDS est défectueux. |
Le déploiement de l' Multi-AZ instance de base de données a détecté une instance de base de données principale altérée et a basculé. |
L'hôte principal de l' Multi-AZ instance RDS est inaccessible en raison d'une perte de connectivité réseau. |
La surveillance RDS a détecté une défaillance de la capacité d'accessibilité du réseau à l'instance de base de données primaire et a déclenché un basculement. |
L'instance RDS a été modifiée par le client. |
Une modification d'instance de base de données RDS a déclenché un basculement. Pour de plus amples informations, veuillez consulter Modification d'une instance de base de données Amazon RDS. |
L'instance Multi-AZ principale RDS est occupée et ne répond pas. |
L'instance de base de données primaire ne répond pas. Nous vous recommandons d'effectuer les opérations suivantes :
Pour plus d'informations sur ces recommandations, consultez la section Surveillance des outils d’Amazon RDS et Bonnes pratiques relatives à Amazon RDS.. |
Le volume de stockage sous-jacent à l'hôte principal de l' Multi-AZ instance RDS a connu une défaillance. |
Le déploiement de l' Multi-AZ instance de base de données a détecté un problème de stockage sur l'instance de base de données principale et a échoué. |
L'utilisateur a demandé un basculement de l'instance de base de données. |
Vous avez redémarré l'instance de base de données et choisi l'option Redémarrer avec basculement. Pour de plus amples informations, veuillez consulter Redémarrage d'une instance de base de données cluster de base de données. |
Pour déterminer si votre Multi-AZ instance de base de données a échoué, vous pouvez effectuer les opérations suivantes :
Configurez les abonnements aux événements de base de données de sorte qu’ils vous notifient par e-mail ou SMS qu’un basculement a été initié. Pour plus d’informations sur les événements, consultez Utiliser la notification d’événements d’Amazon RDS.
Examinez vos événements de base de données à l'aide de la console RDS ou d'opérations d'API.
Consultez l'état actuel du déploiement de votre Multi-AZ instance de base de données à l'aide de la console RDS ou des opérations d'API.
Pour savoir comment répondre aux basculements, réduire le temps de récupération et découvrir d’autres bonnes pratiques pour Amazon RDS, consultez Bonnes pratiques relatives à Amazon RDS..
Configuration de la durée de vie de la JVM pour les recherches de nom DNS
Le mécanisme de basculement modifie automatiquement l'enregistrement DNS de l'instance de base de données pour pointer vers l'instance de base de données en attente. Par conséquent, vous devez rétablir toutes les connexions existantes à votre instance de base de données. Dans un environnement de machine virtuelle Java, vous devrez peut-être reconfigurer les paramètres de votre machine virtuelle Java, en raison du fonctionnement du mécanisme de mise en cache Java du DNS.
La machine virtuelle Java met en cache les recherches de noms DNS. Lorsque la JVM résout un nom d'hôte en adresse IP, elle met en cache l'adresse IP pendant une période définie appelée time-to-live (TTL, durée de vie).
Étant donné que les AWS ressources utilisent des entrées de nom DNS qui changent occasionnellement, nous vous recommandons de configurer votre JVM avec une valeur TTL ne dépassant pas 60 secondes. De cette manière, lorsque l'adresse IP d'une ressource change, votre application peut recevoir et utiliser la nouvelle adresse IP de la ressource en interrogeant le DNS.
Dans certaines configurations Java, la durée de vie par défaut de la JVM est définie de façon à ce que la JVM n'actualise jamais les entrées DNS tant qu'elle n'est pas redémarrée. Ainsi, si l'adresse IP d'une AWS ressource change alors que votre application est toujours en cours d'exécution, elle ne peut pas utiliser cette ressource tant que vous n'avez pas redémarré manuellement la JVM et que les informations IP mises en cache ne sont pas actualisées. Dans ce cas, il est essentiel de définir la durée de vie de la JVM de façon à ce que ses informations IP mises en cache soient régulièrement actualisées.
Vous pouvez obtenir la durée de vie par défaut de la JVM en récupérant la valeur de la propriété networkaddress.cache.ttl
String ttl = java.security.Security.getProperty("networkaddress.cache.ttl");
Note
La durée de vie par défaut peut varier en fonction de la version de votre JVM et selon qu’un gestionnaire de sécurité est installé ou non. De nombreuses JVM fournissent une durée de vie par défaut de moins de 60 secondes. Si c'est le cas pour la JVM que vous utilisez et que vous n'avez pas recours à un gestionnaire de sécurité, vous pouvez ignorer le reste de cette rubrique. Pour plus d’informations sur les responsables de la sécurité dans Oracle, consultez The Security Manager
Pour modifier la durée de vie de la JVM, définissez la valeur de la propriété networkaddress.cache.ttl. Utilisez l'une des méthodes suivantes selon vos besoins :
-
Pour définir globalement la valeur de la propriété pour toutes les applications qui utilisent la JVM, définissez
networkaddress.cache.ttldans le fichier$JAVA_HOME/jre/lib/security/java.security.networkaddress.cache.ttl=60 -
Pour définir la propriété localement pour votre application uniquement, définissez
networkaddress.cache.ttldans le code d'initialisation de votre application avant que les connexions réseau ne soient établies.java.security.Security.setProperty("networkaddress.cache.ttl" , "60");