Utilisation d'Amazon RDS Proxy - 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.

Utilisation d'Amazon RDS Proxy

En utilisant Amazon RDS Proxy, vous pouvez autoriser vos applications à regrouper et à partager des connexions à des bases de données afin d'améliorer leur capacité à évoluer. RDSLe proxy améliore la résilience des applications face aux défaillances de base de données en se connectant automatiquement à une instance de base de données de secours tout en préservant les connexions des applications. En utilisant le RDS proxy, vous pouvez également appliquer AWS Identity and Access Management (IAM) authentification pour les bases de données et stockage sécurisé des informations d'identification dans AWS Secrets Manager.

Grâce au RDS proxy, vous pouvez gérer les pics imprévisibles du trafic de base de données. Dans le cas contraire, ces surtensions peuvent entraîner des problèmes en raison d'un surabonnement ou de la création rapide de nouvelles connexions. RDSLe proxy établit un pool de connexions à la base de données et réutilise les connexions dans ce pool. Cette approche permet d'éviter la mémoire et le CPU surcoût liés à l'ouverture d'une nouvelle connexion à la base de données à chaque fois. Pour protéger une base de données contre le surabonnement, vous pouvez contrôler le nombre de connexions à la base de données créées.

RDSLe proxy met en file d'attente ou limite les connexions aux applications qui ne peuvent pas être traitées immédiatement à partir du pool de connexions. Bien que les latences puissent augmenter, votre application peut continuer à évoluer sans échouer brusquement ou surcharger la base de données. Si les demandes de connexion dépassent les limites que vous spécifiez, le RDS proxy rejette les connexions aux applications (c'est-à-dire qu'il réduit la charge). Dans le même temps, il maintient des performances prévisibles pour la charge RDS pouvant être utilisée avec la capacité disponible.

Vous pouvez réduire la surcharge pour traiter des informations d'identification et établir une connexion sécurisée pour chaque nouvelle connexion. RDSLe proxy peut effectuer une partie de ce travail pour le compte de la base de données.

RDSLe proxy est entièrement compatible avec les versions du moteur qu'il prend en charge. Vous pouvez activer le RDS proxy pour la plupart des applications sans modifier le code.

Disponibilité des régions et des versions

La disponibilité et le support des fonctionnalités varient selon les versions spécifiques de chaque moteur de base de données et selon Régions AWS. Pour plus d'informations sur la version et la disponibilité par région d'Amazon RDS with RDS Proxy, consultezRégions et moteurs de base de données pris en charge pour Amazon RDS Proxy.

Quotas et limites pour le RDS proxy

Les quotas et limitations suivants s'appliquent au RDS proxy :

  • Chaque Compte AWS L'ID est limité à 20 proxies. Si votre application nécessite davantage de proxys, demandez une augmentation via la page Service Quotas du AWS Management Console. Sur la page Quotas de service, sélectionnez Amazon Relational Database Service (RDSAmazon) et localisez les proxys pour demander une augmentation de quota. AWS peut augmenter automatiquement votre quota ou attendre l'examen de votre demande en AWS Support.

  • Chaque proxy peut avoir jusqu'à 200 secrets Secrets Manager associés. Ainsi, chaque proxy peut se connecter avec 200 comptes d'utilisateur différents maximum à tout moment.

  • Chaque proxy possède un point de terminaison par défaut. Vous pouvez également ajouter jusqu'à 20 points de terminaison de proxy pour chaque proxy. Vous pouvez créer, afficher, modifier et supprimer ces points de terminaison.

  • Pour les RDS instances de base de données dans des configurations de réplication, vous pouvez associer un proxy uniquement à l'instance de base de données du rédacteur, et non à une réplique en lecture.

  • Votre RDS proxy doit se trouver dans le même cloud privé virtuel (VPC) que la base de données. Le proxy peut ne pas être accessible au public, contrairement à la base de données. Par exemple, si vous prototypez votre base de données sur un hôte local, vous ne pouvez pas vous connecter à votre proxy si vous n'avez pas défini la configuration réseau requise pour autoriser la connexion au proxy. Cela est dû au fait que votre hôte local est en dehors de celui du proxyVPC.

  • Vous ne pouvez pas utiliser un RDS proxy VPC dont la location est définie sur. dedicated

  • Si vous utilisez le RDS proxy avec une instance de RDS base de données du dont IAM l'authentification est activée, vérifiez l'authentification de l'utilisateur. Les utilisateurs qui se connectent via un proxy doivent s'authentifier à l'aide d'informations d'identification. Pour plus de détails sur Secrets Manager et la IAM prise en charge de RDS Proxy, consultez Configuration des informations d'identification de base de données dans AWS Secrets Manager for RDS Proxy etConfiguration des politiques AWS Identity and Access Management (IAM) pour le RDS proxy.

  • Vous ne pouvez pas utiliser le RDS proxy avec custom DNS lorsque vous utilisez la validation SSL du nom d'hôte.

  • Chaque proxy peut être associé à une instance de base de données unique. Toutefois, vous pouvez associer plusieurs proxies à la même instance de base de données.

  • Le proxy épingle la session à la connexion en cours si la taille de texte de l'instruction est supérieure à 16 ko.

  • Certaines régions ont des restrictions de zone de disponibilité (AZ) à prendre en compte lors de la création de votre proxy. La région USA Est (Virginie du Nord) ne prend pas en charge le RDS proxy dans la zone de use1-az3 disponibilité. La région USA Ouest (Californie du Nord) ne prend pas en charge le RDS proxy dans la zone de usw1-az2 disponibilité. Lorsque vous sélectionnez des sous-réseaux lors de la création de votre proxy, assurez-vous de ne pas sélectionner de sous-réseaux dans les zones de disponibilité mentionnées ci-dessus.

  • Actuellement, RDS Proxy ne prend en charge aucune clé de contexte de condition globale.

    Pour plus d'informations sur les clés contextuelles des conditions globales, voir AWS clés contextuelles des conditions globales dans le guide de IAM l'utilisateur.

  • Vous ne pouvez pas utiliser le RDS proxy avec RDS Custom for SQL Server.

