Amazon RDS Proxy
Haga que sus aplicaciones sean más escalables, resistentes y seguras
¿Qué es RDS Proxy?
RDS Proxy es una característica de proxy de base de datos completamente administrada, de alta disponibilidad y fácil de usar de Amazon RDS, que hace que sus aplicaciones sean 1/ más escalables al agrupar y compartir conexiones de bases de datos, 2/ más resilientes al reducir los tiempos de conmutación por error de la base de datos hasta un 66 % y preservar las conexiones de la aplicación durante las conmutaciones por error; y 3) más seguras mediante la aplicación opcional de la autenticación de AWS IAM en las bases de datos y el almacenamiento de credenciales de forma segura en AWS Secrets Manager.
No tiene que aprovisionar ni administrar ninguna infraestructura adicional para empezar a usar RDS Proxy, y se puede habilitar para la mayoría de las aplicaciones sin cambiar el código.
Beneficios de Amazon RDS Proxy
RDS Proxy mantiene un conjunto de conexiones establecidas con las instancias de 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, de modo que menos conexiones acceden 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, 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 RDS hasta en un 66 %. 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.
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. 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 recursos que podrían invertirse mejor en desarrollar productos excelentes. 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.
RDS Proxy es totalmente compatible con los protocolos de los motores de bases de datos compatibles, por lo que puede implementarlo 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 RDS, y el resto se administrará sin problemas.
Introducción a Amazon RDS Proxy
¿Busca información sobre cómo empezar a usar rápidamente RDS Proxy? A continuación encontrará las guías de documentación técnica, las guías del usuario y los tutoriales más importantes en los que se muestra cómo empezar a utilizar RDS Proxy en unos pocos pasos.
Preguntas frecuentes
Aspectos generales
Abrir todoAplicaciones 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, 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, 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. RDS Proxy 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 consultar la lista de versiones de motor compatibles, vea 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 RDS Proxy, especifica la VPC y las subredes desde las que desea acceder a RDS Proxy. 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.
- Usar 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
- Usar 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 la autenticación entre las aplicaciones y la base de datos a través de RDS Proxy, 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 RDS Proxy 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:
Para obtener más información sobre la autenticación con RDS Proxy, consulte Conexión a una base de datos mediante RDS Proxy.
Sí. Para obtener información completa sobre el SLA de Amazon RDS Proxy, consulte la página de detalles del SLA de Amazon RDS Proxy.
Clientes
Acquia
“Buscamos constantemente 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. ¡RDS Proxy cumple perfectamente con los requisitos! Con RDS Proxy, 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
CAINZ
“Tenemos una infraestructura de API sin servidor basada en AWS Lambda, que se espera que admita 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 RDS Proxy frente a nuestras bases de datos de RDS y Aurora. En nuestras pruebas, observamos una mejora de que cuadruplica los tiempos de respuesta con RDS Proxy en los picos de carga. RDS Proxy es beneficioso para nosotros, ya que podemos usar sentencias SQL conocidas con nuestras bases de datos relacionales y lo único que teníamos que hacer era simplemente cambiar el punto de conexión”.
Masahiro Arai, división de Estrategia Digital en CAINZ
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 estrés sobre nuestras bases de datos durante los picos de conexión y provoca interrupciones para nuestros clientes. Al migrar a Aurora, RDS Proxy se convirtió en una pieza fundamental de nuestra arquitectura para escalar nuestra aplicación y optimizar los costos. Con RDS Proxy, 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 de bases de datos, pudimos consolidar nuestras bases de datos en menos clústeres de Aurora, lo que reduce nuestros costos operativos totales”.
Peter Fein, arquitecto sénior de software de CloudHealth by VMware
Dream 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