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

Trabajo con puntos de enlace del proxy de Amazon RDS

A continuación, puede obtener más información acerca de los puntos de conexión para RDS Proxy y cómo utilizarlos. Mediante el uso de puntos de conexión de proxy, puede aprovechar las siguientes capacidades:

  • Puede utilizar varios puntos de enlace con un proxy para monitorear y solucionar problemas de conexiones de diferentes aplicaciones de forma independiente.

  • Puede utilizar un punto de enlace entre VPC para permitir el acceso a bases de datos de una VPC desde recursos como instancias de Amazon EC2 en una VPC diferente.

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.

En el caso de un punto de enlace de proxy que cree, también puede asociarlo con una nube privada virtual (VPC) diferente de la que utiliza el propio proxy. Al hacerlo, puede conectarse al proxy desde una VPC diferente, por ejemplo, una VPC utilizada por una aplicación diferente dentro de su 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.

En los registros de RDS Proxy, cada entrada tiene el prefijo del nombre del punto de enlace de proxy asociado. Este nombre puede ser el especificado para un punto de conexión definido por el usuario. O puede ser el nombre especial default para el punto de conexión predeterminado de un proxy que lleva a cabo solicitudes de lectura/escritura.

Cada punto de enlace de proxy tiene su propio conjunto de métricas de CloudWatch. Puede monitorear las métricas de todos los puntos de enlace de un proxy. También puede monitorear las métricas de un punto de enlace específico, o de todos los puntos de enlace de lectura y 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.

Puntos de conexión proxy para clúster de bases de datos 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 RDS Proxy.

  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.

Creación de un punto de enlace de proxy

Para crear un punto de enlace de proxy
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Proxies.

  3. Haga clic en el nombre del proxy para el que desea crear un punto de enlace nuevo.

    Aparecerá la página de detalles de ese proxy.

  4. En la sección de Proxy endpoints (Puntos de enlace de proxy), elija Crear endpoint proxy (Crear punto de enlace de proxy).

    Aparecerá la ventana de Create proxy endpoint (Crear punto de enlace de proxy).

  5. Para Proxy endpoint name (Nombre del punto de enlace de proxy), escriba un nombre descriptivo de su elección.

  6. Para Target role (Rol de destino), elija si desea que el punto de enlace sea de lectura o escritura o de solo lectura.

    Las conexiones que utilizan puntos de conexión de lectura/escritura pueden realizar cualquier tipo de operación, como instrucciones de lenguaje de definición de datos (DDL), instrucciones de lenguaje de manipulación de datos (DML) y consultas. Estos puntos de conexión siempre se conectan a la instancia principal del clúster de bases de datos de RDS. Puede utilizar puntos de enlace de lectura o escritura para operaciones generales de bases de datos cuando solo utiliza un punto de enlace único en la aplicación. También puede utilizar puntos de enlace de lectura o escritura para operaciones administrativas, aplicaciones de procesamiento de transacciones en línea (OLTP) y trabajos de extracción, transformación y carga (ETL).

    Las conexiones que utilizan un punto de enlace de solo lectura solo pueden realizar consultas. RDS Proxy puede utilizar una de las instancias de lector para cada conexión al punto de conexión. De esta manera, una aplicación que requiere un uso intensivo de consultas puede aprovechar la capacidad de agrupamiento en clúster del clúster de bases de datos Multi-AZ. Estas conexiones de solo lectura no imponen sobrecargas en la instancia principal del clúster. De esta manera, sus consultas de informes y análisis no ralentizan las operaciones de escritura de sus aplicaciones de OLTP.

  7. En Nube privada virtual (VPC), elija el valor predeterminado para acceder al punto de conexión desde las mismas instancias de EC2 u otros recursos que normalmente utiliza para acceder al proxy o a su base de datos asociada. Para configurar el acceso entre VPC para este proxy, elija una VPC distinta de la predeterminada. Para obtener más información sobre el acceso a través de VPC, consulte Acceso a las bases de datos de RDS en todas las VPC.

  8. En Subnets (Subredes), RDS Proxy rellena las mismas subredes que el proxy asociado de forma predeterminada. Para restringir el acceso al punto de conexión para que solo una parte del intervalo de direcciones de la VPC pueda conectarse a él, quite una o varias subredes.

  9. En VPC security group (Grupos de seguridad de la VPC), puede elegir un grupo de seguridad existente o crear uno nuevo. De forma predeterminada, el proxy de RDS rellena el mismo grupo o grupos de seguridad que el proxy asociado. Si las reglas entrantes y salientes del proxy son apropiadas para este punto de conexión, puede dejar la opción predeterminada.

    Si decide crear un grupo de seguridad nuevo, especifique un nombre para el grupo de seguridad en esta página. A continuación, edite la configuración del grupo de seguridad desde la consola de EC2.

  10. Elija Create proxy endpoint (Crear punto de enlace de proxy).

