Trabajo con puntos de enlace del proxy de Amazon RDS - Amazon Relational Database Service

Trabajo con puntos de enlace del proxy de Amazon RDS

Los puntos de conexión de RDS Proxy proporcionan formas flexibles y eficientes de administrar las conexiones de bases de datos, lo que mejora la escalabilidad, la disponibilidad y la seguridad. Con los puntos de conexión del proxy, puede:

  • Simplificar la supervisión y la resolución de problemas: use varios puntos de conexión para realizar un seguimiento y administrar conexiones de diferentes aplicaciones de forma independiente.

Información general de los puntos de enlace de proxy

Trabajar con puntos de conexión de RDS Proxy implica los mismos tipos de procedimientos que con los puntos de conexión de instancia de RDS. Si no está familiarizado con los puntos de enlace de RDS, puede encontrar más información en Conexión a una instancia de base de datos que ejecuta el motor de base de datos de MySQL y Conexión a una instancia de base de datos que ejecuta el motor de base de datos de PostgreSQL.

Cuando cree un punto de conexión del proxy, puede asociarlo con una nube privada virtual (VPC) diferente de la que utiliza la VPC del proxy. Esto le permite conectarse al proxy desde otra VPC, como una utilizada por una aplicación diferente dentro de la organización.

Para obtener información acerca de los límites asociados a los puntos de enlace de proxy, consulte Limitaciones para los puntos de conexión de proxy.

RDS Proxy registra el prefijo de cada entrada con el nombre del punto de conexión del proxy asociado. Este puede ser el nombre especificado para un punto de conexión definido por el usuario o el nombre default especial para el punto de conexión de lectura o escritura predeterminado de un proxy.

Cada punto de conexión de proxy tiene su propio conjunto de métricas de CloudWatch. Supervise las métricas de todos los puntos de conexión de proxy, un punto de conexión específico o de todos los puntos de conexión de lectura o escritura o de solo lectura de un proxy. Para obtener más información, consulte Supervisión de las métricas de RDS Proxy con Amazon CloudWatch.

Un punto de enlace del proxy utiliza el mismo mecanismo de autenticación que su proxy asociado. El proxy de RDS configura automáticamente permisos y autorizaciones para el punto de enlace definido por el usuario, de acuerdo con las propiedades del proxy asociado.

Limitaciones para los puntos de conexión de proxy

Los puntos de conexión de RDS Proxy tienen las siguientes limitaciones:

  • El punto de conexión predeterminado del proxy de RDS no se puede modificar.

  • El número máximo de puntos de enlace definidos por el usuario para un proxy es 20. Por lo tanto, un proxy puede tener hasta 21 puntos de enlace: el punto de enlace predeterminado, más 20 que cree.

  • Cuando asocia puntos de enlace adicionales con un proxy, RDS Proxy determina automáticamente qué instancias de base de datos del clúster se utilizarán para cada punto de enlace.

Al crear un proxy, RDS crea automáticamente un punto de conexión de VPC para una comunicación segura entre las aplicaciones y la base de datos. El punto de conexión de VPC es visible y se puede acceder a él desde la consola de Amazon VPC.

Al agregar un nuevo punto de conexión de proxy, se aprovisiona un punto de conexión de interfaz de AWS PrivateLink. Si agrega uno o más puntos de conexión al proxy, incurrirá en cargos adicionales. Para obtener más información, consulte Precios de proxy de RDS.

Puntos de conexión de proxy para clústeres de bases de datos de Multi-AZ

De forma predeterminada, el punto de conexión al que se conecta cuando utiliza RDS Proxy con un clúster de bases de datos Multi-AZ tiene capacidad de lectura o escritura. Como resultado, este punto de conexión envía todas las solicitudes a la instancia del escritor del clúster. Todas esas conexiones se descontarán del valor max_connections de la instancia del escritor. Si su proxy está asociado con un clúster de bases de datos de Multi-AZ, puede crear puntos de conexión de lectura o escritura o de solo lectura adicionales para ese proxy.