Pour connaître les limites supplémentaires pour chaque moteur de base de données, consultez les sections suivantes :

Limitations supplémentaires RDS pour MariaDB

Les restrictions supplémentaires suivantes s'appliquent à RDS Proxy with RDS pour les bases de données MariaDB :

  • Actuellement, tous les proxies écoutent sur le port 3306 pour MariaDB. Les proxys se connectent toujours à votre base de données à l'aide du port spécifié dans les paramètres de la base de données.

  • Vous ne pouvez pas utiliser le RDS proxy avec des bases de données MariaDB autogérées dans des instances Amazon. EC2

  • Vous ne pouvez pas utiliser le RDS proxy avec une instance de base de données RDS pour MariaDB dont read_only le paramètre dans son groupe de paramètres de base de données est défini sur. 1

  • RDSLe proxy ne prend pas en charge le mode compressé MariaDB. Par exemple, il ne prend pas en charge la compression utilisée par les options --compress ou -C de la commande mysql.

  • Certaines SQL instructions et fonctions peuvent modifier l'état de la connexion sans provoquer d'épinglage. Pour connaître le comportement d'épinglage le plus récent, consultez la section Éviter d'épingler un proxy RDS.

  • RDSLe proxy ne prend pas en charge le plugin auth_ed25519 MariaDB.

  • RDSLe proxy ne prend pas en charge la version 1.3 de Transport Layer Security (TLS) pour les bases de données MariaDB.

  • Les connexions de base de données traitant une GET DIAGNOSTIC commande peuvent renvoyer des informations inexactes lorsque le RDS proxy réutilise la même connexion à la base de données pour exécuter une autre requête. Cela peut se produire lorsque le RDS proxy multiplexe les connexions à la base de données. Pour de plus amples informations, veuillez consulter Présentation des concepts de RDS proxy.

Important

Pour les proxies associés aux bases de données MariaDB, ne définissez pas le paramètre de configuration sql_auto_is_null sur true ou sur une valeur différente de zéro dans la requête d'initialisation. Cela pourrait entraîner un comportement incorrect de l'application.

Limitations supplémentaires RDS pour Microsoft SQL Server

Les restrictions supplémentaires suivantes s'appliquent aux bases de données RDS Proxy with RDS pour Microsoft SQL Server :

  • Le nombre de secrets de Secrets Manager que vous devez créer pour un proxy dépend du classement utilisé par votre instance de base de données. Par exemple, supposons que votre instance de base de données utilise un classement sensible à la casse. Si votre application accepte à la fois « Admin » et « admin », votre proxy a besoin de deux secrets distincts. Pour plus d'informations sur le classement dans SQL Server, consultez la documentation Microsoft SQL Server.

  • RDSLe proxy ne prend pas en charge les connexions utilisant Active Directory.

  • Vous ne pouvez pas utiliser l'IAMauthentification avec des clients qui ne prennent pas en charge les propriétés des jetons. Pour de plus amples informations, veuillez consulter Considérations relatives à la connexion à un proxy avec Microsoft SQL Server.

  • Les résultats @@IDENTITY, @@ROWCOUNT et SCOPE_IDENTITY ne sont pas toujours précis. Pour contourner ce problème, récupérez leurs valeurs dans la même instruction de session pour vous assurer qu'elles renvoient les informations correctes.

  • Si la connexion utilise plusieurs ensembles de résultats actifs (MARS), le RDS proxy n'exécute pas les requêtes d'initialisation. Pour plus d'informationsMARS, consultez la documentation de Microsoft SQL Server.

  • Actuellement, le RDS proxy ne prend pas en charge RDS les instances de base de données de SQL serveur qui s'exécutent sur la version majeure de SQLServer 2022.

  • RDSLe proxy ne prend pas en charge RDS les instances de base de données de SQL serveur exécutées sur la version majeure de SQLServer 2014.

  • RDSLe proxy ne prend pas en charge les applications clientes qui ne peuvent pas gérer plusieurs messages de réponse dans un seul TLS enregistrement.

