Saltar al contenido principal

Amazon RDS Proxy

Haga que sus aplicaciones sean más escalables, resistentes y seguras

¿Qué es RDS Proxy?

RDS Proxy es una función de proxy de bases de datos de Amazon RDS totalmente gestionada, de alta disponibilidad y fácil de usar que hace que sus aplicaciones sean un 1% más escalables al agrupar y compartir conexiones de bases de datos, un 2% más resilientes al reducir los tiempos de conmutación por error de las bases de datos en hasta un 66% y preservar las conexiones de las aplicaciones durante las conmutaciones por error, y un 30% más seguras al aplicar opcionalmente la autenticación de AWS IAM en las bases de datos y almacenar las credenciales de forma segura en AWS Secrets Manager.

No necesita aprovisionar ni administrar ninguna infraestructura adicional para empezar a usar el proxy RDS, y se puede habilitar para la mayoría de las aplicaciones sin cambiar el código. 

Beneficios de Amazon RDS Proxy

El proxy RDS mantiene un conjunto de conexiones establecidas a las instancias de la base de datos de RDS, lo que reduce el estrés en los recursos informáticos y de memoria de la base de datos que normalmente se produce cuando se establecen nuevas conexiones. También comparte las conexiones de base de datos que se utilizan con poca frecuencia para que menos conexiones accedan a la base de datos de RDS. Esta agrupación de conexiones permite que la base de datos admita de manera eficiente una gran cantidad y frecuencia de conexiones de aplicaciones, de modo que su aplicación pueda escalar sin comprometer el rendimiento.

RDS Proxy minimiza la interrupción de las aplicaciones debido a los cortes que afectan la disponibilidad de la base de datos al conectarse automáticamente a una nueva instancia de base de datos y, al mismo tiempo, conservar las conexiones de las aplicaciones. Cuando se producen conmutaciones por error, el proxy RDS dirige directamente las solicitudes a la nueva instancia de base de datos. Esto reduce los tiempos de conmutación por error de las bases de datos de Aurora y RDS hasta en un 66 %. El proxy RDS también es compatible con Multi-AZ, con dos modos de espera legibles para conmutaciones por error de menos de 35 segundos, una latencia de escritura dos veces mejor, una capacidad de lectura adicional y una reducción del tiempo de inactividad de las actualizaciones de versiones menores a, por lo general, menos de 1 segundo.

El proxy RDS le brinda un control adicional sobre la seguridad de los datos al darle la opción de aplicar la autenticación de IAM para el acceso a la base de datos y evitar codificar las credenciales de la base de datos en el código de la aplicación. También le permite administrar de forma centralizada las credenciales de la base de datos mediante Secrets Manager.

Un servidor proxy de base de datos ayuda a gestionar la carga adicional de la base de datos. Si bien los servidores proxy tradicionales permiten que las aplicaciones se escalen de manera más eficaz, son difíciles de implementar, aplicar parches y administrar, lo que consume recursos que podrían gastarse mejor en el desarrollo de excelentes productos. RDS Proxy no tiene ningún servidor y es un proxy de base de datos totalmente administrado, por lo que se escala automáticamente para adaptarse a su carga de trabajo y, al mismo tiempo, elimina la carga de aplicar parches y administrar su propio servidor proxy.

El proxy RDS es totalmente compatible con los protocolos de los motores de bases de datos compatibles para que pueda implementarlo en su aplicación sin realizar cambios en el código de la aplicación. Solo tiene que dirigir las conexiones de las aplicaciones al proxy en lugar de a la base de datos de RDS y el resto se administra sin problemas.

Introducción a Amazon RDS Proxy

¿Busca información sobre cómo empezar rápidamente a usar RDS Proxy? A continuación se muestran las guías de documentación técnica, las guías de usuario y los tutoriales más importantes que muestran cómo empezar a utilizar el proxy RDS en unos pocos pasos.

Preguntas frecuentes

Temas de la página

Aspectos generales

Abrir todo

Aplicaciones con cargas de trabajo impredecibles: las aplicaciones que admiten cargas de trabajo altamente variables pueden intentar abrir una explosión de nuevas conexiones de base de datos. La gobernanza de la conexión de RDS Proxy le permite escalar con facilidad las aplicaciones que se ocupan de cargas de trabajo impredecibles mediante la reutilización eficiente de las conexiones de la base de datos. Primero, el proxy de RDS permite que múltiples conexiones de aplicaciones compartan una conexión de base de datos para un uso eficiente de los recursos de la base de datos. En segundo lugar, RDS Proxy les permite a los clientes permite mantener un rendimiento predecible de la base de datos por medio de la regulación de la cantidad de conexiones de base de datos que se abren. En tercer lugar, RDS Proxy elimina las solicitudes de aplicaciones inservibles para preservar el rendimiento y la disponibilidad generales de la aplicación.

