Cómo funciona Aurora Serverless v2 - Amazon Aurora

Cómo funciona Aurora Serverless v2

La siguiente información general describe cómo funciona Aurora Serverless v2.

Información general de Aurora Serverless v2

Amazon Aurora Serverless v2 va bien para las cargas de trabajo más exigentes y muy variables. Por ejemplo, el uso de la base de datos puede ser intensivo durante un corto periodo de tiempo, seguido de largos periodos de poca actividad o de ninguna actividad en absoluto. Ejemplos de ello son sitios web de venta minorista, juegos o deportes con eventos promocionales periódicos y bases de datos que generan informes cuando se necesitan. Otros son entornos de desarrollo y pruebas y nuevas aplicaciones en las que el uso podría aumentar rápidamente. Para casos como estos y muchos otros, la configuración correcta de la capacidad por anticipado no siempre es posible con el modelo aprovisionado. También puede resultar en costos más elevados si se aprovisiona en exceso y tiene capacidad que no utiliza.

En cambio, los clústeres aprovisionados de Aurora van bien para cargas de trabajo estables. Los clústeres aprovisionados le permiten elegir una clase de instancia de base de datos que tenga una cantidad predefinida de memoria, capacidad de CPU, ancho de banda de E/S, etc. Si la carga de trabajo cambia, modificará manualmente la clase del escritor y los lectores. El modelo aprovisionado funciona bien cuando se puede ajustar con anticipación la capacidad de los patrones de consumo esperados y se aceptan interrupciones breves mientras cambia la clase del escritor y los lectores del clúster.

Aurora Serverless v2 se ha diseñado desde cero para admitir clústeres de base de datos sin servidor escalables al instante. Aurora Serverless v2 se ha diseñado para proporcionar el mismo grado de seguridad y aislamiento que con escritores y lectores aprovisionados. Estos aspectos son cruciales en entornos de nube sin servidor multitenant. El mecanismo de escalado dinámico tiene muy poca sobrecarga para que pueda responder rápidamente a los cambios en la carga de trabajo de la base de datos. También es lo suficientemente potente como para satisfacer los incrementos drásticos en la demanda de procesamiento.

Con Aurora Serverless v2 podrá crear un clúster de bases de datos Aurora sin quedar sujeto a una capacidad de base de datos específica para escritor y lector. El usuario especifica el rango mínimo y máximo de capacidad. Aurora escala cada instancia Aurora Serverless v2 de escritura o lectura en el clúster dentro de ese rango de capacidad. Usar un clúster Multi-AZ en el que cada escritor o lector puede escalar dinámicamente permite aprovechar el escalado dinámico y de una alta disponibilidad.

Aurora Serverless v2 escala los recursos de base de datos de forma automática en función de las especificaciones de capacidad mínima y máxima. El escalado es rápido, ya que la mayoría de las operaciones de eventos de escalado mantienen al escritor o al lector en el mismo host. En los raros casos en que una instancia Aurora Serverless v2 de escritura o lectura se mueve de un host a otro, Aurora Serverless v2 administra las conexiones automáticamente. No es necesario cambiar el código de la aplicación cliente de base de datos o las cadenas de conexión de base de datos.

Con Aurora Serverless v2, al igual que ocurre con los clústeres aprovisionados, la capacidad de almacenamiento y la capacidad informática son independientes. Cuando hablamos de capacidad y escalado de Aurora Serverless v2, lo hacemos siempre de la capacidad de computación que aumenta o disminuye. Por lo tanto, el clúster puede contener muchos terabytes de datos incluso cuando la capacidad de la CPU y la memoria se reducen a niveles bajos.

En lugar de aprovisionar y administrar los servidores de bases de datos, hay que especificar la capacidad de la base de datos. Para más detalles acerca de la capacidad en Aurora Serverless v2, consulte Capacidad de Aurora Serverless v2. La capacidad real de cada instancia Aurora Serverless v2 de escritor o de lector varía con el tiempo, según la carga de trabajo. Para obtener más información sobre este mecanismo, consulte Escalado en Aurora Serverless v2.

