Connexion à un cluster de base de données multi-AZ - Amazon Relational Database Service

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.

Connexion à un cluster de base de données multi-AZ

Un cluster de base de données multi-AZ compte trois instances de base de données (et non une). Chaque connexion est gérée par une instance de base de données spécifique. Lorsque vous vous connectez à un cluster de base de données multi-AZ, le nom d'hôte et le port que vous spécifiez pointent vers un nom de domaine complet appelé point de terminaison. Le cluster de base de données multi-AZ utilise le mécanisme du point de terminaison pour faire abstraction de ces connexions. Vous n'avez donc pas besoin de spécifier exactement à quelle instance de base de données du cluster de base de données vous souhaitez vous connecter. Ainsi, vous n'avez pas besoin de coder en dur tous les noms d'hôtes ou d'écrire votre propre logique de réacheminement des connexions lorsque certaines instances de base de données ne sont pas disponibles.

Le point de terminaison d'écriture se connecte à l'instance de base de données de rédacteur du cluster de base de données, qui prend en charge les opérations de lecture et d'écriture. Le point de terminaison du lecteur se connecte à l'une des deux instances de base de données de lecteur, qui ne prennent en charge que les opérations de lecture.

En utilisant des points de terminaison, vous pouvez mapper chaque connexion à l'instance ou groupe d'instances de base de données approprié, selon votre cas d'utilisation. Par exemple, pour exécuter des instructions DDL et DDM, vous pouvez vous connecter à l'instance de base de données qui correspond à l'instance de base de données d'écriture. Pour effectuer des requêtes, vous pouvez vous connecter au point de terminaison du lecteur, le cluster de base de données Multi-AZ gérant automatiquement les connexions entre les instances de base de données de lecteur. Pour le diagnostic et le réglage, vous pouvez vous connecter au point de terminaison d'une instance de base de données spécifique pour en examiner les détails.

Pour en savoir plus sur la connexion à une instance de base de données, consultez Connexion à une instance de base de données Amazon RDS.

Types de points de terminaison de cluster de base de données multi-AZ

Un point de terminaison est représenté par un identificateur unique qui contient une adresse d'hôte. Voici types de points de terminaison accessibles à un cluster de base de données multi-AZ :

Point de terminaison de cluster

Dans le cas d'un cluster de base de données multi-AZ, un point de terminaison de cluster (ou point de terminaison d'écriture) se connecte à l'instance de base de données d'écriture active du cluster. Ce point de terminaison est le seul à pouvoir exécuter des opérations d'écriture, telles que des instructions DDL et DDM. Ce point de terminaison peut également effectuer des opérations de lecture.

Chaque cluster de base de données multi-AZ dispose d'un point de terminaison de cluster et d'une instance de base de données d'écriture.

Le point de terminaison du cluster est destiné à toutes les opérations d'écriture sur le cluster de bases de données, y compris les insertions, les mises à jour, les suppressions et les modifications de langage de définition de données (DDL). Vous pouvez aussi utiliser le point de terminaison de cluster pour les opérations de lecture, par exemple les requêtes.

En cas de défaillance de l'instance de base de données d'écriture active d'un cluster de base de données, le cluster de base de données multi-AZ bascule automatiquement vers une nouvelle instance de base de données d'écriture. Pendant le basculement, le cluster de base de données continue de traiter les demandes de connexion au point de terminaison de cluster à partir de la nouvelle instance de base de données d'écriture, avec une interruption de service minime.

L'exemple suivant illustre un point de terminaison de cluster pour un cluster de base de données multi-AZ.

mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com

Point de terminaison du lecteur

Dans le cas d'un cluster de base de données Multi-AZ, un point de terminaison du lecteur prend en charge les connexions en lecture seule au cluster de base de données. Utilisez le point de terminaison de lecteur pour les opérations de lecture, par exemple les requêtes SELECT. En traitant ces instructions sur les instances de base de données de lecture, ce point de terminaison réduit la surcharge au niveau de l'instance de base de données d'écriture. Il aide également le cluster à mettre à l'échelle la capacité à traiter simultanément les requêtes SELECT. Chaque cluster de base de données multi-AZ dispose d'un point de terminaison de lecteur.

Le point de terminaison du lecteur répartit la charge de chaque demande de connexion entre les instances de base de données de lecteur. Lorsque vous utilisez le point de terminaison du lecteur pour une session, vous pouvez uniquement exécuter des instructions en lecture seule, telles que SELECT, dans cette session.

L'exemple suivant illustre un point de terminaison de lecteur pour un cluster de base de données multi-AZ. L'intention de lecture seule d'un point de terminaison de lecteur est indiquée par le suffixe -ro qui figure dans le nom du point de terminaison du cluster.

mydbcluster.cluster-ro-123456789012.us-east-1.rds.amazonaws.com

