Amazon RDS Proxy

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

¿Por qué utilizar Amazon RDS Proxy?

El proxy de Amazon Relational Database Service (Amazon RDS) es un proxy de base de datos totalmente administrado y altamente disponible para Amazon RDS que hace que las aplicaciones sean más escalables, más resistentes a fallos de la base de datos y más seguras.

Muchas aplicaciones, incluidas aquellas diseñadas a partir de arquitecturas sin servidor modernas, pueden tener una gran cantidad de conexiones abiertas al servidor de la base de datos y pueden abrir y cerrar conexiones de base de datos rápidamente, lo que agota la memoria de esta última y los recursos informáticos. Amazon RDS Proxy permite que las aplicaciones agrupen y compartan conexiones establecidas con la base de datos, mejorando la eficiencia de la base de datos y la escalabilidad de la aplicación. Con Amazon RDS Proxy, los tiempos de conmutación por error para las bases de datos de Amazon Aurora y Amazon RDS se reducen hasta un 66 % y las credenciales y la autenticación de la base de datos, así como el acceso a esta, se pueden administrar mediante la integración a AWS Secrets Manager y AWS Identity and Access Management (IAM).

Amazon RDS Proxy se puede habilitar para la mayoría de las aplicaciones sin cambios en el código. No es necesario aprovisionar ni administrar ninguna infraestructura adicional para empezar a utilizar Amazon RDS Proxy. Los precios son sencillos y se basan en la capacidad de las instancias de bases de datos subyacentes. Pague por Aurora Capacity Unit (ACU, unidad de capacidad de Aurora) para las instancias de Amazon Aurora sin servidor v2 o por vCPU para las instancias aprovisionadas. Amazon RDS Proxy está disponible en la edición compatible con PostgreSQL de Amazon Aurora, edición compatible con MySQL de Amazon Aurora, Amazon RDS para PostgreSQL, Amazon RDS para MySQL, Amazon RDS para MariaDB y Amazon RDS para SQL Server.

Beneficios de Amazon RDS Proxy

Su instancia de Amazon RDS Proxy mantiene un conjunto de conexiones establecidas con las instancias de base de datos de Amazon 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. Amazon RDS Proxy también comparte las conexiones de base de datos que se utilizan con poca frecuencia, de modo que menos conexiones acceden a la base de datos de Amazon 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.
Amazon 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, Amazon RDS Proxy dirige las solicitudes directamente 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 Amazon RDS hasta en un 66 %. Amazon RDS Proxy también es compatible con Multi-AZ con dos instancias en espera legibles para conmutaciones por error en un tiempo promedio inferior a 35 segundos, latencia de escritura dos veces superior, capacidad de lectura adicional y reducción del tiempo de inactividad de las actualizaciones de versiones menores a un tiempo promedio inferior a 1 segundo.
Amazon RDS Proxy le brinda un control adicional sobre la seguridad de los datos al ofrecerle la opción de aplicar la autenticación de IAM para el acceso a la base de datos y de evitar codificar de forma rígida las credenciales de la base de datos en el código de la aplicación. Amazon RDS Proxy también le permite administrar de forma centralizada las credenciales de la base de datos a través de 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 escalen de manera más eficaz, es más difícil implementarlos, aplicarles parches y administrarlos, lo que consume tiempo y energía que podrían invertirse mejor en desarrollar productos excelentes. Amazon RDS Proxy le brinda los beneficios de un proxy de base de datos sin requerir la carga adicional de administrar su propio servidor proxy y aplicarle parches. Amazon RDS Proxy es completamente sin servidor y escala automáticamente para adaptarse a su carga de trabajo.
Amazon RDS Proxy es totalmente compatible con los protocolos de los motores de bases de datos compatibles, por lo que puede implementar Amazon RDS Proxy para su aplicación sin efectuar cambios en el código de la aplicación. Simplemente dirija las conexiones de la aplicación al proxy en lugar de a la base de datos de Amazon RDS, y el resto se administrará sin problemas.

Casos de uso

Desarrollo de aplicaciones sin servidor

Con Amazon RDS Proxy, puede crear aplicaciones sin servidor que sean más escalables y estén más disponibles porque utilizan sus bases de datos relacionales de manera más eficiente. Las aplicaciones sin servidor modernas admiten cargas de trabajo muy variables y pueden intentar abrir una ráfaga de nuevas conexiones de bases de datos o mantener muchas conexiones abiertas pero inactivas. Un aumento de las conexiones o un gran número de conexiones abiertas podrían sobrecargar el servidor de la base de datos, lo que provocaría que las consultas sean más lentas y que la escalabilidad de las aplicaciones sea limitada. Al agrupar y compartir las conexiones de bases de datos ya establecidas, Amazon RDS Proxy le permite escalar de manera eficiente a muchas más conexiones desde su aplicación sin servidor. Amazon RDS Proxy también le permite mantener un rendimiento predecible de la base de datos por medio del control de la cantidad total de las conexiones de base de datos que están abiertas. Por último, Amazon RDS Proxy preserva la disponibilidad de la aplicación sin servidor al denegar las conexiones inoperantes de las aplicaciones que pueden deteriorar el rendimiento de la base de datos.

Aplicaciones de software como servicio (SaaS) y comercio electrónico

Las aplicaciones SaaS o de comercio electrónico suelen mantener abierta una gran cantidad de conexiones de bases de datos para garantizar tiempos de respuesta rápidos para los usuarios, aunque solo una fracción de estas conexiones abiertas puede utilizarse activamente en un momento dado. Estas conexiones abiertas pero inactivas siguen consumiendo memoria de la base de datos y recursos informáticos. En lugar de sobreaprovisionar la base de datos para que admita principalmente conexiones inactivas, puede usar Amazon RDS Proxy para mantener las conexiones inactivas de la aplicación mientras solo establece conexiones de base de datos según sea necesario para atender de manera óptima las solicitudes activas.

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 en Amazon RDS Proxy le permite al cliente 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, Amazon RDS Proxy 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, Amazon RDS Proxy les permite a los clientes 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, Amazon RDS Proxy elimina las solicitudes de aplicaciones inservibles para preservar el rendimiento y la disponibilidad generales de la aplicación.