Amazon Aurora Auto Scaling con réplicas de Aurora
Para cumplir sus requisitos de conectividad y carga de trabajo, Auto Scaling de Aurora ajusta de forma dinámica el número de réplicas de Aurora (instancias de base de datos de lectura) aprovisionadas para un clúster de base de datos de Aurora. El Auto Scaling de Aurora está disponible para Aurora MySQL y Aurora PostgreSQL. Auto Scaling de Aurora permite a su clúster de base de datos Aurora hacer frente a los aumentos repentinos de conectividad o carga de trabajo. Cuando la conectividad o carga de trabajo disminuye, Auto Scaling de Aurora quita réplicas de Aurora innecesarias para evitar que tenga que pagar por instancias de base de datos aprovisionadas que no se utilicen.
Puede definir y aplicar una política de escalado a un clúster de base de datos Aurora. La política de escalado define el número mínimo y máximo de réplicas de Aurora que Auto Scaling de Aurora puede administrar. En función de la política, Auto Scaling de Aurora aumenta o reduce el número de réplicas de Aurora en respuesta a las cargas de trabajo reales, determinadas mediante las métricas de Amazon CloudWatch y los valores de destino.
nota
Aurora Auto Scaling no se aplica a la carga de trabajo de la instancia de base de datos del escritor. Aurora Auto Scaling solo ayuda con la carga de trabajo en las instancias de lector.
Puede usar la AWS Management Console para aplicar una política de escalado en función de una métrica predefinida. También puede utilizar la API de Auto Scaling de AWS CLI o Aurora para aplicar una política de escalado basada en una métrica predefinida o personalizada.
Temas
Antes de empezar
Antes de usar Aurora Auto Scaling con un clúster de base de datos de Aurora, primero debe crear un clúster de base de datos de Aurora con una instancia de base de datos principal (escritor). Para obtener más información acerca de la creación de un clúster de base de datos Aurora, consulte Creación de un clúster de base de datos de Amazon Aurora.
Aurora Auto Scaling solo escala un clúster de base de datos si este se encuentra en un estado disponible.
Cuando Auto Scaling de Aurora añade una nueva réplica de Aurora, la nueva réplica de Aurora es la misma clase de instancia de base de datos que la usada por la instancia principal. Para obtener más información acerca de las clases de instancias de bases de datos, consulte Clases de instancia de base de datos de Amazon Aurora. Además, la capa de promoción para las nuevas réplicas de Aurora se establecen en la última prioridad, que es 15 de forma predeterminada. Eso significa que durante una conmutación por error, una réplica con una mejor prioridad, como una creada manualmente, se promocionaría primero. Para obtener más información, consulte Tolerancia a errores para un clúster de base de datos de Aurora.
Auto Scaling de Aurora solo quita las réplicas de Aurora que ha creado.
Para poder beneficiarse de Auto Scaling de Aurora, sus aplicaciones deben admitir conexiones a nuevas réplicas de Aurora. Y para hacerlo, recomendamos que utilice el punto de enlace de lector de Aurora. Puede usar un controlador como el controlador JDBC de AWS. Para obtener más información, consulte Conexión a un clúster de base de datos Amazon Aurora.
nota
Las bases de datos globales Aurora actualmente no admiten Aurora Auto Scaling para clústeres de bases de datos secundarios.
Políticas de Auto Scaling de Aurora
Auto Scaling de Aurora usa una política de escalado para ajustar el número de réplicas de Aurora en un clúster de base de datos Aurora. Auto Scaling de Aurora tiene los siguientes componentes:
Una función vinculada a un servicio
Una métrica de destino
Capacidad mínima y máxima
Un periodo de recuperación
Temas
Rol vinculado a un servicio
Auto Scaling de Aurora usa el rol vinculado a un servicio AWSServiceRoleForApplicationAutoScaling_RDSCluster
. Para obtener más información, consulte Roles vinculados a servicios de Auto Scaling de aplicaciones en la Guía del usuario de Auto Scaling de aplicaciones.
Métrica de destino
En este tipo de política, una métrica predefinida o personalizada y un valor de destino de la métrica se especifica en una configuración de la política de escalado de seguimiento de destino. Auto Scaling de Aurora crea y administra las alarmas de CloudWatch que desencadenan la política de escalado y calcula el ajuste de escalado en función de la métrica y el valor objetivo. La política de escalado amplía o reduce las réplicas de Aurora en función de las necesidades para mantener la métrica en el valor objetivo especificado o en un valor próximo. Además de mantener la métrica próxima al valor de destino, la política de escalado de seguimiento de destino también se ajusta a las fluctuaciones de la métrica producidas por una carga de trabajo en constante cambio. Esta política también minimiza las fluctuaciones rápidas del número de réplicas de Aurora disponibles de su clúster de base de datos.
Por ejemplo, adopte una política de escalado que use la métrica de utilización de la CPU media predefinida. Esta política puede mantener la utilización de la CPU en el porcentaje de utilización especificado o en un valor próximo, como el 40 por ciento.
nota
Para cada clúster de base de datos Aurora, puede crear solo una política de Auto Scaling para cada métrica de destino.
Al configurar el escalado automático de Aurora, el valor de la métrica de destino se calcula como la media de todas las instancias de lectura del clúster. Este cálculo se realiza como se indica a continuación:
-
Incluye todas las instancias de lectura del clúster de Aurora, independientemente de si se administran mediante escalado automático o se agregan manualmente.
-
Incluye instancias asociadas a puntos de conexión personalizados. Los puntos de conexión personalizados no influyen en el cálculo de las métricas de destino.
-
No incluye la instancia de escritura del clúster.
Las métricas se derivan de CloudWatch mediante las siguientes dimensiones:
-
DBClusterIdentifier
-
Role=READER
Por ejemplo, considere un clúster de Aurora MySQL con la siguiente configuración:
-
Instancias manuales (no controladas por escalado automático):
-
Escritor con un 50 % de uso de la CPU
-
Lector 1 (punto de conexión personalizado:
custom-reader-1
) con un 90 % de utilización de la CPU -
Lector 2 (punto de conexión personalizado:
custom-reader-2
) con un 90 % de utilización de la CPU
-
-
Instancia de escalado automático:
-
Lector 3 (agregado mediante escalado automático) con un 10 % de uso de la CPU
-
En este escenario, la métrica de destino de la política de escalado automático se calcula de la siguiente manera:
Target metric = (CPU utilization of reader 1 + reader 2 + reader 3) / total number of readers Target metric = (90 + 90 + 10) / 3 = 63.33%
La política de escalado automático utiliza este valor para evaluar si se debe reducir horizontalmente o escalar horizontalmente en función del umbral definido.
Considere lo siguiente:
-
Aunque los puntos de conexión personalizados determinan cómo se redirige el tráfico a lectores específicos, no excluyen a los lectores del cálculo de las métricas.
-
Las instancias manuales siempre se incluyen en los cálculos de las métricas de destino.
-
Para evitar un comportamiento de escalado inesperado, asegúrese de que la configuración de escalado automático tenga en cuenta todas las instancias de lectura del clúster.
-
Si un clúster no tiene lectores, la métrica no se calcula y las alarmas de la política de escalado automático permanecen inactivas. Para que la política de escalado automático funcione eficazmente, debe haber al menos un lector presente en todo momento.
Capacidad mínima y máxima
Puede especificar el número máximo de réplicas de Aurora que Auto Scaling de aplicaciones va a administrar. Este valor debe establecerse en 0–15 y debe ser igual o superior al valor especificado para el número mínimo de réplicas de Aurora.
También puede especificar el número mínimo de réplicas de Aurora que Auto Scaling de aplicaciones va a administrar. Este valor debe establecerse en 0–15 y debe ser igual o inferior al valor especificado para el número máximo de réplicas de Aurora.
Debe haber al menos una instancia de base de datos de lector para que Aurora Auto Scaling funcione. Si el clúster de base de datos no tiene una instancia de lectura y usted establece la capacidad mínima en 0, Aurora Auto Scaling no funcionará.
nota
La capacidad mínima y máxima se establece para un clúster de base de datos Aurora. Los valores especificados se aplican a todas las políticas asociadas al clúster de base de datos Aurora.
Periodo de recuperación
Puede ajustar la capacidad de respuesta de una política de escalado de seguimiento de destino añadiendo periodos de recuperación que afecten a la ampliación o reducción de su clúster de base de datos Aurora. Un periodo de recuperación bloquea solicitudes de escalado descendente o ascendente posteriores hasta que vence el periodo. Estos bloques ralentizan las eliminaciones de réplicas de Aurora en su clúster de base de datos Aurora para solicitudes de escalado descendente y la creación de réplicas de Aurora para solicitudes de escalado ascendente.
Puede especificar los siguientes periodos de recuperación:
-
Una actividad de escalado descendente reduce el número de réplicas de Aurora en su clúster de base de datos Aurora. Un periodo de recuperación de escalado descendente especifica la cantidad de tiempo, en segundos, tras completarse una actividad de escalado descendente antes de que pueda comenzar otra actividad de escalado descendente.
-
Una actividad de escalado ascendente incrementa el número de réplicas de Aurora en su clúster de base de datos Aurora. Un periodo de recuperación de escalado ascendente especifica la cantidad de tiempo, en segundos, tras completarse una actividad de escalado ascendente antes de que pueda comenzar otra actividad de escalado ascendente.
nota
Se ignora un periodo de recuperación de escalado horizontal si una solicitud de escalado horizontal posterior es para un número mayor de réplicas de Aurora que la primera solicitud.
Si no establece el periodo de recuperación de escalado horizontal o vertical, el valor por defecto de cada uno es de 300 segundos.
Activar o desactivar actividades de escalado descendente
Puede habilitar o deshabilitar actividades de escalado descendente para una política. La habilitación de actividades de escalado descendente permite a la política de escalado eliminar réplicas de Aurora. Al habilitarse actividades de escalado descendente, el periodo de recuperación de escalado descendente de la política de escalado se aplica a las actividades de escalado descendente. La deshabilitación de actividades de escalado descendente impide a la política de escalado eliminar réplicas de Aurora.
nota
Las actividades de escalado ascendente siempre se habilitan de modo que la política de escalado pueda crear réplicas de Aurora según sea necesario.
Cómo añadir, editar o eliminar políticas de escalado automático
Puede añadir, editar o eliminar políticas de escalado automático utilizando la AWS Management Console, la AWS CLI o la API de escalado automático de aplicaciones. Para obtener más información sobre cómo añadir, editar o eliminar políticas de escalado automático, consulte las siguientes secciones.
Identificadores y etiquetado de instancias de base de datos
Cuando se agrega una réplica mediante Aurora Auto Scaling, su ID de instancia de base de datos tiene el prefijo application-autoscaling-
, por ejemplo, application-autoscaling-61aabbcc-4e2f-4c65-b620-ab7421abc123
.
La siguiente etiqueta se agrega automáticamente a la instancia de base de datos. Puede verla en la pestaña Etiquetas de la página de detalles de la instancia de base de datos.
Tag | Valor |
---|---|
application-autoscaling:resourceId | clúster:mynewclúster-clúster |
Para obtener más información acerca de las etiquetas de recursos Amazon RDS, consulte Etiquetado de los recursos de Amazon Aurora y Amazon RDS.
Aurora Auto Scaling e Información sobre rendimiento
Puede utilizar Información sobre rendimiento para supervisar las réplicas que ha añadido Aurora Auto Scaling, igual que con cualquier instancia de base de datos de lector de Aurora.
Para obtener más información acerca de cómo usar Información sobre rendimiento para supervisar los clústeres de base de datos de Aurora, consulte Monitoreo de la carga de base de datos con Performance Insights en Amazon Aurora.