Uso de Amazon RDS Proxy para Aurora - Amazon Aurora

Uso de Amazon RDS Proxy para Aurora

Con el proxy de Amazon RDS puede permitir a las aplicaciones agrupar y compartir conexiones de base de datos para mejorar su capacidad de escala. El proxy de RDS hace que las aplicaciones sean más resistentes a los errores de base de datos al conectarse automáticamente a una instancia de base de datos en espera mientras se preservan las conexiones de las aplicaciones. RDS Proxy también le permite aplicar autenticación de AWS Identity and Access Management (IAM) para bases de datos y almacenar las credenciales de forma segura en AWS Secrets Manager.

Con RDS Proxy puede gestionar aumentos imprevistos en el tráfico de base de datos. De lo contrario, estas sobrecargas podrían causar problemas debido a la suscripción excesiva de conexiones o a la creación de nuevas conexiones a un ritmo rápido. RDS Proxy establece un grupo de conexiones de base de datos y reutiliza las conexiones de este grupo. Este enfoque evita la sobrecarga de memoria y de CPU que supone abrir una nueva conexión de base de datos cada vez. Para proteger una base de datos frente a un exceso de suscripciones, puede controlar el número de conexiones de base de datos que se crean.

RDS Proxy pone en cola o limita las conexiones de aplicaciones que no se pueden atender de inmediato desde el grupo de conexiones. Aunque las latencias pueden aumentar, la aplicación puede seguir ajustando la escala sin fallar bruscamente ni sobrecargar la base de datos. Si las solicitudes de conexión superan los límites especificados, RDS Proxy rechaza las conexiones de aplicación (es decir, se desprende de la carga). Al mismo tiempo, mantiene un rendimiento predecible para la carga que RDS puede servir con la capacidad disponible.

Puede reducir la sobrecarga para procesar credenciales y establecer una conexión segura para cada nueva conexión. El proxy de RDS puede gestionar parte de ese trabajo en nombre de la base de datos.

El RDS Proxy es totalmente compatible con las versiones de motor admitidas. Puede habilitar RDS Proxy para la mayoría de las aplicaciones sin cambios de código. Para ver una lista de las versiones de motor admitidas, consulte Amazon RDS Proxy.

Disponibilidad en regiones y versiones

Para obtener información sobre la compatibilidad de versiones del motor de base de datos y la disponibilidad de RDS Proxy en una determinada Región de AWS, consulte Amazon RDS Proxy.

Cuotas y limitaciones de RDS Proxy

Las siguientes cuotas y limitaciones se aplican a RDS Proxy:

  • Puede tener hasta 20 proxies para cada ID de cuenta de AWS. Si su aplicación requiere más proxies, puede solicitar proxies adicionales abriendo un ticket con la organización de AWS Support.

  • Cada proxy puede tener hasta 200 secretos de Secrets Manager asociados. Por lo tanto, cada proxy puede conectarse con hasta 200 cuentas de usuario distintas en un momento dado.

  • Cada proxy tiene un punto de conexión predeterminado. También puede agregar hasta 20 puntos de conexión de proxy para cada proxy. Puede crear, ver, modificar y eliminar estos puntos de conexión.

  • En un clúster de Aurora, todas las conexiones que utilizan el punto de conexión de proxy predeterminado se gestionan por la instancia de escritor Aurora. A fin de llevar a cabo el balanceo de carga para cargas de trabajo de lectura intensiva, puede crear un punto de enlace de solo lectura para un proxy. Ese punto de enlace pasa las conexiones al punto de enlace del lector del clúster. De esta manera, sus conexiones de proxy pueden aprovechar la escalabilidad de lectura Aurora. Para obtener más información, consulte Información general de los puntos de enlace de proxy.

  • Puede utilizar el RDS Proxy con clústeres de Aurora Serverless v2 pero no con clústeres de Aurora Serverless v1.

  • Su RDS Proxy debe estar en la misma nube virtual privada (VPC) que la base de datos. Aunque se puede acceder públicamente a la base de datos, no sucede lo mismo con el proxy. Por ejemplo, si va a crear prototipos de base de datos en un host local, no puede conectarse a su proxy, a menos que configure los requisitos de red necesarios para permitir la conexión al proxy. Esto es porque el host local está fuera de la VPC del proxy.

    nota

    Para los clústeres de bases de datos de Aurora, puede activar el acceso entre VPC. Para ello, cree un punto de conexión adicional para un proxy y especifique una VPC, subredes y grupos de seguridad diferentes con ese punto de conexión. Para obtener más información, consulte Acceso a las bases de datos de Aurora en todas las VPC.

  • No se puede utilizar RDS Proxy con una VPC que tenga su tenencia establecida en dedicated.

  • Si utiliza RDS Proxy con un clúster de base de datos de Aurora que tenga habilitada la autenticación de IAM, compruebe la autenticación del usuario. Los usuarios que se conecten a través de un proxy deben autenticarse con credenciales de inicio de sesión. Para obtener más información sobre la compatibilidad de Secrets Manager y IAM en RDS Proxy, consulte Configuración de credenciales de base de datos en AWS Secrets Manager y Configuración de políticas de AWS Identity and Access Management (IAM).

  • No se puede usar el proxy de RDS con DNS personalizados cuando se utiliza la validación de nombres de host SSL.

  • Cada proxy se puede asociar con un único clúster de base de datos de destino. Sin embargo, puede asociar varios proxies con el mismo clúster de base de datos.

  • Cualquier instrucción con un tamaño de texto superior a 16 KB hace que el proxy fije la sesión a la conexión actual.

  • Algunas regiones tienen restricciones de zona de disponibilidad (AZ) que debe tener en cuenta al crear el proxy. La región Este de EE. UU. (Norte de Virginia) no admite RDS Proxy en la zona de disponibilidad use1-az3. La región Oeste de EE. UU. (Norte de California) no admite RDS Proxy en la zona de disponibilidad usw1-az2. Al seleccionar subredes al crear el proxy, asegúrese de no seleccionar subredes en las zonas de disponibilidad mencionadas anteriormente.