importante

Con Aurora Serverless v1, el clúster tiene una única medida de capacidad informática que puede escalar entre los valores de capacidad mínima y máxima. Con Aurora Serverless v2, el clúster puede contener lectores además del escritor. Cada escritor y lector Aurora Serverless v2 pueden escalar entre los valores de capacidad mínima y máxima. Por lo tanto, la capacidad total del clúster de Aurora Serverless v2 depende tanto del rango de capacidad que defina para el clúster de bases de datos como del número de escritores y lectores del clúster. En cualquier momento dado, solo se le cobrará por la capacidad de Aurora Serverless v2 que se estén utilizando activamente en el clúster de bases de datos de Aurora.

Configuraciones para clústeres de base de datos de Aurora

Para cada uno de sus clústeres de base de datos Aurora, puede elegir cualquier combinación de capacidad de Aurora Serverless v2, capacidad aprovisionada o ambas.

Puede configurar un clúster que contenga ambas, capacidad Aurora Serverless v2 y capacidad aprovisionada, llamado un clúster de configuración mixta. Por ejemplo, supongamos que necesita más capacidad de lectura/escritura de la disponible para un escritor Aurora Serverless v2. En este caso, puede configurar el clúster con un escritor aprovisionado muy grande. En ese caso, puede seguir utilizando Aurora Serverless v2 para los lectores. O, supongamos que la carga de trabajo de escritura del clúster varía pero la carga de trabajo de lectura es estable. En este caso, puede configurar el clúster con un escritor Aurora Serverless v2 y uno o más lectores aprovisionados.

También puede configurar un clúster de bases de datos en el que Aurora Serverless v2 administre toda la capacidad. Para ello, puede crear un nuevo clúster y utilizar Aurora Serverless v2 desde el principio. O bien, puede reemplazar toda la capacidad aprovisionada de un clúster existente por Aurora Serverless v2. Por ejemplo, algunas de las rutas de actualización de versiones anteriores del motor requieren comenzar con un escritor aprovisionado y reemplazarlo por un escritor Aurora Serverless v2. Para los procedimientos para crear un nuevo clúster de bases de datos con Aurora Serverless v2, o para cambiar un clúster de bases de datos existente a Aurora Serverless v2, consulte Creación de un clúster de bases de datos de Aurora Serverless v2 y Cambiar de un clúster aprovisionado a Aurora Serverless v2.

Si no utiliza Aurora Serverless v2 en absoluto en un clúster de bases de datos, todos los escritores y lectores del clúster de bases de datos serán aprovisionados. Este es el tipo de clúster de bases de datos más antiguo y común con el que la mayoría de los usuarios están familiarizados. De hecho, antes de Aurora Serverless, no había un nombre especial para este tipo de clúster de bases de datos de Aurora. La capacidad aprovisionada es constante. Los cargos son relativamente fáciles de pronosticar. No obstante, debe predecir de antemano cuánta capacidad necesita. En algunos casos, las predicciones pueden ser inexactas o las necesidades de capacidad pueden cambiar. En estos casos, el clúster de bases de datos puede estar infraprovisionado (más lento de lo que se desea) o sobreaprovisionado (más caro de lo que se desea).

Capacidad de Aurora Serverless v2

La unidad de medida de Aurora Serverless v2 es la unidad de capacidad Aurora (ACU). La capacidad de Aurora Serverless v2 no va vinculada a las clases de instancias de base de datos que se utilizan para los clústeres aprovisionados.

Cada ACU es una combinación de aproximadamente 2 gigabytes (GiB) de memoria, la CPU correspondiente y las redes. El rango de capacidad de la base de datos se especifica mediante esta unidad de medida. Las métricas ServerlessDatabaseCapacity y ACUUtilization le ayudan a determinar cuánta capacidad está utilizando realmente su base de datos y dónde se encuentra dentro del rango especificado.