Aplicaciones que abren y cierran conexiones de bases de datos con frecuencia: las aplicaciones creadas con tecnologías como sin servidor, PHP o Ruby en Rails pueden abrir y cerrar conexiones de bases de datos con frecuencia para atender solicitudes de aplicaciones. RDS Proxy mantiene un conjunto de conexiones de base de datos para evitar un estrés innecesario en el cálculo de la base de datos y la memoria para establecer nuevas conexiones.

Aplicaciones que mantienen las conexiones abiertas pero inactivas: las aplicaciones en industrias como SaaS o eCommerce pueden mantener las conexiones de la base de datos inactivas para minimizar el tiempo de respuesta cuando un cliente vuelve a participar. En lugar de sobreaprovisionar bases de datos para admitir principalmente conexiones inactivas, puede usar RDS Proxy para mantener las conexiones inactivas mientras solo establece conexiones de base de datos según sea necesario para atender de manera óptima las solicitudes activas.

Aplicaciones que requieren disponibilidad a través de fallas transitorias: con RDS Proxy, puede crear aplicaciones que puedan tolerar de manera transparente las fallas de la base de datos sin necesidad de escribir código complejo de manejo de fallas. El proxy de RDS dirige automáticamente el tráfico a una nueva instancia de base de datos a la vez que se preservan las conexiones de la aplicación. RDS Proxy también evita las cachés del sistema de nombres de dominio (DNS) para reducir los tiempos de conmutación por error hasta un 66 % para las bases de datos multi-AZ de Amazon RDS y Aurora. Durante la conmutación por error de la base de datos, la aplicación puede experimentar latencias más altas y es posible que las transacciones en curso deban repetirse.

Seguridad mejorada y administración centralizada de credenciales: RDS Proxy lo ayuda a crear aplicaciones más seguras, ya que brinda la opción de aplicar la autenticación basada en IAM con bases de datos relacionales. RDS Proxy también le permite administrar de forma centralizada las credenciales de la base de datos a través de AWS Secrets Manager.

RDS Proxy transforma su enfoque para crear aplicaciones modernas sin servidor que aprovechen el poder y la simplicidad de las bases de datos relacionales. En primer lugar, RDS Proxy permite que las aplicaciones sin servidor escalen de forma eficiente mediante la agrupación y reutilización de conexiones a la base de datos. En segundo lugar, con el proxy de RDS, ya no necesita manejar las credenciales de la base de datos en su código de Lambda. Puede usar el rol de ejecución de IAM asociado con su función de Lambda para autenticarse con el proxy de RDS y su base de datos. En tercer lugar, no necesita administrar ninguna infraestructura o código nuevo para utilizar todo el potencial de las aplicaciones sin servidor respaldadas por bases de datos relacionales. RDS Proxy está completamente administrado y escala su capacidad automáticamente en función de las demandas de la aplicación.

RDS Proxy está disponible para Amazon Aurora con compatibilidad con MySQL, Amazon Aurora con compatibilidad con PostgreSQL, Amazon RDS para MariaDB, Amazon RDS para MySQL, Amazon RDS para PostgreSQL y Amazon RDS para SQL Server. Para obtener una lista de las versiones de motor compatibles, consulte la Guía del usuario de Amazon Aurora o la Guía del usuario de Amazon RDS.

Habilita RDS Proxy para su base de datos de Amazon RDS con solo unos pocos clics en la Consola de Amazon RDS. Cuando habilita el proxy de RDS, especifica la VPC y las subredes desde las que desea acceder al proxy de RDS. Como usuario de Lambda, puede habilitar RDS Proxy para su base de datos de Amazon RDS y configurar una función de Lambda para acceder a ella con solo unos pocos clics en la consola de Lambda.

Para la autenticación entre las aplicaciones y la base de datos a través del proxy RDS, tiene varias opciones. 

Puede utilizar la autenticación tradicional de nombre de usuario y contraseña con AWS Secrets Manager para almacenar las credenciales de su base de datos, centralizando, asegurando y simplificando la administración de credenciales de su aplicación. Al usar Secrets Manager, puede conectarse con el proxy RDS de la misma manera que se conecta con la base de datos. El nombre de usuario y la contraseña que proporciona coinciden con las credenciales almacenadas en Secrets Manager y, a continuación, se utilizan para las conexiones a la base de datos.

