Políticas de escalabilidade de rastreamento de destino - Amazon ElastiCache

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á.

Políticas de escalabilidade de rastreamento de destino

Com as políticas de dimensionamento com monitoramento do objetivo, você seleciona uma métrica e define um valor pretendido. O Auto Scaling do ElastiCache para Valkey e Redis OSS cria e gerencia os alarmes do CloudWatch que acionam a política de escalabilidade e calculam o ajuste de escalabilidade com base na métrica e no valor de destino. A política de escalabilidade adiciona ou remove fragmentos conforme necessário para manter a métrica no valor de destino especificado ou próxima a ele. Além de manter a métrica próxima ao valor de destino, uma política de escalabilidade de rastreamento de destino também se ajusta às flutuações na métrica, devido a um padrão de carga de flutuação, e minimiza as flutuações rápidas na capacidade da frota.

Por exemplo, considere uma política de escalabilidade que use a métrica predefinida de média ElastiCachePrimaryEngineCPUUtilization com valor de destino configurado. Essa política pode manter a utilização da CPU em, ou próxima do valor de destino especificado.

Métricas predefinidas

Uma métrica predefinida é uma estrutura que se refere a um nome, dimensão e estatística (average) específicos de uma determinada métrica do CloudWatch. Sua política de ajuste de escala automático define as seguintes métricas predefinidas para seu cluster:

Nome da métrica predefinida Nome da métrica do CloudWatch Diimensão da métrica do CloudWatch. Tipos de instância inelegíveis
ElastiCachePrimaryEngineCPUUtilization

EngineCPUUtilization

ReplicationGroupId, Função = primária

Nenhum
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage

DatabaseCapacityUsageCountedForEvictPercentage

Métricas do grupo de replicação do Valkey ou Redis OSS

Nenhum
ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage

DatabaseMemoryUsageCountedForEvictPercentage

Métricas do grupo de replicação do Valkey ou Redis OSS

R6gd

Os tipos de instância em camadas de dados não podem usar ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage, pois esses tipos de instância armazenam dados na memória e no SSD. O caso de uso previsto para instâncias em camadas de dados é usar 100% de memória e preencher o SSD conforme necessário.

Critérios do Auto Scaling para fragmentos

Quando o serviço detectar que sua métrica predefinida é igual ou maior que a configuração de destino, ele aumentará automaticamente a capacidade dos fragmentos. O ElastiCache para Valkey e Redis OSS aumenta a escala na horizontal dos fragmentos do seu cluster em uma contagem igual à maior de dois números: variação percentual do objetivo e 20% dos fragmentos atuais. Para reduzir a escala horizontalmente, o ElastiCache não fará a redução da escala na horizontal automaticamente a menos que o valor geral da métrica seja inferior a 75% do seu objetivo definido.

Para um exemplo de aumento de escala na horizontal, se você tiver 50 fragmentos e

  • se o seu objetivo violar em 30%, o ElastiCache aumentará a escala na horizontal em 30%, o que resultará em 65 fragmentos por cluster.

  • Se o seu objetivo violar em 10%, o ElastiCache aumentará a escala na horizontal em um mínimo padrão de 20%, o que resultará em 60 fragmentos por cluster.

Para um exemplo de redução de escala na horizontal, se você selecionou um valor de objetivo de 60%, o ElastiCache não reduzirá a escala na horizontal automaticamente até que a métrica seja menor ou igual a 45% (25% abaixo do objetivo de 60%).

Considerações sobre o Auto Scaling

Lembre-se das seguintes considerações:

  • Uma política de escalabilidade de rastreamento de destino pressupõe que ela deve aumentar a escalabilidade quando a métrica especificada estiver acima do valor de destino. Você não pode usar uma política de escalabilidade de rastreamento de destino para expandir quando a métrica especificada estiver abaixo do valor de destino. O ElastiCache para Valkey e Redis OSS aumenta a escala na horizontal de fragmentos em um desvio mínimo de 20% do objetivo dos fragmentos existentes no cluster.

  • Uma política de escalabilidade de rastreamento de destino não escala quando a métrica especificada tem dados insuficientes. Ela não reduz a escala horizontalmente, porque não interpreta dados insuficientes como baixa utilização.

  • É possível ver lacunas entre o valor de destino e os pontos de dados de métrica reais. Isso ocorre porque o Auto Scaling do ElastiCache funciona de maneira segura por arredondamento para cima ou para baixo, quando ele determina a capacidade a ser adicionada ou removida. Isso evita que ele adicione capacidade insuficiente ou remova muita capacidade.

  • Para garantir a disponibilidade da aplicação, o serviço aumenta a escala na horizontal proporcionalmente à métrica o mais rápido possível, mas é reduz a escala na horizontal de forma mais conservadora.

  • Você pode ter várias políticas de escalabilidade com monitoramento do objetivo para um cluster do ElastiCache para Valkey e Redis OSS, desde que cada uma delas use uma métrica diferente. A intenção do ajuste de escala automático do ElastiCache é sempre priorizar a disponibilidade. Portanto, seu comportamento será diferente, se as políticas de monitoramento do objetivo estiverem prontas ou não para aumentar ou reduzir a escala horizontalmente. Ele vai aumentar o serviço se qualquer uma das políticas de monitoramento do objetivo estiverem prontas para aumentar, mas vai reduzir somente se todas as políticas de monitoramento do objetivo (com a parte de redução habilitada) estiverem prontas para reduzir.

  • Não edite nem exclua os alarmes do CloudWatch que o ajuste de escala automático do ElastiCache gerencia para uma política de escalabilidade com monitoramento do destino. O Auto Scaling do ElastiCache exclui os alarmes automaticamente quando você exclui a política de escalabilidade.

  • O Auto Scaling do ElastiCache não impede a modificação manual de fragmentos do cluster. Esses ajustes manuais não afetam alarmes existentes do CloudWatch que estejam conectados à política de escalabilidade, mas podem afetar métricas que possam acionar esses alarmes do CloudWatch.

  • Esses alarmes do CloudWatch gerenciados pelo Auto Scaling são definidos na métrica do AVG em todos os fragmentos do cluster. Assim, ter fragmentos quentes pode resultar em qualquer cenário de:

    • escalabilidade quando não for necessário devido à carga em alguns fragmentos quentes que acionam um alarme do CloudWatch

    • não escalar quando necessário devido ao AVG agregado em todos os fragmentos que afetam o alarme não violarem.

  • Os limites padrão do ElastiCache em nós por cluster ainda se aplicam. Então, ao optar pelo Auto Scaling, se você espera que os nós máximos sejam mais do que o limite padrão, solicite um aumento de limite em Limites de serviço da AWS e escolha o tipo de limite Nós por cluster por tipo de instância.

  • Certifique-se de que você tenha ENIs (interfaces de rede elásticas) suficientes disponíveis em sua VPC, que são necessárias durante o aumento de escala na horizontal. Para obter mais informações, consulte Interfaces de rede elástica.

  • Se não houver capacidade suficiente disponível do EC2, o Auto Scaling do ElastiCache não ajustará a escala e atrasará até que a capacidade esteja disponível.

  • O Auto Scaling do ElastiCache para Redis OSS, durante a redução de escala na horizontal, não removerá fragmentos com slots com um tamanho de item maior que 256 MB pós-serialização.

  • Durante a redução de escala na horizontal, ele não removerá fragmentos se houver memória insuficiente disponível na configuração de fragmento resultante.