En cualquier momento, cada instancia de base de datos de escritura o lectura Aurora Serverless v2 datos tiene una capacidad. La capacidad se representa como un número de coma flotante que representa la ACU. La capacidad aumenta o disminuye cada vez que el escritor o el lector se escalan. Este valor se mide cada segundo. Para cada clúster de bases de datos en el que se pretenda utilizar Aurora Serverless v2, se defines un rango de capacidad: los valores de capacidad mínima y máxima entre los que puede escalar cada escritor o lector Aurora Serverless v2. El rango de capacidad es el mismo para cada escritor o lector Aurora Serverless v2 en un clúster de bases de datos. Cada escritor o lector Aurora Serverless v2 tiene su propia capacidad, la cual corresponderá a algún punto en ese rango.

En la tabla siguiente se muestran los rangos de capacidad de Aurora Serverless v2 compatibles con Aurora MySQL y Aurora PostgreSQL.

Rango de capacidad (ACU) Versiones compatibles de Aurora MySQL Versiones compatibles de Aurora PostgreSQL
0,5–128 3.02.0 y versiones posteriores 13.6 y versiones posteriores, 14.3 y versiones posteriores, 15.2 y versiones posteriores, 16.1 y versiones posteriores
0,5–256 3.06.0 y versiones posteriores 13.13 y versiones posteriores, 14.10 y versiones posteriores, 15.5 y versiones posteriores, 16.1 y versiones posteriores

La capacidad para Aurora Serverless v2 inferior que puede definir es de 0,5 ACU. Puede especificar un número mayor si es menor o igual que el valor de capacidad máxima. Si se establece la capacidad mínima en un número pequeño, los clústeres de base de datos cargados ligeramente consumen recursos informáticos mínimos. Al mismo tiempo, permanecen listos para aceptar conexiones de inmediato y ampliarse cuando están ocupados.

Recomendamos establecer el mínimo en un valor que permita a cada instancia de base de datos de escritura o lectura mantener el conjunto de trabajo de la aplicación en el grupo del búfer. De esta forma, el contenido del grupo del búfer no se desecha durante los períodos de inactividad. Para saber todo lo que debe tener en cuenta a la hora de elegir el valor de capacidad mínima, consulte Elegir la configuración de capacidad de Aurora Serverless v2 mínima para un clúster. Para saber todo lo que debe tener en cuenta a la hora de elegir el valor de capacidad máxima, consulte Elegir la configuración de capacidad de Aurora Serverless v2 máxima para un clúster.

En función de cómo configure los lectores en una implementación multi-AZ, sus capacidades se pueden vincular a la capacidad del escritor o de forma independiente. Para obtener información detallada sobre cómo hacerlo, consulte Escalado en Aurora Serverless v2.

Supervisar Aurora Serverless v2 implica medir los valores de capacidad del escritor y los lectores del clúster de bases de datos a lo largo del tiempo. Si la base de datos no se reduce a la capacidad mínima, puede realizar acciones como ajustar el mínimo y optimizar la aplicación de base de datos. Si la base de datos alcanza su capacidad máxima de forma coherente, puede realizar acciones como aumentar el máximo. También puede optimizar la aplicación de base de datos y distribuir la carga de consultas entre más lectores.

Los cargos correspondientes a la capacidad de Aurora Serverless v2 se mide en términos de horas de ACU. Para obtener información acerca de cómo se calculan los cargos para Aurora Serverless v2, consulte la página de precios de Aurora.

Supongamos que el número total de escritores y lectores del clúster es n. En ese caso, el clúster consume aproximadamente n x minimum ACUs cuando no se está ejecutando ninguna operación de base de datos. Aurora puede ejecutar operaciones de supervisión o mantenimiento que provocan una pequeña cantidad de carga. Ese clúster no consume más de n x maximum ACUs cuando la base de datos se ejecuta a plena capacidad.

Para obtener más información sobre cómo elegir los valores de ACU mínimos y máximos adecuados, consulte Elegir el rango de capacidad de Aurora Serverless v2 para un clúster de Aurora. Los valores de ACU mínimo y máximo especificados también afectan a la forma en que funcionan algunos de los parámetros de configuración de Aurora para Aurora Serverless v2. Para obtener más información sobre la interacción entre el rango de capacidad y los parámetros de configuración, consulte Trabajo con los grupos de parámetros para Aurora Serverless v2.

