Réplication avec Amazon Aurora PostgreSQL - 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éplication avec Amazon Aurora PostgreSQL

Vous trouverez ci-dessous des informations sur la réplication avec Amazon Aurora PostgreSQL, notamment sur la manière de surveiller et d’utiliser la réplication.

Utilisation de réplicas Aurora

Les réplicas Aurora sont les points de terminaison indépendants d’un cluster de bases de données Aurora, utilisés de préférence pour la mise à l’échelle des opérations de lecture et l’augmentation de la disponibilité. Un cluster de base de données Aurora peut inclure jusqu'à 15 répliques Aurora situées dans les zones de disponibilité de la AWS région du cluster de base de données Aurora.

Le volume de cluster de bases de données est composé de plusieurs copies des données du cluster de bases de données. Cependant, les données du volume de cluster sont représentées comme un seul volume logique à l’instance principale en écriture et aux réplicas Aurora du cluster de bases de données. Pour plus d’informations sur les réplicas Aurora, consultez Réplicas Aurora.

Les réplicas Aurora fonctionnement parfaitement pour le dimensionnement en lecture, car ils sont intégralement dédiés aux opérations de lecture du volume de votre cluster. L’instance de base de données en écriture gère les opérations d’écriture. Le volume du cluster est partagé entre toutes les instances de votre cluster de bases de données Aurora PostgreSQL. Ainsi, aucun travail supplémentaire n’est nécessaire pour répliquer une copie des données pour chaque réplica Aurora.

Avec Aurora PostgreSQL, quand un réplica Aurora est supprimé, le point de terminaison de son instance est supprimé immédiatement et le réplica Aurora est supprimé du point de terminaison du lecteur. S’il y a des instructions qui s’exécutent sur le réplica Aurora en cours de suppression, une période de grâce de trois minutes est accordée. Les instructions existantes peuvent se terminer élégamment pendant la période de grâce. Lorsque la période de grâce se termine, le réplica Aurora est arrêté et supprimé.

Les clusters de base de données Aurora PostgreSQL prennent en charge les répliques Aurora dans AWS différentes régions, en utilisant la base de données globale Aurora. Pour de plus amples informations, veuillez consulter Utilisation d’Amazon Aurora Global Database.

Note

Avec la fonctionnalité de disponibilité en lecture, si vous voulez redémarrer les réplicas Aurora dans le cluster de bases de données, vous devez le faire manuellement. Pour les clusters de bases de données créés avant cette fonction, le redémarrage de l’instance de base de données d’écriture redémarre automatiquement les réplicas Aurora. Le redémarrage automatique rétablit un point d'entrée qui garantit la read/write cohérence au sein du cluster de base de données.

Amélioration de la disponibilité en lecture des réplicas Aurora

Aurora PostgreSQL améliore la disponibilité en lecture dans le cluster de bases de données en répondant en continu aux demandes de lecture lorsque l’instance de base de données d’écriture redémarre ou lorsque le réplica Aurora n’est pas en mesure de suivre le trafic d’écriture.

La fonction de disponibilité en lecture est disponible par défaut sur les versions suivantes d’Aurora PostgreSQL :

  • 16.1 et toutes les versions ultérieures

  • 15.2 et versions 15 ultérieures

  • 14.7 et versions 14 ultérieures

  • 13.10 et versions 13 ultérieures

  • 12.14 et versions 12 ultérieures

La fonction de disponibilité en lecture est prise en charge par la base de données globale Aurora dans les versions suivantes :

  • 16.1 et toutes les versions ultérieures

  • 15.4 et versions 15 ultérieures

  • 14.9 et versions 14 ultérieures

  • 13.12 et versions 13 ultérieures

  • 12.16 et versions 12 ultérieures

Pour utiliser la fonction de disponibilité en lecture pour un cluster de bases de données créé sur l’une de ces versions avant ce lancement, redémarrez l’instance d’enregistreur du cluster de bases de données.