Puede utilizar un punto de conexión de solo lectura con su proxy para consultas de solo lectura. Para hacerlo, tiene que hacer lo mismo que para usar el punto de conexión de lector para un clúster de bases de datos de Multi-AZ Esto le permite aprovechar la escalabilidad de lectura de un clúster de bases de datos de Multi-AZ con una o más instancias de base de datos de lector. Puede ejecutar más consultas simultáneas y realizar más conexiones simultáneas empleando un punto de conexión de solo lectura y agregando más instancias de base de datos de lector a su clúster de bases de datos de Multi-AZ, según sea necesario. Estos puntos de enlace del lector ayudan a mejorar la escalabilidad de lectura de sus aplicaciones que requieren un uso intensivo de consultas. Los puntos de enlace del lector también ayudan a mejorar la disponibilidad de las conexiones si una instancia de base de datos de lector del clúster deja de estar disponible.

Puntos de conexión de lector para clústeres de base de datos Multi-AZ

Con RDS Proxy, puede crear y usar puntos de enlace del lector. Sin embargo, estos puntos de conexión solo funcionan para proxies asociados con clústeres de base de datos de Multi-AZ. Si utiliza la CLI o API de RDS, es posible que vea el atributo de TargetRole con un valor de READ_ONLY. Puede aprovechar estos proxy cambiando el destino de un proxy de una instancia de base de datos de RDS a un clúster de bases de datos multi-AZ.

Puede crear puntos de conexión de solo lectura, denominados puntos de conexión de lector, y conectarse a estos al usar RDS Proxy con los clústeres de base de datos de Multi-AZ.

Cómo los puntos de enlace del lector ayudan a la disponibilidad de las aplicaciones

A veces, es posible que alguna instancia de lector en el clúster no esté disponible. En esos casos, las conexiones que utilizan un punto de conexión de lector de un proxy de base de datos se pueden recuperar más rápidamente que las que utilizan el punto de conexión de lector del clúster de bases de datos de Multi-AZ. RDS Proxy solo enruta las conexiones a las instancias de lector disponibles en el clúster. No hay retraso debido al almacenamiento en caché de DNS cuando una instancia deja de estar disponible.

Si la conexión es multiplexada, RDS Proxy dirige las consultas posteriores a una instancia de lector diferente sin interrupciones en su aplicación. Si una instancia de lectura no está disponible, se cierran todas las conexiones de cliente a ese punto de conexión de la instancia.

Si la conexión está anclada, la siguiente consulta en la conexión devuelve un error. Sin embargo, la aplicación puede volver a conectarse inmediatamente al mismo punto de conexión de proxy. El proxy de RDS enruta la conexión a una instancia de base de datos de lector diferente que se encuentra en estado available. Cuando se vuelve a conectar manualmente, RDS Proxy no comprueba el retraso de reproducción entre la instancia de lector antigua y nueva.

Si su clúster de bases de datos Multi-AZ no tiene instancias de lector disponibles, RDS Proxy intentará conectarse a un punto de conexión de lector cuando esté disponible. Si no hay instancias de lector disponibles dentro del periodo de tiempo de espera de préstamo de conexión, se produce un error en el intento de conexión. Si una instancia de lector está disponible, el intento de conexión se lleva a cabo correctamente.

Cómo los puntos de enlace del lector ayudan a la escalabilidad de las consultas

Los puntos de conexión del lector de un proxy contribuyen a la escalabilidad de las consultas de clúster de bases de datos de Multi-AZ de las siguientes maneras:

  • Cuando sea práctico, RDS Proxy utiliza la misma instancia de base de datos de lector para todos los problemas de consultas mediante una conexión de punto de enlace del lector en particular. De esta manera, un conjunto de consultas relacionadas en las mismas tablas puede aprovechar el almacenamiento en caché, la optimización del plan y demás, en una instancia de base de datos particular.

  • Si una instancia de base de datos de lector deja de estar disponible, el efecto en la aplicación depende de si la sesión está multiplexada o anclada. Si la sesión está multiplexada, RDS Proxy enruta las consultas posteriores a una instancia de base de datos de lector diferente sin acciones por su parte. Si la sesión está anclada, la aplicación recibe un error y debe volver a conectarse. Puede volver a conectarse al punto de enlace del lector inmediatamente y RDS Proxy enruta la conexión a una instancia de base de datos de lector disponible. Para obtener más información acerca de la multiplexación y el anclaje de sesiones de proxy, consulte Información general de los conceptos de RDS Proxy.