Limitations supplémentaires pour RDS for My SQL

Les restrictions supplémentaires suivantes s'appliquent aux SQL bases de données RDS Proxy with RDS for My :

  • RDSLe proxy ne prend pas en charge les plugins My SQL sha256_password et caching_sha2_password Authentication. Ces plugins implémentent le hachage SHA -256 pour les mots de passe des comptes utilisateurs.

  • Actuellement, tous les proxies écoutent My sur le port 3306. SQL Les proxys se connectent toujours à votre base de données à l'aide du port spécifié dans les paramètres de la base de données.

  • Vous ne pouvez pas utiliser le RDS proxy avec des bases de SQL données Mes bases de données autogérées dans EC2 des instances.

  • Vous ne pouvez pas utiliser le RDS proxy avec une instance RDS for My SQL DB dont le read_only paramètre dans son groupe de paramètres de base de données est défini sur1.

  • RDSLe proxy ne prend pas en charge mon mode SQL compressé. Par exemple, il ne prend pas en charge la compression utilisée par les options --compress ou -C de la commande mysql.

  • Les connexions de base de données traitant une GET DIAGNOSTIC commande peuvent renvoyer des informations inexactes lorsque le RDS proxy réutilise la même connexion à la base de données pour exécuter une autre requête. Cela peut se produire lorsque le RDS proxy multiplexe les connexions à la base de données.

  • Certaines SQL instructions et fonctions SET LOCAL peuvent par exemple modifier l'état de la connexion sans provoquer d'épinglage. Pour connaître le comportement d'épinglage le plus récent, consultez la section Éviter d'épingler un proxy RDS.

  • L'utilisation de la ROW_COUNT() fonction dans une requête à instructions multiples n'est pas prise en charge.

  • RDSLe proxy ne prend pas en charge les applications clientes qui ne peuvent pas gérer plusieurs messages de réponse dans un seul TLS enregistrement.

Important

Pour les proxys associés à Mes SQL bases de données, ne définissez pas le paramètre sql_auto_is_null de configuration sur une valeur true ou une valeur différente de zéro dans la requête d'initialisation. Cela pourrait entraîner un comportement incorrect de l'application.

Limitations supplémentaires RDS pour Postgre SQL

Les restrictions supplémentaires suivantes s'appliquent à RDS Proxy with RDS pour les SQL bases de données Postgre :

  • RDSLe proxy ne prend pas en charge les filtres d'épinglage de session pour SQL Postgre.

  • Actuellement, tous les proxies écoutent Postgre sur le port 5432. SQL

  • Pour PostgreSQL, RDS Proxy ne prend actuellement pas en charge l'annulation d'une requête d'un client en émettant un. CancelRequest C'est le cas par exemple lorsque vous annulez une requête longue dans une session psql interactive à l'aide de Ctrl+C.

  • Les résultats de la SQL fonction Postgre lastval ne sont pas toujours précis. Pour contourner le problème, utilisez l'INSERTinstruction associée à la RETURNING clause.

  • RDSLe proxy ne prend actuellement pas en charge le mode de réplication en continu.

  • Dans RDS le cas de Postgre SQL 16, les modifications apportées à la scram_iterations valeur ont un impact exclusif sur le processus d'authentification entre le proxy et la base de données. Plus précisément, si vous le configurezscram-sha-256, ClientPasswordAuthType les personnalisations apportées à la scram_iterations valeur n'ont aucune influence sur l'authentification par client-to-proxy mot de passe. Au lieu de cela, la valeur d'itération pour l'authentification par client-to-proxy mot de passe est fixée à 4096.

Important

Pour les proxys existants dotés de SQL bases de données Postgre, si vous modifiez l'authentification de base de données pour l'utiliser SCRAM uniquement, le proxy devient indisponible pendant 60 secondes au maximum. Pour éviter ce problème, effectuez l'une des actions suivantes :

  • Veillez à ce que la base de données permette à la fois l'authentification SCRAM et MD5.

  • Pour utiliser uniquement l'authentification SCRAM, créez un nouveau proxy, migrez le trafic de votre application vers ce nouveau proxy, puis supprimez le proxy précédemment associé à la base de données.