Usar padrões históricos para escalar os serviços do Amazon ECS com escalabilidade preditiva
A escalabilidade preditiva utiliza dados de carga anteriores dos fluxos de tráfego para analisar padrões diários ou semanais. Em seguida, ela usa essa análise para prever necessidades futuras e aumentar proativamente as tarefas em seu serviço, conforme necessário.
O ajuste de escala automático preditivo é mais útil nas situações a seguir.
-
Tráfego cíclico: maior utilização de recursos durante o horário comercial e utilização reduzida de recursos durante a noite e nos fins de semana.
-
Padrões recorrentes de workloads intermitentes: exemplos incluem processamento em lote, testes ou análise periódica de dados.
-
Aplicações com tempo de inicialização longo: isso pode afetar a performance da aplicação durante eventos de aumentar a escala horizontalmente, causando latência perceptível.
Se suas aplicações demoram muito para inicializar e o tráfego aumenta em um padrão regular, considere o uso de escalabilidade preditiva. Ela ajuda você a escalar mais rapidamente aumentando proativamente o número de tarefas para cargas previstas, em vez de usar políticas de escalabilidade dinâmica, como Rastreamento de destino ou Escalabilidade em etapas, sozinhas. Ao ajudar você a evitar a possibilidade de provisionar excessivamente o número de tarefas, a escalabilidade preditiva também pode economizar dinheiro.
Por exemplo, considere uma aplicação com elevado índice de utilização durante o horário comercial e baixo uso durante a noite. No início de cada dia útil, a escalabilidade preditiva pode aumentar a escala para execução de tarefas antes do primeiro fluxo de tráfego. Isso ajuda sua aplicação a manter alta disponibilidade e performance ao passar de um período de menor utilização para um período de maior utilização. Você não precisa esperar que a escalabilidade dinâmica reaja à mudança de tráfego. Você também não precisa gastar tempo revisando os padrões de carga da aplicação e tentando alocar a quantidade certa de tarefas usando a escalabilidade programada.
Conteúdo
Saiba como a escalabilidade preditiva funciona com o Amazon ECS
Aqui você pode conhecer as considerações relacionadas o uso da escalabilidade preditiva, como ela funciona e quais são os limites.
Considerações sobre o uso da escalabilidade preditiva
-
Você deseja garantir que a escalabilidade preditiva seja adequada à sua workload. Você pode verificar isso configurando políticas de escalabilidade no modo somente previsão e ver a recomendação feita pelo console. Você deve avaliar a previsão e as recomendações antes de começar a usar a escalabilidade preditiva.
-
Antes que a escalabilidade preditiva possa iniciar a previsão, pelo menos 24 horas de dados históricos são necessários. Quanto mais dados históricos estiverem disponíveis, mais eficaz será a previsão, sendo duas semanas o ideal. Também será necessário aguardar 24 horas antes que a escalabilidade preditiva possa gerar novas previsões quando um serviço do Amazon ECS é excluído e um novo serviço é criado. Uma maneira de acelerar isso é usar métricas personalizadas para agregar métricas no novo serviço e no serviço antigo do Amazon ECS.
-
Escolha uma métrica de carga que represente com precisão a carga total da sua aplicação e que seja o aspecto mais importante a ser escalado.
-
A escalabilidade dinâmica com escalabilidade preditiva ajuda você a acompanhar de perto a demanda da sua aplicação para que você possa reduzir a escala durante períodos de calmaria e aumentá-la durante aumentos inesperados no tráfego. Quando várias políticas de escalabilidade estão ativas, cada política determina o número de tarefas desejadas de forma independente, e esse número é definido como o maior entre eles.
-
É possível usar a escalabilidade preditiva junto com suas políticas de escalabilidade dinâmica, como rastreamento de destino ou escalabilidade em etapas, para que suas aplicações sejam dimensionadas com base em padrões históricos e em tempo real. Por si só, a escalabilidade preditiva não reduz a escala para suas tarefas.
-
Se você usar um perfil personalizado ao chamar a API
register-scalable-target
, poderá receber um erro dizendo que a política de escalabilidade preditiva só pode funcionar com o SLR habilitado. Nesse caso, você deve chamarregister-scalable-target
novamente, mas sem role-arn. Use SLR ao registrar o destino escalável e chame a APIput-scaling-policy
.
Como a escalabilidade preditiva funciona
Use a escalabilidade preditiva criando uma política de escala preditiva que especifique a métrica do CloudWatch a ser monitorada e analisada. A escalabilidade preditiva deve ter pelo menos 24 horas de dados para começar a prever valores futuros.
Depois que você cria a política, a escala preditiva começa a analisar os dados de métricas dos últimos 14 dias para identificar padrões. Essa análise é usada para gerar as próximas 48 horas de previsões horárias de requisitos. Os dados mais recentes do CloudWatch são usados para atualizar a previsão a cada seis horas. À medida que novos dados são recebidos, a escalabilidade preditiva é capaz de melhorar continuamente a precisão das previsões futuras.
Quando você ativa a escala preditiva pela primeira vez, ela é executada no modo somente de previsão. Eae gera previsões nesse modo, mas não escala seu serviço do Amazon ECS com base nessas previsões. Isso significa que você pode avaliar a exatidão e a adequação da previsão. Você pode visualizar os dados de previsão usando a operação da API GetPredictiveScalingForecast
ou o AWS Management Console.
Quando você decidir começar a usar a escala preditiva, alterne a política de escalabilidade para o modo prever e escalar. O cenário a seguir ocorre nesse modo.
Seu serviço do Amazon ECS é escalado no início de cada hora com base na previsão para essa hora, por padrão. Você pode optar por começar mais cedo usando a propriedade SchedulingBufferTime
na operação da API PutScalingPolicy
. Isso faz com que novas tarefas sejam iniciadas antes da demanda prevista e concede a elas tempo para inicializar e se preparar para lidar com o tráfego.
Limite máximo de tarefas
Ao registrar serviços do Amazon ECS para escalabilidade, você define um número máximo de tarefas que podem ser iniciadas por serviço. Por padrão, quando políticas de escalabilidade estão definidas, não é possível aumentar o número de tarefas além do limite máximo.
Como alternativa, é possível permitir que o número máximo de tarefas do serviço seja aumentado automaticamente se a previsão se aproximar ou exceder o número máximo de tarefas do serviço do Amazon ECS.
Atenção
Tenha cuidado ao permitir que o número máximo de tarefas seja aumentado automaticamente. Isso pode fazer com que mais instâncias do que o pretendido sejam executadas se a capacidade máxima aumentada não for monitorada e gerenciada. O número máximo de tarefas aumentado passará a ser o novo número máximo normal de tarefas para o serviço do Amazon ECS até que você o atualize manualmente. O número máximo de tarefas não diminui automaticamente de volta para o máximo original.
Regiões compatíveis
-
Leste dos EUA (Norte da Virgínia)
-
Leste dos EUA (Ohio)
-
Oeste dos EUA (Norte da Califórnia)
-
Oeste dos EUA (Oregon)
-
África (Cidade do Cabo)
-
Ásia-Pacífico (Hong Kong)
-
Ásia-Pacífico (Jacarta)
-
Ásia-Pacífico (Mumbai)
-
Ásia-Pacífico (Osaka)
-
Ásia-Pacífico (Seul)
-
Ásia-Pacífico (Singapura)
-
Ásia-Pacífico (Sydney)
-
Ásia-Pacífico (Tóquio)
-
Canadá (Central)
-
China (Pequim)
-
China (Ningxia)
-
Europa (Frankfurt)
-
Europa (Irlanda)
-
Europa (Londres)
-
Europa (Milão)
-
Europa (Paris)
-
Europa (Estocolmo)
-
Oriente Médio (Bahrein)
-
South America (São Paulo)
-
AWS GovCloud (Leste dos EUA)
-
AWS GovCloud (Oeste dos EUA)