Acceso a las bases de datos de RDS en todas las VPC

De forma predeterminada, los componentes de su pila de tecnología de RDS están todos en la misma Amazon VPC. Por ejemplo, supongamos que una aplicación que se ejecuta en una instancia de Amazon EC2 se conecta a una instancia de base de datos de Amazon RDS. En este caso, el servidor de la aplicación y la base de datos deben estar dentro de la misma VPC.

Con RDS Proxy, puede configurar el acceso a una instancia de base de datos de Amazon RDS en una VPC a partir de recursos de otra VPC, como las instancias de EC2. Por ejemplo, la organización puede tener varias aplicaciones que tengan acceso a los mismos recursos de base de datos. Cada aplicación puede estar en su propia VPC.

A fin de habilitar el acceso entre VPC, cree un nuevo punto de enlace para el proxy. El propio proxy reside en la misma VPC que la instancia de base de datos de Amazon RDS. Sin embargo, el punto de enlace en VPC reside en la otra VPC, junto con otros recursos, como las instancias EC2. El punto de enlace en VPC está asociado con subredes y grupos de seguridad de la misma VPC que EC2 y otros recursos. Estas asociaciones permiten conectarse al punto de enlace desde las aplicaciones que, de lo contrario, no pueden acceder a la base de datos debido a las restricciones de la VPC.

Los siguientes pasos explican cómo crear y acceder a un punto de enlace en VPC a través de RDS Proxy:

  1. Cree dos VPC o elija dos VPC que ya utilice para el trabajo en RDS. Cada VPC debe tener sus propios recursos de red asociados, como una puerta de enlace de Internet, tablas de enrutamiento, subredes y grupos de seguridad. Si solo tiene una VPC, puede consultar Introducción a Amazon RDS para conocer los pasos a fin de configurar otra VPC para que use RDS con éxito. También puede examinar la VPC existente en la consola de Amazon EC2 para ver los tipos de recursos que conectar entre sí.

  2. Cree un proxy de base de datos asociado con la instancia de base de datos de Amazon RDS al que desea conectarse. Siga el procedimiento indicado en Creación de un proxy para Amazon RDS.

  3. En la página de Details (Detalles) para su proxy en la consola de RDS, en la pestaña de Proxy endpoints (Puntos de enlace de proxy), elija Create endpoint (Crear punto de enlace). Siga el procedimiento indicado en Creación de un punto de enlace de proxy.

  4. Elija si desea que el punto de enlace en VPC sea de lectura y escritura o de solo lectura.

  5. En lugar de aceptar el valor predeterminado de la misma VPC que la instancia de base de datos de Amazon RDS, elija una VPC diferente. Esta VPC debe estar en la misma región de AWS que la VPC donde reside el proxy.

  6. Ahora, en lugar de aceptar los valores predeterminados para subredes y grupos de seguridad de la misma VPC que la instancia de base de datos de Amazon RDS, haga nuevas selecciones. Estos se basen en las subredes y los grupos de seguridad de la VPC que eligió.

  7. No es necesario cambiar las opciones de configuración de los secretos de Secrets Manager. Las mismas credenciales funcionan para todos los puntos de enlace de proxy, independientemente de la VPC en la que se encuentre cada punto de enlace.

  8. Espere a que el punto de enlace nuevo alcance el estado de Available (Disponible).

  9. Anote el nombre completo del punto de enlace. Este es el valor que termina en Region_name.rds.amazonaws.com que proporciona como parte de la cadena de conexión para la aplicación de base de datos.

  10. Acceda al punto de enlace nuevo desde un recurso en la misma VPC que el punto de enlace. Una forma sencilla de probar este proceso es crear una instancia de EC2 nueva en esta VPC. A continuación, puede iniciar sesión en la instancia de EC2 y ejecutar los comandos mysql o psql para conectarse mediante el valor de punto de conexión en la cadena de conexión.