Para mejorar la seguridad, puede utilizar la autenticación basada en IAM. En lugar de especificar un nombre de usuario y una contraseña, las aplicaciones pueden usar un rol de ejecución de IAM, asociado a servicios como AWS Lambda o EC2, para autenticarse con RDS Proxy. Tiene dos opciones con la autenticación de IAM:

  • Use la autenticación de IAM para las conexiones de cliente a proxy mientras usa Secrets Manager para las conexiones de proxy a base de datos
  • Utilice la autenticación de IAM para las conexiones de cliente a proxy y de proxy a base de datos, lo que elimina la necesidad de almacenar las contraseñas de las bases de datos en Secrets Manager

Para obtener más información sobre la autenticación con el proxy RDS, consulte Conexión a una base de datos mediante el proxy RDS.  

Sí. Para obtener más información sobre el SLA del proxy de Amazon RDS, consulte la página de detalles del SLA del proxy de Amazon RDS.

Clientes

Acquia

«Estamos constantemente buscando optimizar y mejorar el rendimiento y la escalabilidad para nuestros clientes. Como Drupal no admite de forma nativa la agrupación de conexiones, queríamos una solución que nos permitiera escalar mejor las conexiones de nuestra aplicación en bases de datos relacionales. ¡El proxy de RDS cumple perfectamente con los requisitos! Con el proxy de RDS, las aplicaciones de Drupal de nuestros clientes pueden utilizar fácilmente un conjunto listo de conexiones establecidas. Esto nos ha permitido gestionar mejor los aumentos repentinos del tráfico del sitio web y mejorar la eficiencia de nuestras bases de datos. »

Ed Brennan, arquitecto en jefe - Acquia

Missing alt text value

CAINZ

«Tenemos una infraestructura de API sin servidor basada en AWS Lambda, que se espera que dé soporte a decenas de miles de usuarios y requiere un almacén de datos de backend escalable. Si bien tradicionalmente nos basábamos en las bases de datos NoSQL para estos escenarios, el desafío en esta situación era que necesitábamos capacidades sólidas de consulta de SQL para administrar y acceder a los datos proporcionados por las bases de datos de Amazon RDS y Amazon Aurora. Ahora podemos abordar este desafío con el proxy de RDS frente a nuestras bases de datos de RDS y Aurora. En nuestras pruebas, observamos una mejora de que cuadruplica los tiempos de respuesta con el proxy de RDS en los picos de carga. El proxy RDS es beneficioso para nosotros, ya que podemos usar sentencias SQL conocidas con nuestras bases de datos relacionales y todo lo que necesitábamos hacer era simplemente cambiar el punto final. »

Masahiro Arai, división de Estrategia Digital en CAINZ

Missing alt text value

CloudHealth by VMware

«Hace poco migramos nuestras bases de datos MySQL a Amazon Aurora. Nuestras aplicaciones mantienen abiertas una gran cantidad de conexiones a bases de datos, lo que ejerce presión sobre nuestras bases de datos durante los picos de conexión y provoca interrupciones para nuestros clientes. Al migrar a Aurora, el proxy RDS se convirtió en una pieza fundamental de nuestra arquitectura para escalar nuestra aplicación y optimizar los costos. Con el proxy de RDS, nuestras aplicaciones podían abrir muchas más conexiones al proxy, lo que a su vez reducía las conexiones a la base de datos hasta en un 90 por ciento durante las horas punta, lo que aislaba a la base de datos de un alto número de conexiones. RDS Proxy ayudó a mejorar la estabilidad de nuestro sistema y a reducir nuestros costos. Al destinar menos recursos del sistema a las conexiones a las bases de datos, podríamos consolidar nuestras bases de datos en menos clústeres de Aurora, lo que reduciría nuestros costos operativos totales. »

Peter Fein, arquitecto sénior de software de CloudHealth by VMware

Missing alt text value

Sueño 11

«RDS Proxy supuso un punto de inflexión para nosotros durante la Indian Premier League 2023. Nos ayudó a gestionar los enormes picos de tráfico durante el bloqueo sin comprometer el rendimiento y la disponibilidad de la base de datos. También nos permitió escalar nuestros recursos de forma dinámica y optimizar nuestros costos. Pudimos ofrecer una experiencia sin inconvenientes a nuestros usuarios. RDS Proxy es imprescindible para cualquier plataforma de juegos en línea que necesite gestionar un tráfico impredecible y de gran volumen. »

Bipul Karnani, ingeniero jefe en Dream 11

Missing alt text value