Escalado en Aurora Serverless v2

Para cada escritor o lector Aurora Serverless v2, Aurora realiza un seguimiento continuo del uso de recursos como la CPU, la memoria y la red. Estas mediciones se denominan colectivamente carga. La carga incluye las operaciones de base de datos realizadas por la aplicación. También incluye procesamiento en segundo plano para el servidor de base de datos y tareas administrativas de Aurora. Cuando la capacidad queda limitada por cualquiera de ellos, Aurora Serverless v2 aumenta. Aurora Serverless v2 también se amplía cuando detecta problemas de rendimiento que se pueden resolver de esta manera. Puede supervisar la utilización de los recursos y cómo afecta al escalado en Aurora Serverless v2 mediante los procedimientos en Métricas importantes de Amazon CloudWatch para Aurora Serverless v2 y Supervisión del rendimiento de Aurora Serverless v2 con la información de rendimiento.

La carga puede variar según el escritor o los lectores del clúster de bases de datos. El escritor se encarga de todas las instrucciones de lenguaje de definición de datos (DDL), tales como CREATE TABLE, ALTER TABLE y DROP TABLE. El escritor también se encarga de todas las instrucciones de lenguaje de manipulación de datos (DML), como INSERT y UPDATE. Los lectores pueden procesar declaraciones de solo lectura, como consultas SELECT.

El escalado es la operación que aumenta o disminuye la capacidad de Aurora Serverless v2 para la base de datos. Con Aurora Serverless v2, escritor y lector tiene su propio valor de capacidad en uso, medida en ACU. Aurora Serverless v2 escala un escritor o lector a una mayor capacidad cuando su capacidad en uso es demasiado baja para manejar la carga. Escala el escritor o el lector a una capacidad inferior cuando su capacidad en uso es superior a la necesaria.

A diferencia de Aurora Serverless v1, que escala duplicando las ACU cada vez que el clúster de bases de datos alcanza un límite, Aurora Serverless v2 puede aumentar la capacidad incrementalmente. Cuando la demanda de carga de trabajo comienza a alcanzar la capacidad de base de datos en uso de un escritor o un lector, Aurora Serverless v2 aumenta el número de ACU de ese escritor y lector. Aurora Serverless v2 escala la capacidad en función de los incrementos necesarios para proporcionar el mejor rendimiento de los recursos consumidos. El escalado se produce en incrementos tan pequeños como 0,5 ACU. Cuanto mayor sea la capacidad en uso, mayor será el incremento de escalado y, por lo tanto, más rápido puede producirse el escalado.

Ya que el escalado en Aurora Serverless v2 es tan frecuente, granular y no disruptivo, no genera eventos discretos en la AWS Management Console igual que lo hace Aurora Serverless v1. En su lugar, puede medir las métricas de Amazon CloudWatch, como ServerlessDatabaseCapacity y ACUUtilization y hacer un seguimiento de sus valores mínimo, máximo y medio a lo largo del tiempo. Para obtener más información sobre las métricas de Aurora, consulte Supervisión de métricas en un clúster de Amazon Aurora. Para ver sobre cómo supervisar Aurora Serverless v2, consulte Métricas importantes de Amazon CloudWatch para Aurora Serverless v2.

Puede elegir escalar el lector al mismo tiempo que el escritor asociado o independientemente del escritor. Para ello, especifique el nivel de promoción de ese lector.

  • Los lectores en niveles de promoción 0 y 1 se escalan al mismo tiempo que el escritor. Este comportamiento de escalado hace que los lectores de los niveles prioritarios 0 y 1 sean ideales para disponibilidad. Esto se debe a que siempre tienen el tamaño adecuado para asumir la carga de trabajo de escritura en caso de conmutación por error.

  • Los lectores de los niveles de promoción 2 a 15 escalan independientemente del escritor. Cada lector se mantiene dentro de los valores de ACU mínimo y máximo especificados para el clúster. Cuando un lector escala independientemente de la base de datos de escritura asociada, puede pasar a quedar inactiva y reducirse mientras el escritor continúa procesando un gran volumen de transacciones. Sigue disponible como objetivo de conmutación por error si no hay otros lectores disponibles en niveles de promoción más bajos. No obstante, si se promueve para ser el escritor, es posible que tenga que escalar para manejar toda la carga de trabajo del escritor.

