Conexión a la base de datos global de Amazon Aurora - Amazon Aurora

Conexión a la base de datos global de Amazon Aurora

Cada base de datos global de Aurora incluye un punto de conexión del escritor que Aurora actualiza automáticamente para enrutar las solicitudes a la instancia del escritor actual del clúster de base de datos principal. Con el punto de conexión del escritor, no tiene que modificar la cadena de conexión después de cambiar la ubicación de la región principal mediante las funciones administradas de transición y conmutación por error de la Base de datos global de Aurora. Para obtener más información sobre el uso del punto de conexión del escritor junto con la transición y la conmutación por error de la base de datos global de Aurora, consulte Uso de la transición o la conmutación por error en la base de datos global de Amazon Aurora. Para obtener información sobre cómo conectarse a una base de datos global de Aurora con un proxy de RDS, consulte Uso del proxy de RDS con bases de datos globales de Aurora.

Elección del punto de conexión que se adapte a las necesidades de su aplicación

La conexión a una base de datos global de Aurora depende de su necesidad de leer o escribir desde la base de datos y de la región de AWS a la que desee dirigir sus solicitudes. Estas son algunas situaciones de uso típicas:

  • Enrutamiento de solicitudes a la instancia de escritor: conéctese al punto de conexión de escritor de Base de datos global de Aurora si necesita ejecutar instrucciones de lenguaje de manipulación de datos (DML) y de definición de datos (DDL), o si necesita una coherencia sólida entre las lecturas y las escrituras. Ese punto de conexión redirige las solicitudes a la instancia del escritor del clúster principal de la base de datos global. Este punto de conexión se actualiza automáticamente para dirigir las solicitudes a la instancia del escritor, lo que elimina la necesidad de actualizar la aplicación cada vez que se cambia la ubicación del escritor en el clúster global. También puede utilizar el punto de conexión global para enviar solicitudes de lectura/escritura entre regiones a su escritor.

    nota

    Si configuró la base de datos global antes de que estuviera disponible el punto de conexión del escritor de la base de datos global de Aurora, la aplicación podría conectarse al punto de conexión del clúster principal. En este caso, le recomendamos que cambie la configuración de conexión para utilizar en su lugar el punto de conexión del escritor global. De este modo, se evita la necesidad de cambiar la configuración de la conexión después de cada transición o conmutación por error de la base de datos global de Aurora.

    La primera parte del nombre del punto de conexión del escritor es el nombre de la base de datos global de Aurora. Por lo tanto, si cambia el nombre de la base de datos global de Aurora, el nombre del punto de conexión del escritor cambia y cualquier código que lo utilice debe actualizarse con el nuevo nombre.

  • Escalado de lecturas más cercanas a la región de la aplicación: para escalar las solicitudes de solo lectura en la misma región o en una región de AWS cercana a la de la aplicación, conéctese al punto de conexión del lector de los clústeres de Aurora principal o secundario.

  • Escalado de lecturas con escrituras ocasionales entre regiones: para instrucción de DML ocasionales, como las relacionadas con el mantenimiento y la limpieza de datos, conéctese al punto de conexión del lector de un clúster secundario que tenga habilitada el reenvío de escritura. Con el reenvío de escrituras, Aurora reenvía automáticamente las instrucciones escritas al escritor de la región principal de su base de datos global de Aurora. El reenvío de escrituras proporciona los siguientes beneficios:

    • No es necesario hacer el trabajo pesado para establecer la conectividad entre los clústeres secundario y principal para enviar escrituras entre regiones.

    • No es necesario dividir las solicitudes de lectura y escritura en la aplicación.

    • No es necesario desarrollar una lógica compleja para administrar la coherencia de las solicitudes de lectura después de escritura.

    Sin embargo, con el reenvío de escritura, es necesario actualizar el código o la configuración de la aplicación para conectarse al punto de conexión de lectura de la región principal recién promocionada tras realizar una conmutación por error o transición entre regiones. Le recomendamos que supervise la latencia de las operaciones que se realizan mediante el reenvío de escritura para evitar la sobrecarga que supone el procesamiento de las solicitudes de escritura. Por último, el reenvío de escritura no admite determinadas operaciones de MySQL o PostgreSQL, como realizar instrucciones SELECT FOR UPDATE o cambios en el lenguaje de definición de datos (DDL).

    Para obtener más información sobre el uso del reenvío de escrituras en todas las regiones de AWS, consulte Uso del reenvío de escritura en una base de datos Amazon Aurora global.

Para obtener más información sobre los distintos tipos de puntos de conexión de Aurora, consulte Conexión a un clúster de base de datos Amazon Aurora.

Visualización de los puntos de conexión de una base de datos global de Amazon Aurora

Al ver una base de datos global de Aurora en la consola, puede consultar todos los puntos de conexión asociados a todos los clústeres. En la siguiente figura se muestra un ejemplo de los tipos de puntos de conexión que ve al consultar los detalles de su clúster de base de datos principal:

  • Escritor global: el único punto de conexión de lectura/escritura que siempre apunta a la instancia de base de datos de escritor actual del clúster de base de datos global.

  • Escritor: el punto de conexión de la conexión para las solicitudes de lectura/escritura al clúster de base de datos principal del clúster de base de datos global.

  • Lector: el punto de conexión de la conexión para las solicitudes de solo lectura a un clúster de base de datos principal o secundario del clúster de base de datos global. Para minimizar la latencia, elija el punto de conexión del lector de la Región de AWS o la Región de AWS que esté más cercana a usted.

