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

Utilisation d'Amazon RDS Proxy pour Aurora

Amazon RDS Proxy vous permet d'autoriser vos applications à grouper et à partager des connexions de bases de données pour améliorer leur capacité de mise à l'échelle. RDS Proxy rend les applications plus résistantes aux échecs de base de données en les connectant automatiquement à une instance de base de données de secours tout en préservant les connexions des applications. En utilisant le proxy RDS, vous pouvez également appliquer l'authentification AWS Identity and Access Management (IAM) aux bases de données et y stocker les informations d'identification en toute sécurité. AWS Secrets Manager

Avec RDS Proxy, vous pouvez gérer des pics imprévisibles de trafic des bases 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. RDS Proxy établit un groupe de connexions de bases de données et réutilise les connexions de ce groupe. Cette approche évite la surcharge de mémoire et d'UC liée à l'ouverture d'une nouvelle connexion de 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.

Le proxy RDS 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 définissez, RDS Proxy rejette les connexions des applications (en d'autres termes, il déleste la charge). Dans le même temps, il maintient des performances prévisibles pour la charge que le RDS peut desservir 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. RDS Proxy peut gérer une partie de ce travail pour le compte de la base de données.

RDS Proxy est entièrement compatible avec les versions de moteur qu'il prend en charge. Vous pouvez activer RDS Proxy pour la plupart des applications sans modifier le code. Pour obtenir la liste des versions de moteur prises en charge, consultez Proxy Amazon RDS.

Disponibilité des régions et des versions

Pour plus d'informations sur la prise en charge des versions du moteur de base de données et la disponibilité du proxy RDS dans un environnement donné Région AWS, consultezProxy Amazon RDS.

Quotas et limites pour RDS Proxy

Voici les quotas et les limites qui s'appliquent à RDS Proxy :

  • Vous pouvez avoir jusqu'à 20 proxys pour chaque identifiant de AWS compte. Si votre application nécessite davantage de proxys, vous pouvez demander des proxys supplémentaires en ouvrant un ticket auprès de l'organisation 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.

  • Dans un cluster Aurora, toutes les connexions qui utilisent le point de terminaison proxy par défaut sont gérées par l'instance de rédacteur Aurora. Pour effectuer l'équilibrage des charges de travail exigeantes en lecture, vous pouvez créer un point de terminaison en lecture seule pour un proxy. Ce point de terminaison transmet des connexions au point de terminaison du lecteur du cluster. De cette façon, vos connexions proxy peuvent tirer avantage de l'évolutivité de lecture Aurora. Pour plus d'informations, consultez Présentation des points de terminaison proxy.

  • Vous pouvez utiliser un proxy RDS avec des clusters Aurora Serverless v2, mais pas avec des clusters Aurora Serverless v1.

  • 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 se trouve en dehors du VPC du proxy.

    Note

    Pour les clusters de base de données Aurora, vous pouvez activer l'accès entre VPC. Pour ce faire, créez un point de terminaison supplémentaire pour un proxy et spécifiez un VPC, des sous-réseaux et des groupes de sécurité différents avec ce point de terminaison. Pour de plus amples informations, veuillez consulter Accès à des bases de données Aurora dans des VPC.

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

  • Si vous utilisez le proxy RDS avec un cluster de base de données Aurora d'instance sur lequel l'authentification IAM 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 d'informations sur la prise en charge de Secrets Manager et d'IAM dans RDS Proxy, consultez Configuration des informations d'identification de base de données dans AWS Secrets Manager et Configuration des AWS Identity and Access Management politiques (IAM).

  • Vous ne pouvez pas utiliser RDS Proxy avec DNS personnalisé lorsque vous utilisez la validation du nom d'hôte SSL.

  • Chaque proxy peut être associé à un cluster de base de données unique. Toutefois, vous pouvez associer plusieurs proxies au même cluster 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 RDS Proxy dans la zone de disponibilité use1-az3. La région USA Ouest (Californie du Nord) ne prend pas en charge RDS Proxy dans la zone de disponibilité usw1-az2. 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.

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

Limites supplémentaires pour Aurora MySQL

Les limites supplémentaires suivantes s'appliquent au proxy RDS avec les bases de données Aurora MySQL :

  • RDS Proxy ne prend pas en charge les plugins d'authentification MySQL sha256_password et caching_sha2_password. Ces plugins implémentent le hachage SHA-256 pour les mots de passe des comptes utilisateur.

  • Actuellement, tous les proxies écoutent sur le port 3306 pour MySQL. 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 RDS Proxy avec des bases de données MySQL autogérées dans des instances EC2.

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

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

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

  • Certaines instructions et fonctions SQL 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 Contournement de l'épinglage.

Important

Pour les proxies associés aux bases de données MySQL, 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.

Limites supplémentaires pour Aurora PostgreSQL

Les limites supplémentaires suivantes s'appliquent au proxy RDS avec les bases de données Aurora PostgreSQL :

  • RDS Proxy ne prend pas en charge les filtres d'épinglage de session pour PostgreSQL.

  • Actuellement, tous des proxies écoutent sur le port 5432 pour PostgreSQL.

  • 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 fonction PostgreSQL lastval ne sont pas toujours précis. Pour contourner ce problème, utilisez l'instruction INSERT avec la clause RETURNING.

  • Le proxy RDS ne prend actuellement pas en charge le mode de réplication de streaming.

Important

Pour des proxies existants avec des bases de données PostgreSQL, si vous modifiez l'authentification de la base de données pour utiliser uniquement SCRAM, le proxy devient indisponible pendant 60 secondes 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.