Use a escalabilidade automática no Managed Service for Apache Flink - Managed Service for Apache Flink

Anteriormente, o Amazon Managed Service for Apache Flink (Amazon MSF) era conhecido como Amazon Kinesis Data Analytics for Apache Flink.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use a escalabilidade automática no Managed Service for Apache Flink

O Managed Service for Apache Flink dimensiona elasticamente o paralelismo de seu aplicativo para acomodar o throughput de dados de sua fonte e a complexidade de seu operador na maioria dos cenários. O ajuste de escala automático está habilitado por padrão. O Managed Service for Apache Flink monitora o uso de recursos (CPU) do seu aplicativo e aumenta ou diminui elasticamente o paralelismo do seu aplicativo de acordo com:

  • Seu aplicativo aumenta (aumenta o paralelismo) se o máximo da CloudWatch métrica containerCPUUtilization for maior que 75 por cento ou mais por 15 minutos. Isso significa que a ação ScaleUp é iniciada quando há 15 pontos de dados consecutivos com um período de 1 minuto igual ou superior a 75%. Uma ação ScaleUp dobra o CurrentParallelism do seu aplicativo. O ParallelismPerKPU não é modificado. Como consequência, o número de alocados KPUs também dobra.

  • Seu aplicativo reduz a escala verticalmente (diminui o paralelismo) quando o uso da CPU permanece abaixo de 10% por seis horas. Isso significa que a ação ScaleDown é iniciada quando há 360 pontos de dados consecutivos com um período de 1 minuto inferior a 10%. Uma ScaleDown ação divide pela metade (arredondando para cima) o paralelismo do aplicativo. ParallelismPerKPUnão é modificado, e o número de alocados KPUs também é reduzido pela metade (arredondado para cima).

nota

Um período máximo de containerCPUUtilization acima de 1 minuto pode ser referenciado para encontrar a correlação com um ponto de dados usado para a ação de escalabilidade, mas não é necessário refletir o momento exato em que a ação é iniciada.

O Managed Service for Apache Flink não reduzirá o valor CurrentParallelism do seu aplicativo para menos do que a configuração Parallelism do seu aplicativo.

Quando o serviço do Managed Service for Apache Flink estiver escalando seu aplicativo, ele estará no status AUTOSCALING. Você pode verificar o status atual da sua inscrição usando as ListApplicationsações DescribeApplicationou. Enquanto o serviço está escalando seu aplicativo, a única ação de API válida que você pode usar é StopApplicationcom o Force parâmetro definido como. true

Você pode usar a propriedade AutoScalingEnabled (parte de FlinkApplicationConfiguration) para ativar ou desativar o comportamento de ajuste de escala automático. Sua AWS conta é cobrada pelas KPUs provisões do Managed Service for Apache Flink, que é uma função do seu aplicativo parallelism e parallelismPerKPU das configurações. Um pico de atividade aumenta os custos do Managed Service for Apache Flink.

Para obter mais informações sobre preços, consulte Preço do Amazon Managed Service for Apache Flink.

Observe o seguinte sobre escalonamento de aplicativo:

  • O ajuste de escala automático está habilitado por padrão.

  • O escalonamento não se aplica aos blocos de anotações do Studio. No entanto, se você implantar um bloco de anotações do Studio como um aplicativo de estado durável, o escalonamento será aplicado ao aplicativo implantado.

  • Seu aplicativo tem um limite padrão de 64 KPUs. Para obter mais informações, consulte Quota do notebook do Managed Service for Apache Flink e Studio.

  • Quando o ajuste automático de escala automático atualiza o paralelismo do aplicativo, o aplicativo passa por um tempo de inatividade. Para evitar esse tempo de inatividade, faça o seguinte:

Implemente a escalabilidade automática personalizada

Se você quiser um controle mais refinado sobre a escalabilidade automática ou usar outras métricas diferentes de containerCPUUtilization, você pode usar este exemplo:

  • AutoScaling

    Esses exemplos ilustram como escalar seu aplicativo Managed Service for Apache Flink usando uma CloudWatch métrica diferente da aplicação Apache Flink, incluindo métricas do Amazon MSK e do Amazon Kinesis Data Streams, usadas como fontes ou coletores.

Para obter informações adicionais, consulte Monitoramento aprimorado e escalabilidade automática para o Apache Flink.

Implemente a escalabilidade automática programada

Se sua workload seguir um perfil previsível ao longo do tempo, talvez você prefira escalar seu aplicativo Apache Flink preventivamente. Isso escala seu aplicativo em um horário programado, em vez de escalar reativamente com base em uma métrica. Para configurar a escalabilidade vertical e horizontal em horários fixos do dia, você pode usar este exemplo: