Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.
Uso del escalado automático en Managed Service para Apache Flink
Managed Service para Apache Flink escala elásticamente el paralelismo de la aplicación para adaptarse al rendimiento de datos de su fuente y a la complejidad del operador en la mayoría de los escenarios. El escalado automático está habilitado de forma predeterminada. Managed Service para Apache Flink supervisa el uso de recursos (CPU) de la aplicación y amplía o reduce el paralelismo de la aplicación elásticamente en consecuencia:
La aplicación escala verticalmente (aumenta el paralelismo) si la métrica máxima de CloudWatch
containerCPUUtilizationes superior al 75 por ciento o más durante 15 minutos. Esto significa que la acción deScaleUpse activa cuando hay 15 puntos de datos consecutivos con un período de 1 minuto iguales o superiores al 75 por ciento. Una acción deScaleUpduplica elCurrentParallelismde su aplicación.ParallelismPerKPUno se modifica. Como consecuencia, el número de KPU asignadas también se duplica.La aplicación se reduce verticalmente (reduce el paralelismo) cuando el uso de la CPU permanece por debajo del 10 por ciento durante seis horas. Esto significa que la acción de
ScaleDownse activa cuando hay 360 puntos de datos consecutivos con un período de 1 minuto inferiores al 10 por ciento. Una acción deScaleDownreduce a la mitad (redondeado hacia arriba) el paralelismo de la aplicación.ParallelismPerKPUno se modifica y el número de KPU asignadas también se reduce a la mitad (redondeado hacia arriba).
nota
Se puede hacer referencia a un período máximo de containerCPUUtilization de más de 1 minuto para encontrar la correlación con un punto de datos utilizado para la acción de escalado, pero no es necesario reflejar el momento exacto en que se inicia la acción.
Managed Service para Apache Flink no reducirá el valor CurrentParallelism de la aplicación a un valor inferior al de la configuración Parallelism de la aplicación.
Cuando el servicio de Managed Service para Apache Flink escale su aplicación, aparecerá en estado AUTOSCALING. Se puede comprobar el estado actual de su solicitud mediante las acciones DescribeApplication o ListApplications. Mientras el servicio escala la aplicación, la única acción válida de la API que se puede usar es StopApplication con el parámetro Force establecido en true.
Puede usar la propiedad AutoScalingEnabled (parte de FlinkApplicationConfiguration) para habilitar o deshabilitar el comportamiento de escalado automático. Se le cobrarán a su cuenta AWS las KPU suministradas por Managed Service para Apache Flink, lo cual es una función de la configuración parallelism y parallelismPerKPU de la aplicación. Si se produce un pico de actividad, ello aumentará los costos de Managed Service para Apache Flink.
Para obtener más información sobre precios, consulte Precios de Amazon Managed Service para Apache Flink
Tenga en cuenta lo siguiente en relación con el escalado de la aplicación:
El escalado automático está habilitado de forma predeterminada.
El escalado no se aplica a los cuadernos de Studio. Sin embargo, si implementa un cuaderno de Studio como una aplicación de estado perdurable, el escalado se aplicará a la aplicación implementada.
La aplicación tiene un límite predeterminado de 64 KPU. Para obtener más información, consulte Cuota de cuadernos de Managed Service para Apache Flink y cuadernos de Studio.
Cuando el escalado automático actualiza el paralelismo de la aplicación, la aplicación sufre un tiempo de inactividad. Para evitar este tiempo de inactividad, haga lo siguiente:
Deshabilite el escalado automático.
Configure
parallelismyparallelismPerKPUen la aplicación con la acción UpdateApplication. Para obtener más información sobre cómo realizar la configuración de paralelismo de la aplicación, consulte Actualización del paralelismo de la aplicación.Supervise periódicamente el uso de los recursos de la aplicación para comprobar que la aplicación tenga una configuración de paralelismo correcta adecuada para su carga de trabajo. Para obtener información sobre supervisión del uso de recursos de asignación, consulte Métricas y dimensiones en Managed Service para Apache Flink.
Implementación del escalado automático personalizado
Si quiere tener un control más preciso del escalado automático o utilizar otras métricas de activación que no sean containerCPUUtilization, se puede utilizar este ejemplo:
-
Este ejemplo ilustra cómo escalar la aplicación Managed Service para Apache Flink con una métrica de CloudWatch diferente a la de la aplicación Apache Flink, incluidas las métricas de Amazon MSK y Amazon Kinesis Data Streams, utilizadas como fuentes o receptores.
Para obtener información adicional, consulte Enhanced monitoring and automatic scaling for Apache Flink
Implementación del escalado automático programado
Si su carga de trabajo sigue un perfil predecible a lo largo del tiempo, tal vez prefiera escalar la aplicación Apache Flink de forma preventiva. Esto escala la aplicación a una hora programada, en lugar de escalarla de forma reactiva en función de una métrica. Para configurar el escalado ascendente y descendente a horas fijas del día, puede usar este ejemplo: