Proxy Amazon RDS
Rendez vos applications plus évolutives, plus résilientes et plus sécurisées.
Qu'est-ce que le proxy RDS ?
Le proxy RDS est une fonctionnalité de proxy de base de données entièrement gérée, hautement disponible et facile à utiliser d’ Amazon RDS . Il permet à vos applications 1/ d’améliorer leur capacité de mise à l’échelle en regroupant et en partageant les connexions à la base de données, 2/ d’être plus résilientes en réduisant jusqu’à 66 % les délais de basculement de la base de données et en préservant les connexions d’application pendant les basculements, et 3/ d’être plus sécurisées en appliquant éventuellement l’authentification AWS IAM aux bases de données et en stockant en toute sécurité les informations d’identification dans AWS Secrets Manager.
Amazon RDS Proxy peut être activé sur la plupart des applications sans modification de code. De plus, vous n’avez pas besoin de mettre en service ni de gérer une infrastructure supplémentaire.
Les avantages du proxy Amazon RDS
Amazon RDS Proxy maintient un pool de connexions établies avec vos instances de base de données RDS, ce qui réduit la pression sur les ressources de calcul et de mémoire de la base de données qui survient généralement lorsque de nouvelles connexions sont établies. Il partage également les connexions de base de données peu utilisées, de sorte que moins de connexions accèdent à la base de données RDS. Ce regroupement de connexions permet à votre base de données de prendre en charge efficacement un nombre et une fréquence élevés de connexions d'applications de manière à ce que votre application puisse se mettre à l'échelle sans compromettre les performances.
Le proxy RDS réduit au maximum les interruptions des applications dues aux pannes affectant la disponibilité de votre base de données en se connectant automatiquement à une nouvelle instance de base de données tout en préservant les connexions aux applications. En cas de basculement, RDS Proxy achemine directement les requêtes vers la nouvelle instance de base de données. ce qui réduit les délais de basculement des bases de données Aurora et RDS jusqu'à 66 %. Amazon RDS Proxy prend également en charge les déploiements Multi‑AZ avec deux instances de secours lisibles, pour des basculements généralement inférieurs à 35 secondes, une latence d’écriture deux fois meilleure, une capacité de lecture accrue et une réduction du temps d’arrêt lors des mises à niveau de versions mineures à généralement moins d’une seconde.
Amazon RDS Proxy vous offre un contrôle supplémentaire sur la sécurité des données en vous laissant la possibilité d’appliquer l’authentification IAM pour l’accès aux bases de données et d’éviter de coder en dur les informations d’identification de base de données dans le code de l’application. Il vous permet également de gérer de manière centralisée les informations d’identification de base de données à l’aide de Secrets Manager.
Un serveur proxy de base de données aide à gérer la charge supplémentaire qui pèse sur votre base de données. Bien que les serveurs proxy traditionnels permettent aux applications de monter en charge plus efficacement, ils sont difficiles à déployer, à corriger et à gérer, ce qui consomme des ressources qui pourraient être mieux utilisées pour développer des produits de qualité. RDS Proxy est entièrement sans serveur et constitue un proxy de base de données entièrement géré. Il s’adapte automatiquement à votre charge de travail tout en vous évitant d’avoir à appliquer des correctifs et à gérer votre propre serveur proxy.
RDS Proxy est entièrement compatible avec les protocoles des moteurs de base de données pris en charge, ce qui vous permet de le déployer pour votre application sans modifier le code de celle‑ci. Il vous suffit de pointer les connexions de vos applications vers le proxy plutôt que vers la base de données RDS et le reste est géré de manière fluide.
Démarrage avec le proxy Amazon RDS
Vous recherchez des informations sur la manière de démarrer rapidement avec RDS Proxy ? Vous trouverez ci‑dessous les principaux guides de documentation technique, guides d’utilisation et didacticiels qui vous montrent comment commencer à utiliser Amazon RDS Proxy en quelques étapes.
Questions fréquentes (FAQ)
Généralités
Ouvrir toutLes applications avec des charges de travail imprévisibles : les applications qui prennent en charge des charges de travail très variables peuvent tenter d'ouvrir un grand nombre de connexions à la base de données. La gouvernance des connexions du proxy RDS permet aux clients de mettre facilement à l'échelle les applications traitant des charges de travail imprévisibles en réutilisant efficacement les connexions aux bases de données. Dans un premier temps, RDS Proxy permet à plusieurs connexions d'application de partager une connexion de base de données pour utiliser efficacement les ressources de base de données. Ensuite, le proxy RDS permet aux clients de maintenir des performances de base de données prévisibles en régulant le nombre de connexions de base de données ouvertes. Enfin, le proxy RDS supprime les demandes d'applications qui ne peuvent pas être traitées pour préserver les performances générales et la disponibilité de l'application.
Les applications qui ouvrent et ferment fréquemment des connexions de base de données : les applications basées sur des technologies telles que PHP, sans serveur ou Ruby on Rails peuvent ouvrir et fermer fréquemment des connexions de base de données pour répondre aux demandes des applications. Le proxy RDS permet aux clients de maintenir un groupe de connexions de base de données afin d'éviter toute résistance au niveau du calcul et de la mémoire de la base de données pour établir de nouvelles connexions.
Applications qui maintiennent les connexions ouvertes mais inactives : les applications dans des secteurs tels que le SaaS ou le commerce électronique peuvent maintenir les connexions de base de données inactives pour réduire un maximum le temps de réponse dans le cas d'un réengagement client. Au lieu de surprovisionner les bases de données pour prendre majoritairement en charge les connexions inactives, les clients peuvent faire appel à au proxy RDS pour mettre en attente les connexions inactives, tout en établissant des connexions de base de données pour répondre de manière optimale aux demandes actives.
Les applications nécessitant une disponibilité suite à des échecs transitoires : avec le proxy RDS, les clients peuvent créer des applications capables de gérer en toute transparence les pannes de base de données sans avoir à écrire de codes complexes de gestion des pannes. RDS Proxy achemine automatiquement le trafic vers une nouvelle instance de base de données tout en préservant les connexions d'application. RDS Proxy contourne également les caches DNS (système de noms de domaine) afin de réduire jusqu'à 66 % les temps de basculement des bases de données multi-AZ Amazon RDS et Aurora. Pendant les basculements de bases de données, l'application peut subir des latences accrues,et il est possible qu'il faille relancer certaines transactions en cours.
Amélioration de la sécurité et gestion centralisée des informations d'identification : le proxy RDS aide les clients à créer des applications plus sécurisées en leur laissant l'opportunité d'utiliser l'authentification basée sur IAM avec des bases de données relationnelles. RDS Proxy permet également aux clients de gérer de manière centralisée les informations d'identification de base de données via AWS Secrets Manager.
Avec le proxy RDS, vous avez des applications sans serveur modernes qui exploitent la puissance et la simplicité des bases de données relationnelles. Premièrement, le Proxy Amazon RDS permet aux applications sans serveur de se développer efficacement en regroupant et en réutilisant les connexions de base de données. Ensuite, grâce à Amazon RDS Proxy, vous n'avez plus besoin de gérer les informations d'identification de la base de données dans votre code Lambda. Vous pouvez utiliser le rôle d'exécution IAM associé à votre fonction Lambda pour vous authentifier auprès de RDS Proxy et de votre base de données. Enfin, vous n'avez pas besoin de gérer une nouvelle infrastructure ou un nouveau code pour exploiter le plein potentiel des applications sans serveur soutenues par des bases de données relationnelles. RDS Proxy est entièrement géré et sa capacité évolue automatiquement en fonction des demandes de votre application.
Le proxy RDS est disponible pour Amazon Aurora avec la compatibilité MySQL, Amazon Aurora avec la compatibilité PostgreSQL, Amazon RDS for MariaDB, Amazon RDS for MySQL, Amazon RDS pour PostgreSQL et Amazon RDS pour SQL Server. Pour obtenir une liste des versions du moteur prises en charge, consultez le Guide de l’utilisateur Amazon Aurora ou le Guide de l’utilisateur Amazon RDS.
Vous pouvez activer le proxy RDS pour votre base de données Amazon RDS en quelques clics dans la console Amazon RDS. Lors de l'activation de RDS Proxy, vous pouvez spécifier le VPC et les sous-réseaux à partir desquels vous souhaitez accéder à RDS Proxy. En tant qu'utilisateur Lambda, vous pouvez activer le proxy RDS pour votre base de données Amazon RDS et configurer une fonction Lambda pour accéder à Proxy Amazon RDS en quelques clics et sans quitter la console Lambda.
- Utilisez l’authentification IAM pour les connexions client‑proxy tout en utilisant Secrets Manager pour les connexions proxy‑base de données.
- Utilisez l'authentification IAM pour les connexions client-proxy et proxy-base de données, évitant ainsi de stocker les mots de passe de base de données dans Secrets Manager
Pour l’authentification entre vos applications et la base de données via Amazon RDS Proxy, plusieurs options s’offrent à vous.
Vous pouvez utiliser l’authentification traditionnelle par nom d’utilisateur et mot de passe avec AWS Secrets Manager pour stocker les informations d’identification de votre base de données, en centralisant, sécurisant et simplifiant la gestion de ces informations pour votre application. Lorsque vous utilisez Secrets Manager, vous pouvez vous connecter à Amazon RDS Proxy de la même manière que vous vous connectez à votre base de données. Le nom d’utilisateur et le mot de passe que vous fournissez sont mis en correspondance avec les informations d’identification stockées dans Secrets Manager, puis utilisés pour les connexions à la base de données.
Pour renforcer la sécurité, vous pouvez utiliser l’authentification basée sur IAM. Au lieu de spécifier un nom d’utilisateur et un mot de passe, vos applications peuvent utiliser un rôle d’exécution IAM, associé à des services tels qu’AWS Lambda ou EC2, pour s’authentifier auprès de RDS Proxy. Deux options s’offrent à vous avec l’authentification IAM :
Pour plus d’informations sur l’authentification avec le proxy RDS, consultez Connexion à une base de données via un proxy RDS .
Oui. Pour plus d’informations sur le SLA du proxy Amazon RDS, consultez la page de présentation du SLA du proxy Amazon RDS .
Clients
Acquia
Nous cherchons constamment à optimiser et à améliorer les performances et la capacité de mise à l’échelle pour nos clients. Comme Drupal ne prend pas en charge nativement le pool de connexions, nous voulions une solution qui nous permettrait de mieux mettre à l'échelle les connexions de notre application sur les bases de données relationnelles. Le proxy RDS fait parfaitement l'affaire ! Avec le proxy RDS, les applications Drupal de nos clients peuvent facilement utiliser un pool prêt à l'emploi de connexions établies. Cela nous a permis à la fois de mieux gérer les pics soudains de trafic sur notre site Web et d’améliorer l’efficacité de nos bases de données.
Ed Brennan, Chief Architect chez Acquia
CAINZ
« Nous disposons d’une infrastructure d’API sans serveur basée sur AWS Lambda, qui devrait prendre en charge des dizaines de milliers d’utilisateurs et nécessite un magasin de données dorsal évolutif. Alors que nous sommes toujours appuyés sur des bases de données NoSQL pour de tels scénarios, le défi dans cette situation était que nous avions besoin de puissantes fonctionnalités de requêtes SQL pour gérer et accéder aux données fournies par les bases de données Amazon RDS et Amazon Aurora. Nous pouvons désormais relever ce défi avec le proxy RDS devant nos bases de données RDS et Aurora. Lors de nos tests, nous avons observé une amélioration des temps de réponse multipliée par 4 avec le proxy RDS aux pics de charge. Le proxy RDS est avantageux pour nous, car nous pouvons utiliser des instructions SQL familières avec nos bases de données relationnelles et il nous a simplement suffi de changer de point de terminaison. »
Masahiro Arai, Division de la stratégie numérique - CAINZ
CloudHealth by VMware
« Nous avons récemment migré nos bases de données MySQL vers Amazon Aurora. Nos applications maintiennent un grand nombre de connexions à la base de données ouvertes, ce qui sollicite notre base de données lors des pics de connexion et provoque des pannes pour nos clients. Lors de la migration vers Aurora, RDS Proxy est devenu un élément essentiel de notre architecture pour faire évoluer notre application et optimiser les coûts. Grâce au proxy RDS, nos applications pouvaient ouvrir beaucoup plus de connexions au proxy, ce qui réduisait les connexions à la base de données jusqu'à 90 % pendant les heures de pointe, protégeant ainsi la base de données d'un nombre élevé de connexions. RDS Proxy a contribué à améliorer la stabilité de notre système et à réduire nos coûts. Comme moins de ressources système sont consacrées aux connexions à la base de données, nous avons pu regrouper nos bases de données dans un plus petit nombre de clusters Aurora, ce qui a réduit nos coûts d’exploitation globaux. »
Peter Fein, architecte logiciel senior - CloudHealth by VMware
Rêve 11
« Le proxy RDS a changé la donne pour nous lors de la Premier League indienne 2023. Cela nous a aidés à gérer les pics de trafic massifs pendant le verrouillage final sans compromettre les performances et la disponibilité de la base de données. Cela nous a également permis d'adapter nos ressources de manière dynamique et d'optimiser nos coûts. Nous avons été en mesure d'offrir une expérience fluide à nos utilisateurs. Le proxy RDS est indispensable pour toute plateforme de jeu vidéo en ligne qui doit gérer un trafic imprévisible et volumineux. »
Bipul Karnani, ingénieur principal - Dream 11