Para crear un punto de enlace de proxy, utilice el comando de AWS CLI create-db-proxy-endpoint.

Incluya los siguientes parámetros obligatorios:

  • --db-proxy-name value

  • --db-proxy-endpoint-name value

  • --vpc-subnet-ids list_of_ids. Separe los ID de subred con espacios. No se especifica el ID de la VPC en sí.

También puede incluir los siguientes parámetros opcionales:

  • --target-role { READ_WRITE | READ_ONLY }. El valor predeterminado de este parámetro es READ_WRITE. Cuando el proxy está asociado a un clúster de base de datos multi-AZ que solo contiene una instancia de base de datos de escritura, no puede especificar READ_ONLY. Para obtener más información sobre el uso previsto de puntos de conexión de solo lectura con clústeres de base de datos multi-AZ, consulte Puntos de conexión de lector para clústeres de base de datos Multi-AZ.

  • --vpc-security-group-ids value. Separe los ID de grupo de seguridad con espacios. Si omite este parámetro, el proxy de RDS utiliza el grupo de seguridad predeterminado de la VPC. El proxy de RDS determina la VPC en función de los ID de subred que especifique para el parámetro --vpc-subnet-ids.

ejemplo

En el ejemplo siguiente se crea un punto de enlace de proxy denominado my-endpoint.

Para Linux, macOS o Unix:

aws rds create-db-proxy-endpoint \ --db-proxy-name my-proxy \ --db-proxy-endpoint-name my-endpoint \ --vpc-subnet-ids subnet_id subnet_id subnet_id ... \ --target-role READ_ONLY \ --vpc-security-group-ids security_group_id ]

En Windows:

aws rds create-db-proxy-endpoint ^ --db-proxy-name my-proxy ^ --db-proxy-endpoint-name my-endpoint ^ --vpc-subnet-ids subnet_id_1 subnet_id_2 subnet_id_3 ... ^ --target-role READ_ONLY ^ --vpc-security-group-ids security_group_id

Para crear un punto de conexión proxy, utilice la acción CreateDBProxyEndpoint de la API de RDS.

Visualización de puntos de enlace de proxy

Para ver los detalles de un punto de enlace de proxy
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Proxies.

  3. En la lista, elija el proxy cuyo punto de enlace desea ver. Haga clic en el nombre del proxy para ver su página de detalles.

  4. En la sección Proxy endpoints (Puntos de enlace de proxy), elija el punto de enlace que desea ver. Haga clic en su nombre para ver la página de detalles.

  5. Examine los parámetros cuyos valores le interesan. Puede comprobar propiedades como las siguientes:

    • Si el punto de enlace es de lectura o escritura o de solo lectura.

    • La dirección de punto de enlace que se utiliza en una cadena de conexión de base de datos.

    • La VPC, las subredes y los grupos de seguridad asociados con el punto de enlace.

Para ver uno o más puntos de conexión de proxy, utilice el comando de AWS CLI describe-db-proxy-endpoints.

Puede incluir los siguientes parámetros opcionales:

  • --db-proxy-endpoint-name

  • --db-proxy-name

En el siguiente ejemplo se describe el punto de enlace de proxy de my-endpoint.

ejemplo

Para Linux, macOS o Unix:

aws rds describe-db-proxy-endpoints \ --db-proxy-endpoint-name my-endpoint