Para obtener información detallada sobre los niveles de promoción, consulte Elegir el nivel de promoción para un lector Aurora Serverless v2.

Las nociones de los puntos de escala y los periodos de tiempo de espera asociados desde Aurora Serverless v1 no son aplicables en Aurora Serverless v2. El escalado en Aurora Serverless v2 puede ocurrir mientras hay conexiones de base de datos abiertas, mientras hay transacciones SQL en proceso, mientras hay tablas bloqueadas y mientras se utilizan tablas temporales. Aurora Serverless v2 no espera a que un llegue punto de dewscanso para comenzar a escalar. El escalado no interrumpe ninguna operación de base de datos en curso.

Si la carga de trabajo requiere más capacidad de lectura de la disponible con un solo escritor y un solo lector, puede agregar varios lectores Aurora Serverless v2 al clúster. Cada lector Aurora Serverless v2 puede escalar dentro de los valores de capacidad mínimo y máximo especificados para el clúster de bases de datos. Puede utilizar el punto de conexión del lector del clúster para dirigir las sesiones de solo lectura a los lectores y reducir la carga en el escritor.

Que Aurora Serverless v2 realice un escalado y lo rápido que se produzca el escalado una vez que se inicie, también dependerá de la configuración de ACU mínima y máxima para el clúster. Además, depende de si un lector está configurado para escalar junto con el escritor o independientemente de él. Para obtener información acerca de los factores que afectan al escalado de Aurora Serverless v2, consulte Rendimiento y escalado para Aurora Serverless v2.

nota

En la actualidad, los escritores y los lectores Aurora Serverless v2 no se escalan hasta cero ACU. Los escritores y los lectores Aurora Serverless v2 pueden escalarse hasta el valor de ACU mínimo especificado para el clúster.

Ese comportamiento es diferente de Aurora Serverless v1, que puede detenerse después de un período de inactividad, pero luego tarda algún tiempo en reanudarse al abrir una nueva conexión. Cuando el clúster de bases de datos con capacidad Aurora Serverless v2 no se necesita durante algún tiempo, puede detener e iniciar clústeres como con los clústeres de bases de datos aprovisionados. Para obtener información sobre cómo detener e iniciar clústeres, consulte Detención e inicio de un clúster de bases de datos de Amazon Aurora.

Aurora Serverless v2 y alta disponibilidad

La forma de establecer una alta disponibilidad para un clúster de bases de datos Aurora es convertirlo en un clúster de bases de datos Multi-AZ. Un clúster de bases de datos Aurora Multi-AZ tiene capacidad informática disponible en todo momento en más de una zona de disponibilidad (AZ). Esta configuración mantiene la base de datos en funcionamiento incluso en caso de una interrupción significativa. Aurora realiza una conmutación por error automática en caso de que se produzca un problema que afecte al escritor o incluso a toda la zona de disponibilidad. Con Aurora Serverless v2 puede elegir que la capacidad de computación en espera se amplíe y disminuya junto con la capacidad de escritura. De esta forma, la capacidad de computación en la segunda zona de disponibilidad queda lista para asumir la carga de trabajo actual en cualquier momento. Al mismo tiempo, la capacidad de computación de todas las zonas de disponibilidad puede reducirse cuando la base de datos está inactiva. Para obtener más información sobre cómo funciona Aurora con Regiones de AWS y las zonas de disponibilidad, consulte Alta disponibilidad para instancias de bases de datos de Aurora.