En la consola RDS, la pestaña Conectividad y seguridad de una base de datos global de Aurora muestra el punto de conexión de escritura global.
Par ver los puntos de conexión de una base de datos global
  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, elija Databases (Bases de datos).

  3. En la lista, elija la base de datos global o el clúster de base de datos principal o secundario cuyos puntos de conexión desea ver.

  4. Seleccione la pestaña Conectividad y seguridad para ver los detalles del punto de conexión. Los puntos de conexión mostrados dependen del tipo de clúster que ha seleccionado, de la siguiente manera:

    • Base de datos global: el punto de conexión del escritor global.

    • Clúster de base de datos principal: el punto de conexión del escritor global y el punto de conexión del clúster y el punto de conexión del lector del clúster principal.

    • Clúster de base de datos secundario: el punto de conexión del clúster y el punto de conexión del lector del clúster secundario. En un clúster secundario, el punto de conexión del clúster muestra el estado inactivo porque no administra las solicitudes de escritura. Aún puede conectarse al punto de conexión del clúster, pero solo para consultas de lectura.

Para ver el punto de conexión del escritor del clúster global, use el comando describe-global-clusters de la AWS CLI, como en el siguiente ejemplo.

aws rds describe-global-clusters --region aws_region { "GlobalClusters": [ { "GlobalClusterIdentifier": "global_cluster_id", "GlobalClusterResourceId": "cluster-unique_string", "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:global_cluster_id", "Status": "available", "Engine": "aurora-mysql", "EngineVersion": "5.7.mysql_aurora.2.11.2", "GlobalClusterMembers": [ ... ], "Endpoint": "global_cluster_id.global-unique_string.global.rds.amazonaws.com" } ] }

Para ver los puntos de conexión del clúster y del lector de los clústeres de base de datos miembros del clúster global, utilice el comando describe-db-clusters de la AWS CLI, como en el siguiente ejemplo. Los valores devueltos para Endpoint y ReaderEndpoint son los puntos de conexión del clúster y del lector, respectivamente.

aws rds describe-db-clusters --region primary_region --db-cluster-identifier db_cluster_id { "DBClusters": [ { "AllocatedStorage": 1, "AvailabilityZones": [ "az_1", "az_2", "az_3" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "db_cluster_id", "DBClusterParameterGroup": "default.aurora-mysql5.7", "DBSubnetGroup": "default", "Status": "available", "EarliestRestorableTime": "2023-08-01T18:21:11.301Z", "Endpoint": "db_cluster_id.cluster-unique_string.primary_region.rds.amazonaws.com", "ReaderEndpoint": "db_cluster_id.cluster-ro-unique_string.primary_region.rds.amazonaws.com", "MultiAZ": false, "Engine": "aurora-mysql", "EngineVersion": "5.7.mysql_aurora.2.11.2", "ReadReplicaIdentifiers": [ "arn:aws:rds:secondary_region:123456789012:cluster:db_cluster_id" ], "DBClusterMembers": [ { "DBInstanceIdentifier": "db_instance_id", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ], ... "TagList": [], "GlobalWriteForwardingRequested": false } ] }

Para ver el punto de conexión del escritor del clúster global, utilice la operación DescribeGlobalClusters de la API de RDS. Para ver los puntos de conexión del clúster y del lector de los clústeres de base de datos miembros del clúster global, utilice el comando DescribeDBClusters de la API de RDS.

Consideraciones sobre el uso de los puntos de conexión del escritor global

Puede hacer un uso eficaz de los puntos de conexión del escritor de la base de datos global de Aurora siguiendo estas pautas y prácticas recomendadas:

  • Para minimizar las interrupciones tras una conmutación por error o transición entre regiones, puede configurar la conectividad de VPC entre el procesamiento de la aplicación y las regiones de AWS principal y secundaria. Por ejemplo, supongamos que tiene aplicaciones o sistemas cliente que se ejecutan en la misma VPC que el clúster principal. Si se promociona el clúster secundario, el punto de conexión del escritor global cambia automáticamente para apuntar a ese clúster. Si bien el punto de conexión del escritor global le permite evitar cambiar la configuración de conexión de su aplicación, sus aplicaciones no pueden acceder a las direcciones IP de la VPC de la región de AWS principal recién promocionada hasta que configure las redes entre las dos VPC. Consulte Amazon VPC-to-Amazon VPC connectivity options para evaluar las diferentes opciones para configurar esta conectividad.

  • La actualización del punto de conexión del escritor global tras una transición o conmutación por error de base de datos global puede tardar mucho tiempo en función de la duración del almacenamiento en caché del sistema de nombres de dominio (DNS). Consulte el manual del administrador de base de datos Amazon Aurora MySQL para obtener más información. La base de datos global de Aurora emite un evento de RDS cuando ve el cambio de DNS en el punto de conexión del escritor global. Puede utilizar el evento para diseñar estrategias que garanticen que la memoria caché del DNS no se extienda más allá del tiempo transcurrido desde que se haya generado el evento. Para obtener más información, consulte Eventos de clúster de bases de datos.

  • La base de datos global de Aurora replica los datos de forma asíncrona. Los métodos de conmutación por error entre regiones pueden provocar algunos datos de transacciones de escritura que no se replicaron en el secundario elegido antes de que se iniciara la conmutación por error. Si bien Aurora intenta bloquear las escrituras en la región de AWS principal original, la conmutación por error puede provocar problemas de cerebro dividido. Las consideraciones para minimizar la pérdida de datos y el riesgo de división cerebral también se aplican a los puntos de conexión del escritor de base de datos global de Aurora. Para obtener más información, consulte Ejecución de la conmutación por error administrada para bases de datos globales de Aurora.