En Windows:

aws rds describe-db-proxy-endpoints ^ --db-proxy-endpoint-name my-endpoint

Para describir uno o más puntos de enlace de proxy, utilice la operación de API de RDS DescribeDBProxyEndpoints.

Modificación de un punto de enlace de proxy

Para modificar uno o varios puntos de enlace de proxy
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Proxies.

  3. En la lista, elija el proxy cuyo punto de enlace desea modificar. Haga clic en el nombre del proxy para ver su

  4. En la sección Proxy endpoints (Puntos de enlace de proxy), elija el punto de enlace que desea modificar. Puede seleccionarlo en la lista o hacer clic en su nombre para ver la página de detalles.

  5. En la página de detalles del proxy, en la sección de Proxy endpoints (Puntos de enlace de proxy), elija Edit (Editar). O en la página de detalles del punto de conexión de proxy, en Acciones, elija Editar.

  6. Cambie los valores de los parámetros que desee modificar.

  7. Elija Guardar cambios.

Para modificar un punto de conexión de proxy, utilice el comando de AWS CLI modify-db-proxy-endpoint con los siguientes parámetros requeridos:

  • --db-proxy-endpoint-name

Especifique los cambios en las propiedades del punto de enlace mediante uno o varios de los siguientes parámetros:

  • --new-db-proxy-endpoint-name

  • --vpc-security-group-ids. Separe los ID de grupo de seguridad con espacios.

En el ejemplo siguiente se cambia el nombre del punto de enlace de proxy de my-endpoint a new-endpoint-name.

ejemplo

Para Linux, macOS o Unix:

aws rds modify-db-proxy-endpoint \ --db-proxy-endpoint-name my-endpoint \ --new-db-proxy-endpoint-name new-endpoint-name

En Windows:

aws rds modify-db-proxy-endpoint ^ --db-proxy-endpoint-name my-endpoint ^ --new-db-proxy-endpoint-name new-endpoint-name

Para modificar un punto de enlace de proxy, utilice la operación de API de RDS ModifyDBProxyEndpoint.

Eliminación de un punto de enlace de proxy

Puede eliminar un punto de enlace para su proxy mediante la consola como se describe a continuación.

nota

No puede eliminar el punto de conexión de proxy predeterminado que RDS Proxy crea automáticamente para cada proxy.

Cuando elimina un proxy, RDS Proxy elimina automáticamente todos los puntos de enlace asociados.

Para eliminar un punto de enlace de proxy mediante AWS Management Console
  1. En el panel de navegación, seleccione Proxies.

  2. En la lista, elija el proxy cuyo punto de enlace desea establecer como punto de enlace. Haga clic en el nombre del proxy para ver su página de detalles.

  3. En la sección Proxy endpoints (Puntos de enlace de proxy), elija el punto de enlace que desea eliminar. Puede seleccionar uno o varios puntos de enlace de la lista o hacer clic en el nombre de un punto de enlace único para ver la página de detalles.

  4. En la página de detalles del proxy, en la sección de Proxy endpoints (Puntos de enlace de proxy), elija Delete (Eliminar). O en la página de detalles del punto de conexión de proxy, en Acciones, elija Eliminar.

Para eliminar un punto de enlace de proxy, ejecute el comando delete-db-proxy-endpoint con los siguientes parámetros requeridos:

  • --db-proxy-endpoint-name

El siguiente comando elimina el punto de enlace de proxy denominado my-endpoint.

Para Linux, macOS o Unix:

aws rds delete-db-proxy-endpoint \ --db-proxy-endpoint-name my-endpoint

En Windows:

aws rds delete-db-proxy-endpoint ^ --db-proxy-endpoint-name my-endpoint

Para eliminar un punto de enlace de proxy con la API de RDS, ejecute la operación DeleteDBProxyEndpoint. Especifique el nombre del punto de enlace de proxy para el parámetro DBProxyEndpointName.

Limitaciones para los puntos de conexión de proxy

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

  • Cada proxy tiene un punto de enlace predeterminado que puede modificar, pero no crear o eliminar.

  • 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.