Lorsque vous modifiez les paramètres statiques de votre cluster de bases de données Aurora PostgreSQL, vous devez redémarrer l’instance d’enregistreur pour que les modifications des paramètres soient prises en compte. Par exemple, vous devez redémarrer l’instance d’enregistreur lorsque vous définissez la valeur de shared_buffers. Grâce à la fonctionnalité de disponibilité en lecture des réplicas Aurora, le cluster de bases de données assure une disponibilité améliorée, ce qui réduit l’impact dont il fait l’objet lorsque l’instance d’enregistreur redémarre. Les instances de lecture ne redémarrent pas et continuent de répondre aux demandes de lecture. Pour appliquer les modifications de paramètres statiques, redémarrez chaque instance de lecteur individuelle.

Le réplica Aurora d’un cluster de bases de données Aurora PostgreSQL peut remédier à des erreurs de réplication telles que le redémarrage de l’enregistreur, le basculement, la lenteur de la réplication et les problèmes de réseau en rétablissant rapidement l’état de la base de données en mémoire après la reconnexion avec l’enregistreur. Cette approche permet aux instances des réplicas Aurora d’être cohérentes avec les dernières mises à jour de stockage alors que la base de données client est toujours disponible.

Les transactions en cours qui entrent en conflit avec la restauration de la réplication peuvent recevoir une erreur, mais le client peut réessayer ces transactions une fois que les lecteurs s’alignent sur l’enregistreur.

Surveillance des réplicas Aurora

Vous pouvez surveiller les réplicas Aurora lors d’une récupération suite à une déconnexion de l’enregistreur. Utilisez les métriques ci-dessous pour vérifier les informations les plus récentes concernant l’instance de lecteur et pour suivre les transactions en lecture seule en cours de traitement.

  • La aurora_replica_status fonction est mise à jour pour renvoyer le maximum up-to-date d'informations pour l'instance de lecteur lorsqu'elle est toujours connectée. L’horodatage de la dernière mise à jour dans aurora_replica_status est toujours vide pour la ligne correspondant à l’instance de base de données sur laquelle la requête est exécutée. Cela indique que l’instance de lecteur possède les données les plus récentes.

  • Lorsque le réplica Aurora se déconnecte de l’instance d’enregistreur, puis se reconnecte, l’événement de base de données suivant est émis :

    Read replica has been disconnected from the writer instance and reconnected.

  • Lorsqu’une requête en lecture seule est annulée en raison d’un conflit de récupération, vous pouvez voir un ou plusieurs des messages d’erreur suivants dans le journal des erreurs de la base de données :

    Canceling statement due to conflict with recovery.

    User query may not have access to page data to replica disconnect.

    User query might have tried to access a file that no longer exists.

    When the replica reconnects, you will be able to repeat your command.

Limitations

Les réplicas Aurora avec la fonctionnalité de disponibilité en lecture sont soumis aux limitations suivantes :

  • Les réplicas Aurora du cluster de bases de données secondaire peuvent redémarrer si les données ne peuvent pas être diffusées depuis l’instance d’enregistreur pendant la restauration de la réplication.

  • Les réplicas Aurora ne prennent pas en charge la récupération de la réplication en ligne si celle-ci est déjà en cours et doit redémarrer.

  • Les réplicas Aurora redémarrent quand votre instance de base de données approche du bouclage de l’ID de transaction. Pour plus d’informations sur le bouclage de l’ID de transaction, consultez Prévention des échecs de bouclage de l’ID de transaction.

  • Les réplicas Aurora peuvent redémarrer lorsque le processus de réplication est bloqué dans certaines circonstances.

Surveillance de la réplication Aurora PostgreSQL

Le dimensionnement en lecture et la haute disponibilité dépendent d’un temps de retard minimal. Vous pouvez surveiller le retard d'une réplique Aurora par rapport à l'instance de base de données Writer de votre cluster de bases de données Aurora PostgreSQL en surveillant la métrique Amazon. CloudWatch ReplicaLag Comme les réplicas Aurora lisent à partir du même volume de cluster que l’instance de base de données en écriture, la métrique ReplicaLag a une signification différente pour un cluster de bases de données Aurora PostgreSQL. La métrique ReplicaLag d’un réplica Aurora indique le retard du cache de page du réplica Aurora par rapport à celui de l’instance de base de données en écriture.

Pour plus d'informations sur la surveillance des instances et des CloudWatch métriques RDS, consultezSurveillance des métriques d’un cluster de bases de données Amazon Aurora.