Para conocer las limitaciones adicionales de cada motor de base de datos, consulte las secciones siguientes:

Limitaciones adicionales para Aurora MySQL

Las siguientes limitaciones adicionales se aplican a RDS Proxy con bases de datos de Aurora MySQL:

  • RDS Proxy no admite sha256_password de MySQL ni los complementos de autenticación de caching_sha2_password. Estos complementos implementan la función de hash SHA-256 para contraseñas de cuentas de usuario.

  • Actualmente, todos los proxies escuchan en el puerto 3306 para MySQL. Los proxies todavía se conectan a la base de datos mediante el puerto especificado en la configuración de la base de datos.

  • No puede usar RDS Proxy con bases de datos MySQL autoadministradas en instancias EC2.

  • No se puede usar RDS Proxy con una instancia de base de datos RDS para MySQL que tenga el parámetro read_only en su grupo de parámetros de base de datos establecido en1.

  • RDS Proxy no admite el modo comprimido de MySQL. Por ejemplo, no admite la compresión utilizada por las opciones --compress o -C del comando mysql.

  • Las conexiones a bases de datos que procesan un comando GET DIAGNOSTIC pueden devolver información inexacta cuando RDS Proxy vuelve a utilizar la misma conexión de base de datos para ejecutar otra consulta. Esto puede ocurrir cuando RDS Proxy multiplexa las conexiones de bases de datos.

  • Algunas instrucciones y funciones SQL, como SET LOCAL, pueden cambiar el estado de conexión sin producir una fijación. Para conocer el comportamiento de fijación más actual, consulte Evitar la fijación.

importante

Para proxies asociados con bases de datos de MySQL, no establezca el parámetro de configuración sql_auto_is_null en true o un valor distinto de cero en la consulta de inicialización. Si lo hace, es posible que la aplicación se comporte incorrectamente.

Limitaciones adicionales para Aurora PostgreSQL

Las siguientes limitaciones adicionales se aplican a RDS Proxy con bases de datos de Aurora PostgreSQL:

  • RDS Proxy no admite los filtros de fijación de sesión para PostgreSQL.

  • Actualmente, todos los proxies escuchan en el puerto 5432 para PostgreSQL.

  • Para PostgreSQL, RDS Proxy no admite actualmente la cancelación de una consulta por parte de un cliente mediante la emisión de CancelRequest. Este es el caso, por ejemplo, cuando se cancela una consulta de larga duración en una sesión psql interactiva con Ctrl + C.

  • Los resultados de la función de PostgreSQL lastval no siempre son precisos. Como alternativa, utilice la instrucción INSERT con la cláusula RETURNING.

  • Actualmente, RDS Proxy no admite el modo de replicación en streaming.

importante

En el caso de los proxies existentes con bases de datos de PostgreSQL, si modifica la autenticación de la base de datos para utilizar únicamente SCRAM, el proxy dejará de estar disponible durante un máximo de 60 segundos. Para evitar este problema, lleve a cabo alguna de las siguientes operaciones:

  • Asegúrese de que la base de datos permita la autenticación SCRAM y MD5.

  • Para utilizar únicamente la autenticación SCRAM, cree un nuevo proxy, migre el tráfico de la aplicación al nuevo proxy y, a continuación, elimine el proxy previamente asociado a la base de datos.