Point de terminaison d'instance

Un point de terminaison d'instance se connecte à une instance de base de données spécifique dans un cluster de base de données multi-AZ. Chaque instance de bases de données d'un cluster de bases de données a son propre point de terminaison d'instance unique. Par conséquent, il existe un point de terminaison d'instance pour l'instance de base de données d'écriture active du cluster de base de données, et un point de terminaison d'instance pour chaque instance de base de données de lecture du cluster de base de données.

Le point de terminaison d'instance permet de contrôler directement les connexions au cluster de base de données. Cela vous permet de gérer les cas où l'utilisation du point de terminaison de cluster ou du point de terminaison de lecteur n'est pas appropriée. Par exemple, votre application client peut exiger une répartition de charge plus précis en fonction de la charge de travail. Dans ce cas, vous pouvez configurer plusieurs clients pour qu'ils se connectent à différentes instances de base de données de lecture au sein d'un cluster de base de données afin de distribuer les charges de travail en lecture.

L'exemple suivant illustre un point de terminaison d'instance pour une instance de base de données au sein d'un cluster de base de donnes multi-AZ.

mydbinstance.123456789012.us-east-1.rds.amazonaws.com

Affichage des points de terminaison d'un cluster de base de données multi-AZ

Dans le AWS Management Console, vous pouvez voir le point de terminaison du cluster et le point de terminaison du lecteur sur la page de détails de chaque cluster de base de données multi-AZ. La page de détails de chaque instance de base de données présente le point de terminaison d'instance.

Avec le AWS CLI, vous pouvez voir les points de terminaison du rédacteur et du lecteur dans la sortie de la describe-db-clusterscommande. Par exemple, la commande suivante affiche les attributs du point de terminaison pour tous les clusters de votre AWS région actuelle.

aws rds describe-db-cluster-endpoints

Avec l'API Amazon RDS, vous pouvez récupérer les points de terminaison en appelant l'action ClusterEndpointsDescribeDB. La sortie présente également les points de terminaison du cluster de base de données Amazon Aurora, le cas échéant.

Utilisation du point de terminaison du cluster

Chaque cluster de base de données multi-AZ intègre un point de terminaison de cluster, dont le nom et les autres attributs sont gérés par Amazon RDS. Vous ne pouvez pas créer, supprimer ni modifier ce type de point de terminaison.

Le point de terminaison de cluster vous permet d'administrer votre cluster de base de données, d'effectuer des opérations ETL (extraction, transformation et chargement) ou de développer et tester des applications. Le point de terminaison de cluster se connecte à l'instance de base de données d'écriture du cluster. L'instance de base de données d'écriture est la seule instance de base de données dans laquelle vous pouvez créer des tables et des index, exécuter des instructions INSERT et effectuer d'autres opérations DDL et DML.

L'adresse IP physique à laquelle renvoie le point de terminaison du cluster change lorsque le mécanisme de basculement promeut une nouvelle instance de base de données au rang d'instance principale de base de données d'écriture du cluster. Si vous utilisez une forme quelconque de regroupement de connexions ou de multiplexage, soyez prêt à vider ou à réduire les informations time-to-live DNS mises en cache. Cette technique vous empêche d'essayer d'établir une connexion en lecture/écriture à une instance de base de données qui est devenue indisponible ou qui n'est plus qu'en lecture seule après un basculement.

Utilisation du point de terminaison du lecteur

Le point de terminaison de lecteur vous sert pour les connexions en lecture seule au cluster de base de données multi-AZ. Ce point de terminaison aide votre cluster de base de données à gérer une charge de travail exigeante en requêtes. Le point de terminaison du lecteur est le point de terminaison que vous fournissez aux applications qui créent les rapports ou qui effectuent d'autres opérations en lecture seule sur le cluster. Le point de terminaison du lecteur envoie des connexions aux instances de base de données de lecteur disponibles dans un cluster de base de données Multi-AZ.

Chaque cluster multi-AZ intègre un point de terminaison de lecteur, dont le nom et les autres attributs sont gérés par Amazon RDS. Vous ne pouvez pas créer, supprimer ni modifier ce type de point de terminaison.

Utilisation des points de terminaison d'instance

Chaque instance de base de données d'un cluster de base de données multi-AZ dispose de son propre point de terminaison d'instance intégré, dont le nom et les autres attributs sont gérés par Amazon RDS. Vous ne pouvez pas créer, supprimer ni modifier ce type de point de terminaison. Avec un cluster de base de données multi-AZ, vous utilisez généralement plus souvent les points de terminaison d'écriture et de lecture que les points de terminaison d'instance.

