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.
Utilisation des points de terminaison Amazon RDS Proxy
Découvrez les points de terminaison pour RDS Proxy et comment les utiliser. En utilisant des points de terminaison proxy, vous pouvez tirer parti des fonctionnalités suivantes :
-
Vous pouvez utiliser plusieurs points de terminaison avec un proxy pour surveiller et dépanner de façon indépendante les connexions provenant de différentes applications.
-
Vous pouvez utiliser les points de terminaison de lecteur avec les clusters de base de données Aurora pour améliorer l'évolutivité de la lecture et le niveau de disponibilité pour vos applications exigeantes en requêtes.
-
Vous pouvez utiliser un point de VPC terminaison croisé pour autoriser l'accès aux bases de données d'un point de terminaison VPC à partir de ressources telles que EC2 les instances Amazon d'un autreVPC.
Rubriques
- Présentation des points de terminaison proxy
- Limites pour les points de terminaison proxy
- Utilisation des points de terminaison de lecteur avec les clusters Aurora
- Accès aux bases de données Aurora via VPCs
- Création d'un point de terminaison proxy
- Affichage des points de terminaison proxy
- Modification d'un point de terminaison proxy
- Suppression d'un point de terminaison proxy
Présentation des points de terminaison proxy
L'utilisation des points de terminaison RDS proxy implique les mêmes types de procédures qu'avec les points de terminaison de cluster de base de données Aurora et les points de terminaison d' des lecteurs. Pour vous familiariser avec les points de terminaison Aurora, consultez les informations dans Connexions aux terminaux Amazon Aurora.
Par défaut, le point de terminaison auquel vous vous connectez lorsque vous utilisez le RDS proxy avec un cluster Aurora dispose d'une capacité de lecture/écriture. Par conséquent, ce point de terminaison envoie toutes les demandes à l'instance d'écriture du cluster. Toutes ces connexions sont prises en compte dans la valeur max_connections
de l'instance d'écriture. Si votre proxy est associé à un cluster de base de données Aurora, vous pouvez créer des points de terminaison supplémentaires en lecture/écriture ou en lecture seule pour ce proxy.
Vous pouvez utiliser un point de terminaison en lecture seule avec votre proxy pour les requêtes en lecture seule. Vous le faites de la même façon que vous utilisez le point de terminaison de lecteur pour un cluster approvisionné Aurora. Cela vous permet de tirer avantage de l'évolutivité de lecture d'un cluster Aurora avec une ou plusieurs instances de base de données de lecteur. Vous pouvez exécuter plus de requêtes et créer plus de connexions simultanément à l'aide d'un point de terminaison en lecture seule et en ajoutant d'autres instances de base de données de lecteur à votre cluster Aurora selon vos besoins.
Astuce
Lorsque vous créez un proxy pour un cluster Aurora à l'aide de AWS Management Console, RDS Proxy peut créer automatiquement un point de terminaison de lecteur. Pour plus d'informations sur les avantages d'un point de terminaison de lecteur, consultez Utilisation des points de terminaison de lecteur avec les clusters Aurora.
Pour un point de terminaison proxy que vous créez, vous pouvez également associer le point de terminaison à un cloud privé virtuel (VPC) différent de celui utilisé par le proxy lui-même. Ce faisant, vous pouvez vous connecter au proxy à partir d'une autre applicationVPC, par exemple une application VPC utilisée par une autre application au sein de votre organisation.
Pour plus d'informations sur les limites associées aux points de terminaison proxy, consultez Limites pour les points de terminaison proxy.
Dans les journaux du RDS proxy, chaque entrée est précédée du nom du point de terminaison du proxy associé. Ce nom peut être celui que vous avez spécifié pour un point de terminaison défini par l'utilisateur. Il peut également s'agir du nom spécial du point default
de terminaison par défaut d'un proxy qui exécute des demandes de lecture/écriture.
Chaque point de terminaison du proxy possède son propre ensemble de CloudWatch mesures. Vous pouvez surveiller les métriques pour tous les points de terminaison d'un proxy. Vous pouvez également surveiller les métriques pour un point de terminaison spécifique, ou pour tous les points de terminaison en lecture/écriture ou en lecture seule d'un proxy. Pour plus d'informations, consultez Surveillance des métriques du proxy RDS avec Amazon CloudWatch.
Un point de terminaison de proxy utilise le même mécanisme d'authentification que le proxy auquel il est associé. RDSLe proxy définit automatiquement les autorisations et les autorisations pour le point de terminaison défini par l'utilisateur, conformément aux propriétés du proxy associé.
Pour découvrir comment les points de terminaison proxy fonctionnent pour les clusters de base de données dans une base de données globale Aurora, consultez Fonctionnement des points de terminaison du proxy RDS avec les bases de données globales.
Limites pour les points de terminaison proxy
RDSLes points de terminaison du proxy présentent les limites suivantes :
-
Chaque proxy possède un point de terminaison par défaut que vous pouvez modifier, mais pas créer ou supprimer.
-
Le nombre maximal de points de terminaison définis par l'utilisateur pour un proxy est de 20. Un proxy peut ainsi avoir jusqu'à 21 points de terminaison : le point de terminaison par défaut, plus 20 que vous créez.
-
Lorsque vous associez des points de terminaison supplémentaires à un proxy, le RDS proxy détermine automatiquement les instances de base de données de votre cluster à utiliser pour chaque point de terminaison. Vous ne pouvez pas sélectionner d'instances spécifiques comme c'est le cas pour les points de terminaison personnalisés Aurora.
Utilisation des points de terminaison de lecteur avec les clusters Aurora
Vous pouvez créer des points de terminaison en lecture seule appelés points de terminaison de lecteur et vous y connecter lorsque vous utilisez un proxy RDS avec des clusters Aurora. Ces points de terminaison du lecteur peuvent améliorer la capacité de mise à l'échelle de lecture de vos applications exigeantes en requêtes. Les points de terminaison du lecteur peuvent également améliorer la disponibilité de vos connexions si une instance de base de données de lecteur dans votre cluster devient indisponible.
Note
Lorsque vous spécifiez qu'un nouveau point de terminaison est en lecture seule, le RDS proxy exige que le cluster Aurora possède une ou plusieurs instances de base de données de lecteur. Dans certains cas, vous pouvez remplacer la cible du proxy par un cluster Aurora contenant un seul rédacteur. Dans ce cas, toutes les demandes au point de terminaison de lecteur échouent avec une erreur. Les demandes échouent également si la cible du proxy est une RDS instance au lieu d'un cluster Aurora.
Si un cluster Aurora possède des instances de lecteur mais que ces instances ne sont pas disponibles, RDS Proxy attend d'envoyer la demande au lieu de renvoyer immédiatement une erreur. Si aucune instance de lecteur n'est disponible pendant la période de délai d'expiration de l'emprunt de connexion, la demande retourne une erreur.
Amélioration de la disponibilité des applications par les points de terminaison du lecteur
Il peut arriver qu'une ou plusieurs instances de lecteur de votre cluster deviennent indisponibles. Dans ce cas, les connexions qui utilisent un point de terminaison de lecteur d'un proxy de base de données peuvent récupérer plus rapidement que celles qui utilisent le point de terminaison du lecteur Aurora. RDSLe proxy achemine les connexions uniquement vers les instances de lecteur disponibles dans le cluster. Il n'y a pas de délai dû à la DNS mise en cache lorsqu'une instance devient indisponible.
Si la connexion est multiplexée, RDS Proxy dirige les requêtes suivantes vers une autre instance de base de données de lecteur sans interrompre votre application. Lors du passage automatique à une nouvelle instance de lecteur, RDS Proxy vérifie le délai de réplication des anciennes et des nouvelles instances de lecteur. RDSLe proxy s'assure que la nouvelle instance de lecteur est à jour avec les mêmes modifications que l'instance de lecteur précédente. Ainsi, votre application ne voit jamais de données périmées lorsque le RDS proxy passe d'une instance de base de données de lecteur à une autre.
Si la connexion est épinglée, la requête suivante sur la connexion retourne une erreur. Toutefois, votre application peut se reconnecter immédiatement au même point de terminaison. RDSLe proxy achemine la connexion vers une instance de base de données de lecteur différente qui est en available
état. Lorsque vous vous reconnectez manuellement, RDS Proxy ne vérifie pas le délai de réplication entre les anciennes et les nouvelles instances de lecteur.
Si aucune instance de lecteur n'est disponible dans votre cluster Aurora, RDS Proxy vérifie si cette condition est temporaire ou permanente. Le comportement respectif dans chaque cas est le suivant :
-
Supposons que votre cluster contienne une ou plusieurs instances de base de données de lecteur, mais qu'aucune d'entre elles ne se trouve dans l'état
Available
. Par exemple, toutes les instances de lecteur peuvent se relancer ou rencontrer des problèmes. Dans ce cas, les tentatives de connexion à un point de terminaison de lecteur attendent qu'une instance de lecteur devienne disponible. Si aucune instance de lecteur n'est disponible pendant la période de délai d'expiration de l'emprunt de connexion, la tentative de connexion échoue. Si une instance de lecteur devient disponible, la tentative de connexion aboutit. -
Supposons que votre cluster ne contienne pas d'instances de base de données de lecteur. Dans ce cas, le RDS proxy renvoie immédiatement une erreur si vous essayez de vous connecter à un terminal de lecture. Pour corriger ce problème, ajoutez une ou plusieurs instances de lecteur à votre cluster avant de vous connecter au point de terminaison du lecteur.
Amélioration de l'évolutivité des requêtes par les points de terminaison du lecteur
Les points de terminaison de lecteur d'un proxy peuvent améliorer l'évolutivité des requêtes Aurora de la manière suivante :
-
Lorsque vous ajoutez des instances de lecteur à votre cluster Aurora, le RDS proxy peut acheminer les nouvelles connexions vers n'importe quel point de terminaison de lecteur vers les différentes instances de lecteur. De cette façon, les requêtes effectuées à l'aide d'une connexion de point de terminaison de lecteur ne ralentissent pas les demandes effectuées à l'aide d'une autre connexion de point de terminaison de lecteur. Les requêtes s'exécutent sur des instances de base de données distinctes. Chaque instance de base de données possède ses propres ressources de calcul, de cache tampon, etc.
-
Dans la mesure du possible, RDS Proxy utilise la même instance de base de données de lecteur pour toutes les requêtes utilisant une connexion de point de terminaison de lecteur particulière. De cette façon, un ensemble de requêtes associées sur les mêmes tables peut tirer avantage de la mise en cache, de l'optimisation du plan, etc., sur une instance de base de données particulière.
-
Si une instance de base de données de lecteur devient indisponible, l'effet sur votre application sera différent selon que la séance est multiplexée ou épinglée. Si la session est multiplexée, le RDS proxy achemine toutes les requêtes suivantes vers une autre instance de base de données de lecteur sans aucune action de votre part. Si la séance est épinglée, votre application obtient une erreur et doit se reconnecter. Vous pouvez vous reconnecter immédiatement au point de terminaison du lecteur et le RDS proxy achemine la connexion vers une instance de base de données du lecteur disponible. Pour plus d'informations sur le multiplexage et l'épinglage des séances proxy, consultez Vue d'ensemble des concepts de RDS proxy.
-
Plus le cluster contient d'instances de base de données de lecteur, plus vous pouvez établir de connexions simultanées à l'aide de points de terminaison de lecteur. Par exemple, supposons que votre cluster contienne quatre instances de base de données de lecteur, qui sont chacune configurées pour prendre en charge 200 connexions simultanées. Supposons que votre proxy soit configuré pour utiliser 50 % du nombre maximal de connexions. Ici, le nombre maximal de connexions que vous pouvez effectuer via les points de terminaison de lecteur dans le proxy est de 100 (50 % de 200) pour le lecteur 1. Le nombre est également de 100 pour le lecteur 2, et ainsi de suite jusqu'à un total de 400. Si vous doublez le nombre d'instances de base de données de lecteur dans le cluster à huit, le nombre maximal de connexions via les points de terminaison de lecteur double également pour atteindre 800.
Exemples d'utilisation de points de terminaison de lecteur
L'exemple Linux suivant montre comment vous pouvez confirmer que vous êtes connecté à un SQL cluster Aurora My via un point de terminaison de lecteur. Le paramètre de configuration innodb_read_only
est activé. Les tentatives d'effectuer des opérations en écriture telles que des instructions CREATE DATABASE
retournent une erreur. Vous pouvez confirmer que vous êtes connecté à une instance de base de données de lecteur en vérifiant le nom de l'instance de base de données à l'aide de la variable aurora_server_id
.
Astuce
Ne vous basez pas uniquement sur la vérification du nom de l'instance de base de données pour déterminer si la connexion est en lecture/écriture ou en lecture seule. N'oubliez pas que les instances de base de données dans un cluster Aurora peuvent modifier les rôles entre le rédacteur et le lecteur lorsque des basculements se produisent.
$
mysql -h endpoint-demo-reader.endpoint.proxy-demo.us-east-1.rds.amazonaws.com -u admin -p...
mysql>
select @@innodb_read_only;+--------------------+ | @@innodb_read_only | +--------------------+ | 1 | +--------------------+
mysql>
create database shouldnt_work;ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement
mysql>
select @@aurora_server_id;+---------------------------------------+ | @@aurora_server_id | +---------------------------------------+ | proxy-reader-endpoint-demo-instance-3 | +---------------------------------------+
L'exemple suivant montre comment votre connexion à un point de terminaison de lecteur proxy peut continuer à fonctionner même lorsque l'instance de base de données de lecteur est supprimée. Dans cet exemple, le cluster Aurora contient deux instances de lecteur, instance-5507
et instance-7448
. La connexion au point de terminaison du lecteur commence en utilisant l'une des instances du lecteur. Pendant l'exemple, cette instance de lecteur est supprimée par une commande delete-db-instance
. RDSLe proxy passe à une autre instance de lecteur pour les requêtes suivantes.
$
mysql -h reader-demo.endpoint.proxy-demo.us-east-1.rds.amazonaws.com -umy_user
-p...
mysql>
select @@aurora_server_id;+--------------------+ | @@aurora_server_id | +--------------------+ | instance-5507 | +--------------------+
mysql>
select @@innodb_read_only;+--------------------+ | @@innodb_read_only | +--------------------+ | 1 | +--------------------+
mysql>
select count(*) from information_schema.tables;+----------+ | count(*) | +----------+ | 328 | +----------+
Pendant que la séance mysql
continue de s'exécuter, la commande suivante supprime l'instance de lecteur à laquelle le point de terminaison du lecteur est connecté.
aws rds delete-db-instance --db-instance-identifier instance-5507 --skip-final-snapshot
Les requêtes dans la session mysql
continuent à opérer sans avoir besoin de se reconnecter. RDSLe proxy bascule automatiquement vers une autre instance de base de données de lecteur.
mysql>
select @@aurora_server_id;+--------------------+ | @@aurora_server_id | +--------------------+ | instance-7448 | +--------------------+
mysql>
select count(*) from information_schema.TABLES;+----------+ | count(*) | +----------+ | 328 | +----------+
Accès aux bases de données Aurora via VPCs
Par défaut, les composants de votre pile technologique Aurora se trouvent tous dans le même AmazonVPC. Supposons, par exemple, qu'une application exécutée sur une EC2 instance Amazon se connecte à une instance de base de données de données Aurora. Dans ce cas, le serveur d'applications et la base de données doivent se trouver au même endroitVPC.
Avec RDS Proxy, vous pouvez configurer l'accès à une de données Aurora dans l'une VPC à partir des ressources d'une autreVPC, telles que EC2 des instances. Par exemple, votre organisation peut avoir plusieurs applications qui accèdent aux mêmes ressources de base de données. Chaque application peut être indépendanteVPC.
Pour activer l'VPCaccès croisé, vous devez créer un nouveau point de terminaison pour le proxy. Le proxy lui-même réside dans le même emplacement VPC que l' de données Aurora. Cependant, le VPC point de terminaison croisé réside dans l'autreVPC, avec les autres ressources telles que les EC2 instances. Le point de VPC terminaison croisé est associé à des sous-réseaux et à des groupes de sécurité provenant des VPC mêmes ressources EC2 et d'autres ressources. Ces associations vous permettent de vous connecter au point de terminaison à partir d'applications qui, autrement, ne pourraient pas accéder à la base de données en raison des VPC restrictions.
Les étapes suivantes expliquent comment créer un point de VPC terminaison croisé et y accéder via un RDS proxy :
-
Créez-en deux VPCs ou choisissez-en deux VPCs que vous utilisez déjà pour le travail sur Aurora. Chacun VPC doit disposer de ses propres ressources réseau associées, telles qu'une passerelle Internet, des tables de routage, des sous-réseaux et des groupes de sécurité. Si vous n'en avez qu'unVPC, vous pouvez consulter Mise en route avec Amazon Aurora les étapes à suivre pour en configurer un autre VPC afin d'utiliser Aurora avec succès. Vous pouvez également examiner vos ressources existantes VPC dans la EC2 console Amazon pour voir les types de ressources à connecter entre elles.
-
Créez un proxy de base de données associé à l' de données Aurora à laquelle vous souhaitez vous connecter. Suivez la procédure décrite dans Création d'un RDS proxy.
-
Sur la page Détails de votre proxy dans la RDS console, dans la section Points de terminaison du proxy, choisissez Create endpoint. Suivez la procédure décrite dans Création d'un point de terminaison proxy.
-
Choisissez de rendre le point de VPC terminaison croisé en lecture/écriture ou en lecture seule.
-
Au lieu d'accepter la même valeur par défaut VPC que l' de données Aurora, choisissez-en une autreVPC. Il VPC doit se trouver dans la même AWS région que celle VPC où réside le proxy.
-
Désormais, au lieu d'accepter les valeurs par défaut pour les sous-réseaux et les groupes de sécurité identiques VPC à celles de l' du cluster de bases de données Aurora, effectuez de nouvelles sélections. Faites-les en fonction des sous-réseaux et des groupes de sécurité VPC que vous avez choisis.
-
Vous n'avez pas besoin de modifier les paramètres des secrets Secrets Manager. Les mêmes informations d'identification fonctionnent pour tous les points de terminaison de votre proxy, quel que soit le point de terminaison dans lequel VPC se trouve chaque point de terminaison.
-
Attendez que le nouveau point de terminaison atteigne l'état Available (Disponible).
-
Notez le nom complet du point de terminaison. Il s'agit de la valeur se terminant par
que vous fournissez dans le cadre de la chaîne de connexions pour votre application de base de données.Region_name
.rds.amazonaws.com -
Accédez au nouveau point de terminaison à partir d'une ressource VPC identique au point de terminaison. Un moyen simple de tester ce processus est d'y créer une nouvelle EC2 instanceVPC. Connectez-vous ensuite à l'EC2instance et exécutez les
psql
commandesmysql
or pour vous connecter en utilisant la valeur du point de terminaison dans votre chaîne de connexion.