La capacidad Multi-AZ de Aurora Serverless v2 utiliza lectores además del escritor. La compatibilidad para lectores es nueva para Aurora Serverless v2 en comparación con Aurora Serverless v1. Puede añadir hasta 15 lectores de Aurora Serverless v2 distribuidos en tres zonas de disponibilidad en un clúster de bases de datos de Aurora.

Para aplicaciones críticas para el negocio que deben permanecer disponibles incluso en caso de que se produzca un problema que afecte a todo el clúster o a toda la región de AWS, puede configurar una base de datos global de Aurora. Puede usar la capacidad de Aurora Serverless v2 en los clústeres secundarios para que estén listos para asumir el control durante la recuperación ante desastres. También se pueden reducir cuando la base de datos no está ocupada. Para obtener información detallada sobre bases de datos globales de Aurora, consulte Uso de bases de datos globales de Amazon Aurora.

Aurora Serverless v2 funciona como aprovisionado para conmutación por error y otras funciones de alta disponibilidad. Para obtener más información, consulte Alta disponibilidad para Amazon Aurora.

Supongamos que desea garantizar la máxima disponibilidad de su clúster de Aurora Serverless v2. Puede crear un lector además del escritor. Si asigna al lector al nivel de promoción 0 o 1, cualquier escalado que ocurra para el escritor también se producirá en el lector. De esta forma, un lector con capacidad idéntica siempre estará listo para sustituir al escritor en caso de conmutación por error.

Supongamos que desea ejecutar informes trimestrales para su empresa al mismo tiempo que el clúster continúa procesando transacciones. Si añade un lector Aurora Serverless v2 al clúster y lo asigna a un nivel de promoción del 2 al 15, puede conectarse directamente a ese lector para ejecutar los informes. Dependiendo del uso intensivo de memoria y de la CPU que hagan las consultas de informes, ese lector puede escalar para adaptarse a la carga de trabajo. A continuación, puede reducirse de nuevo cuando los informes hayan finalizado.

Aurora Serverless v2 y almacenamiento

El almacenamiento de cada clúster de bases de datos Aurora consta de seis copias de todos sus datos, repartidas en tres zonas de disponibilidad. Esta replicación de datos integrada se aplica independientemente de si el clúster de bases de datos incluye lectores además del escritor. De esta forma, sus datos están seguros, incluso ante problemas que afecten a la capacidad de computación del clúster.

El almacenamiento de Aurora Serverless v2 tiene las mismas características de fiabilidad y durabilidad que se describen en Almacenamiento de Amazon Aurora. Esto se debe a que el almacenamiento de los clústeres de bases de datos Aurora funciona igual tanto si la capacidad de computación utiliza Aurora Serverless v2 como si es aprovisionada.

Parámetros de configuración de los clústeres de Aurora

Puede ajustar los mismos parámetros de configuración de clúster y base de datos para clústeres con capacidad de Aurora Serverless v2 como para clústeres de base de datos aprovisionados. Sin embargo, algunos parámetros relacionados con la capacidad se manejan de forma diferente para Aurora Serverless v2. En un clúster de configuración mixta, los valores de los parámetros especificados para esos parámetros relacionados con la capacidad se siguen aplicando a los escritores y los lectores aprovisionados.

Casi todos los parámetros funcionan de la misma manera para los escritores y los lectores Aurora Serverless v2 que para los aprovisionados. Las excepciones son algunos parámetros que Aurora ajusta automáticamente durante el escalado y algunos parámetros que Aurora mantiene en valores fijos que dependen de la configuración de capacidad máxima.

Por ejemplo, la cantidad de memoria reservada para la memoria caché del búfer aumenta a medida que un escritor o un lector aumenta y disminuye cuando se reduce la escala. De esta forma, la memoria se puede liberar cuando la base de datos no está ocupada. Por el contrario, Aurora establece automáticamente el número máximo de conexiones en un valor adecuado según la configuración de capacidad máxima. De esta forma, las conexiones activas no se pierden si la carga cae y Aurora Serverless v2escala a menos. Para obtener información acerca de cómo Aurora Serverless v2 gestiona parámetros específicos, consulte Trabajo con los grupos de parámetros para Aurora Serverless v2.