Dans le day-to-day cadre des opérations, la principale méthode d'utilisation des points de terminaison d'instance consiste à diagnostiquer les problèmes de capacité ou de performance qui affectent une instance de base de données spécifique dans un cluster de base de données multi-AZ. Lorsque vous êtes connecté à une instance de base de données spécifique, vous pouvez examiner ses variables de statut, ses métriques, etc. Cette approche vous permet de déterminer en quoi le comportement de cette instance de base de données se distingue de celui des autres instances de base de données du cluster.

Les points de terminaison de base de données multi-AZ et la haute disponibilité

Dans le cas des clusters de base de données Multi-AZ où la haute disponibilité est importante, utilisez le point de terminaison d'écriture pour les opérations de lecture/écriture ou les connexions à usage général et le point de terminaison du lecteur pour les connexions en lecture seule. Les points de terminaison de l'enregistreur et du lecteur gèrent le basculement d'instance de base de données mieux que ne le font les points de terminaison d'instance. Contrairement aux points de terminaison d'instance, les points de terminaison de l'enregistreur et du lecteur modifient automatiquement l'instance de base de données à laquelle ils se connectent si une instance de base de données de votre cluster devient indisponible.

En cas de défaillance de l'instance de base de données d'écriture d'un cluster de base de données, Amazon RDS bascule automatiquement sur une nouvelle instance de base de données d'écriture. Une instance de base de données de lecture est alors promue au rang d'instance de base de données d'écriture. Si un basculement échoue, vous pouvez utiliser le point de terminaison d'écriture pour vous reconnecter à l'instance de base de données d'écriture nouvellement promue. Vous pouvez également utiliser le point de terminaison du lecteur pour vous reconnecter à l'une des instances de base de données de lecture du cluster de base de données. Pendant le basculement, le point de terminaison du lecteur peut brièvement diriger les connexions vers la nouvelle instance de base de données d'écriture d'un cluster de base de données après qu'une instance de base de données de lecture a été promue au rang de nouvelle instance de base de données d'écriture. Si vous concevez votre propre logique d'application pour gérer les connexions de point de terminaison d'instance, vous pouvez découvrir manuellement ou par programmation l'ensemble d'instances de base de données disponibles dans le cluster de base de données.

Connexion à des clusters de bases de données multi-AZ avec les pilotes AWS

La AWS suite de pilotes a été conçue pour accélérer les temps de basculement et de basculement, ainsi que pour l'authentification avec AWS Secrets Manager, AWS Identity and Access Management (IAM) et l'identité fédérée. Les AWS pilotes s'appuient sur la surveillance de l'état du cluster de bases de données et sur la connaissance de la topologie du cluster pour déterminer le nouveau rédacteur. Cette approche réduit les temps de basculement et de basculement à un chiffre, contre des dizaines de secondes pour les pilotes open source.

À mesure que de nouvelles fonctionnalités de service sont introduites, l'objectif de la AWS suite de pilotes est de fournir un support intégré pour ces fonctionnalités de service.

Connexion à des clusters de bases de données multi-AZ avec le pilote JDBC Amazon Web Services (AWS)

Le pilote JDBC Amazon Web Services (AWS) est conçu comme un wrapper JDBC avancé pour aider les applications à tirer parti des fonctionnalités des bases de données en cluster. Ce wrapper complète et étend les fonctionnalités d'un pilote JDBC existant. Le pilote est compatible avec les pilotes communautaires suivants :

  • Connecteur MySQL/J

  • MariaDB Connector/J

  • PGJDBC

Pour installer le pilote AWS JDBC, ajoutez le fichier .jar du pilote AWS JDBC (situé dans l'applicationCLASSPATH) et conservez les références au pilote communautaire correspondant. Mettez à jour le préfixe d'URL de connexion correspondant comme suit :

  • jdbc:mysql:// sur jdbc:aws-wrapper:mysql://

  • jdbc:mariadb:// sur jdbc:aws-wrapper:mariadb://

  • jdbc:postgresql:// sur jdbc:aws-wrapper:postgresql://

Pour plus d'informations sur le pilote AWS JDBC et des instructions complètes pour son utilisation, consultez le référentiel de pilotes JDBC Amazon Web Services (AWS). GitHub

Connexion à des clusters de bases de données multi-AZ avec le pilote Python Amazon Web Services (AWS)

Le pilote Python Amazon Web Services (AWS) est conçu comme un wrapper Python avancé. Ce wrapper complète et étend les fonctionnalités du pilote open source Psycopg. Le pilote AWS Python prend en charge les versions 3.8 et supérieures de Python. Vous pouvez installer le aws-advanced-python-wrapper package à l'aide de la pip commande, en même temps que les packages psycopg open source.

Pour plus d'informations sur le pilote AWS Python et des instructions complètes pour son utilisation, consultez le GitHub référentiel de pilotes Python Amazon Web Services (AWS).