

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

# Auto Scaling de clusters Valkey e Redis OSS
<a name="AutoScaling"></a>

## Pré-requisitos
<a name="AutoScaling-Prerequisites"></a>

ElastiCache O Auto Scaling está limitado ao seguinte:
+ Clusters Valkey ou Redis OSS (modo cluster habilitado) que executem o Valkey 7.2 em diante ou que executem o Redis OSS 6.0 em diante
+ Clusters em camadas de dados (modo cluster habilitado) que executem o Valkey 7.2 em diante ou que executem o Redis OSS 7.0.7 em diante 
+ Tamanhos de instância - Grande XLarge, 2 XLarge
+ Famílias de tipo de instância: R7g, R6g, R6gd, R5, M7g, M6g, M5, C7gn
+ O Auto Scaling in não ElastiCache é compatível com clusters executados em datastores globais, Outposts ou Locais Zones.

## Gerenciando a capacidade automaticamente com o ElastiCache Auto Scaling com Valkey ou Redis OSS
<a name="AutoScaling-Managing"></a>

ElastiCache o escalonamento automático com Valkey ou Redis OSS é a capacidade de aumentar ou diminuir automaticamente os fragmentos ou réplicas desejados em seu serviço. ElastiCache ElastiCache aproveita o serviço Application Auto Scaling para fornecer essa funcionalidade. Para obter mais informações, consulte [Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). Para usar o escalonamento automático, você define e aplica uma política de escalabilidade que usa CloudWatch métricas e valores-alvo que você atribui. ElastiCache o auto scaling usa a política para aumentar ou diminuir o número de instâncias em resposta às cargas de trabalho reais. 

Você pode usar o Console de gerenciamento da AWS para aplicar uma política de escalabilidade com base em uma métrica predefinida. Uma `predefined metric` é definida em uma enumeração, para que você possa especificá-la por nome no código ou usá-la no Console de gerenciamento da AWS. As métricas personalizadas não estão disponíveis para seleção ao usar o Console de gerenciamento da AWS. Como alternativa, você pode usar a API Application Auto Scaling AWS CLI ou a Application Auto Scaling para aplicar uma política de escalabilidade com base em uma métrica predefinida ou personalizada. 

ElastiCache para Valkey e Redis, o OSS suporta escalabilidade para as seguintes dimensões:
+ **Fragmentos**: adicionar/remover fragmentos automaticamente no cluster semelhantes à refragmentação manual online. Nesse caso, o escalonamento ElastiCache automático aciona o escalonamento em seu nome.
+ **Réplicas** — add/remove replicas in the cluster similar to manual Increase/Decrease replica operations. ElastiCache auto scaling for Valkey and Redis OSS adds/removes replica automaticamente de maneira uniforme em todos os fragmentos do cluster.

ElastiCache para Valkey e Redis, o OSS oferece suporte aos seguintes tipos de políticas de escalabilidade automática:
+ [Políticas de escalabilidade de rastreamento de destino](AutoScaling-Scaling-Policies-Target.md)— Aumente ou diminua o número de shards/replicas execuções do seu serviço com base em um valor alvo para uma métrica específica. Isso é semelhante à forma como o termostato mantém a temperatura da casa. Você seleciona a temperatura, e o termostato faz o resto.
+ [Escalabilidade programada para seu aplicativo.](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) — ElastiCache para Valkey e Redis, o escalonamento automático do OSS pode aumentar ou diminuir o número shards/replicas de execuções do seu serviço com base na data e hora.

![\[Imagem de escalonamento automático ElastiCache para Valkey e Redis OSS\]](http://docs.aws.amazon.com/pt_br/AmazonElastiCache/latest/dg/images/Auto-scaling.png)


As etapas a seguir resumem o ElastiCache processo de escalonamento automático do Valkey e do Redis OSS, conforme mostrado no diagrama anterior: 

1. Você cria uma política de escalabilidade ElastiCache automática para seu grupo de replicação.

1. ElastiCache o auto scaling cria um par de CloudWatch alarmes em seu nome. Cada par representa seus limites superiores e inferiores para métricas. Esses CloudWatch alarmes são acionados quando a utilização real do cluster se desvia da utilização desejada por um longo período de tempo. Agora, é possível visualizar os alarmes no console.

1. Se o valor da métrica configurada exceder sua meta de utilização (ou ficar abaixo da meta) por um período de tempo específico, CloudWatch acionará um alarme que invoca o escalonamento automático para avaliar sua política de escalabilidade.

1. ElastiCache o auto scaling emite uma solicitação de modificação para ajustar a capacidade do cluster. 

1. ElastiCache processa a solicitação de modificação, aumentando (ou diminuindo) dinamicamente a Shards/Replicas capacidade do cluster para que ela se aproxime da utilização desejada. 

 Para entender como o ElastiCache Auto Scaling funciona, suponha que você tenha um cluster chamado. `UsersCluster` Ao monitorar as CloudWatch métricas`UsersCluster`, você determina o máximo de fragmentos que o cluster exige quando o tráfego está no pico e o mínimo de fragmentos quando o tráfego está no ponto mais baixo. Você também decide um valor-alvo para a utilização da CPU no `UsersCluster` cluster. ElastiCache o auto scaling usa seu algoritmo de rastreamento de metas para garantir que os fragmentos provisionados de `UsersCluster` sejam ajustados conforme necessário para que a utilização permaneça no valor alvo ou próximo dele. 

**nota**  
O escalonamento pode levar um tempo perceptível e exigirá recursos extras do cluster para que os fragmentos se rebalanceiem. ElastiCache O Auto Scaling modifica as configurações de recursos somente quando a carga de trabalho real permanece elevada (ou deprimida) por um período sustentado de vários minutos. O algoritmo de monitoramento do objetivo do ajuste de escala automático procura manter a utilização pretendida no valor escolhido ou próximo a ele em longo prazo. 

# Políticas de Auto Scaling
<a name="AutoScaling-Policies"></a>

Uma política de escalabilidade tem os seguintes componentes:
+ Uma métrica de destino: a métrica do CloudWatch que o ajuste de escala automático do ElastiCache para Valkey e Redis OSS usa para determinar o momento e a quantidade a escalar. 
+ Capacidade mínima e máxima: o número mínimo e máximo de fragmentos a ser usado para a escalabilidade. 
**Importante**  
Ao criar a política de Auto Scaling, se a capacidade atual for maior do que a capacidade máxima configurada, reduzimos a escala na horizontal até MaxCapacity durante a criação da política. Da mesma forma, se a capacidade atual for menor do que a capacidade mínima configurada, aumentamos a escala na horizontal até MinCapacity. 
+ Um período de desaquecimento: a quantidade de tempo, em segundos, que outra ação de aumento ou redução de escala na horizontal deve aguardar antes de ser iniciada, após a conclusão de uma ação de expansão ou redução. 
+ Uma função vinculada a serviços: uma função do Identity and Access Management (IAM) da AWS vinculada a um serviço AWS específico. Uma função vinculada ao serviço inclui todas as permissões que o serviço exige para chamar todos os outros serviços da AWS em seu nome. O ajuste de escala automático do ElastiCache gera automaticamente essa função, `AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG`, para você. 
+ Habilitar ou desabilitar atividades de redução de escala na horizontal: capacidade de habilitar ou desabilitar atividades de redução de escala na horizontal para uma política.

**Topics**
+ [Métrica de destino para o Auto Scaling](#AutoScaling-TargetMetric)
+ [Capacidades mínima e máxima](#AutoScaling-MinMax)
+ [Período de desaquecimento](#AutoScaling-Cooldown)
+ [Habilitar ou desabilitar atividades de redução](#AutoScaling-enable-disable-scale-in)

## Métrica de destino para o Auto Scaling
<a name="AutoScaling-TargetMetric"></a>

Neste tipo de política, uma métrica predefinida ou personalizada e um valor de destino dessa métrica são especificados na configuração de uma política de escalabilidade de rastreamento de destino. O ajuste de escala automático 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/réplicas 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 workloads variáveis. Essas políticas também minimizam flutuações rápidas no número de fragmentos/réplicas disponíveis para seu cluster. 

Por exemplo, considere uma política de escalabilidade que use a métrica predefinida de média `ElastiCachePrimaryEngineCPUUtilization`. Essa política pode manter a utilização da CPU a um percentual de utilização específico, por exemplo, 70 por cento, ou próximo a isso. 

**nota**  
Para cada cluster, você pode criar somente uma política de Auto Scaling para cada métrica de destino. 

## Capacidades mínima e máxima
<a name="AutoScaling-MinMax"></a>

**Fragmentos**

Você pode especificar o número máximo de fragmentos que podem ser escalados pelo ajuste de escala automático do ElastiCache para Valkey e Redis OSS. Esse valor deve ser menor que ou igual a 250, com um mínimo de 1. Você também pode especificar o número mínimo de fragmentos a serem gerenciados pelo ajuste de escala automático. O valor mínimo é 1, e deve ser menor ou igual ao valor especificado para o número máximo de fragmentos de 250. 

**Réplicas**

Você pode especificar o número máximo de réplicas a serem gerenciadas pelo ajuste de escala automático do ElastiCache para Valkey e Redis OSS. Esse valor deve ser igual ou menor que 5. Você também pode especificar o número mínimo de réplicas a serem gerenciadas pelo ajuste de escala automático. O valor mínimo é 1, e deve ser menor ou igual ao valor especificado para o número máximo de réplicas de 5.

Para determinar o número mínimo e máximo de fragmentos/réplicas que você precisa para um tráfego típico, teste a configuração do Auto Scaling com a taxa esperada de tráfego para o modelo. 

**nota**  
As políticas de escalabilidade automática do ElastiCache aumentam a capacidade do cluster até atingir o tamanho máximo definido ou até que os limites do serviço sejam aplicados. Para solicitar um aumento de limite, consulte [Limites de serviço da AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) e selecione o tipo de limite **Nodes per cluster per instance type** (Nós por cluster por tipo de instância). 

**Importante**  
Redução de escala na horizontal quando não há tráfego Se o tráfego de uma variante atingir zero, o ElastiCache automaticamente reduz a escala na horizontal para o número mínimo de instâncias especificado.

## Período de desaquecimento
<a name="AutoScaling-Cooldown"></a>

Você pode ajustar a responsividade das políticas de escalabilidade com monitoramento do objetivo, adicionando períodos de desaquecimento que afetam a escalabilidade de seu cluster. Um desaquecimento bloqueia solicitações subsequentes de redução ou expansão até o período expirar. Isso atrasa as exclusões de fragmentos/réplicas no cluster do ElastiCache para Valkey e Redis OSS para solicitações de redução de escala horizontal e a criação de fragmentos/réplicas para solicitações de aumento de escala horizontal. Você pode especificar os seguintes desaquecimentos:
+ A atividade de redução de escala horizontal diminui o número de fragmentos/réplicas em seu cluster. Um desaquecimento de redução especifica a quantidade de tempo, em segundos, após a conclusão de uma ação de redução antes que quaisquer outras atividades de redução possam iniciar.
+ A atividade de aumento de escala horizontal aumenta o número de fragmentos/réplicas em seu cluster. Um desaquecimento de expansão especifica a quantidade de tempo, em segundos, após a conclusão de uma ação de expansão antes que quaisquer outras atividades de expansão possam iniciar. 

Quando o período de desaquecimento de redução ou aumento de escala na horizontal não é especificado, o padrão para o aumento é de 600 segundos, e para a redução, 900 segundos. 

## Habilitar ou desabilitar atividades de redução
<a name="AutoScaling-enable-disable-scale-in"></a>

Você pode habilitar ou desabilitar atividades de redução para as políticas. Habilitar atividades de redução de escala na horizontal permite que as políticas de escalabilidade excluam fragmentos/réplicas. Quando as atividades de redução são habilitadas, o desaquecimento de redução na política de escalabilidade aplica-se a atividades de redução. Desabilitar atividades de redução de escala na horizontal evita que as políticas de escalabilidade excluam fragmentos/réplicas. 

**nota**  
As atividades de aumento de escala na horizontal são habilitadas para que a política de escalabilidade possa criar fragmentos ou réplicas do ElastiCache, conforme o necessário.

## Permissões do IAM necessárias para o Auto Scaling
<a name="AutoScaling-IAM-permissions"></a>

ElastiCache para Valkey e Redis, o OSS Auto Scaling é possível graças a uma combinação do ElastiCache,, e do Application CloudWatch Auto Scaling. APIs Os clusters são criados e atualizados com ElastiCache, os alarmes são criados com CloudWatch e as políticas de escalabilidade são criadas com o Application Auto Scaling. Além das permissões padrão do IAM para criar e atualizar clusters, o usuário do IAM que acessa as configurações do ElastiCache Auto Scaling deve ter as permissões apropriadas para os serviços que oferecem suporte ao escalonamento dinâmico. Nessa política mais recente, adicionamos suporte à escalabilidade vertical do Memcached, com a ação `elasticache:ModifyCacheCluster`. Os usuários do IAM precisam ter as permissões para usar as ações exibidas na política de exemplo a seguir: 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:*",
                "elasticache:DescribeReplicationGroups",
                "elasticache:ModifyReplicationGroupShardConfiguration",
                "elasticache:IncreaseReplicaCount",
                "elasticache:DecreaseReplicaCount",
                "elasticache:DescribeCacheClusters",
                "elasticache:DescribeCacheParameters",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DescribeAlarmsForMetric",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DisableAlarmActions",
                "cloudwatch:EnableAlarmActions",
                "iam:CreateServiceLinkedRole",
                "sns:CreateTopic",
                "sns:Subscribe",
                "sns:Get*",
                "sns:List*"
            ],
            "Resource": "arn:aws:iam::123456789012:role/autoscaling-roles-for-cluster"
        }
    ]
}
```

------

## Perfil vinculado a serviço
<a name="AutoScaling-SLR"></a>

O serviço de escalonamento automático OSS ElastiCache para Valkey e Redis também precisa de permissão para descrever seus clusters CloudWatch e alarmes, além de permissões para modificar ElastiCache sua capacidade alvo em seu nome. Se você ativar o Auto Scaling em seu cluster, ele criará uma função vinculada ao serviço chamada `AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG`. Essa função vinculada ao serviço concede permissão de escalonamento ElastiCache automático para descrever os alarmes de suas políticas, monitorar a capacidade atual da frota e modificar a capacidade da frota. A função vinculada ao serviço é a função padrão para o escalonamento ElastiCache automático. Para obter mais informações, consulte [Funções vinculadas a serviços ElastiCache para o escalonamento automático do Redis OSS no Guia do usuário do Application](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html) Auto Scaling.

## Práticas recomendadas de escalabilidade automática
<a name="AutoScaling-best-practices"></a>

Antes de se registrar no Auto Scaling, recomendamos o seguinte:

1. **Use apenas uma métrica de monitoramento**: identifique se o cluster tem workloads com uso intenso da CPU ou de dados e use uma métrica predefinida correspondente para definir a política de ajuste de escala. 
   + CPU do mecanismo: `ElastiCachePrimaryEngineCPUUtilization` (dimensão fragmentada) ou `ElastiCacheReplicaEngineCPUUtilization` (dimensão da réplica)
   + Uso do banco de dados: `ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage` essa política de ajuste de escala funciona melhor com maxmemory-policy definido como noeviction no cluster.

   Recomendamos que você evite várias políticas por dimensão no cluster. ElastiCache para Valkey e Redis OSS, o Auto Scaling expandirá a meta escalável se alguma política de rastreamento de alvos estiver pronta para ser expandida, mas será ampliada somente se todas as políticas de rastreamento de alvos (com a parte de expansão ativada) estiverem prontas para serem ampliadas. Se várias políticas instruírem o destino escalável a aumentar ou reduzir a escala na horizontal ao mesmo tempo, ele escalará com base na política que forneça a maior capacidade tanto para reduzir quanto para aumentar a escala na horizontal.

1. **Métricas personalizadas para monitoramento do objetivo**: seja cauteloso ao usar métricas personalizadas para o monitoramento do objetivo, pois o ajuste de escala automático é mais adequado para aumentar/reduzir a escala horizontalmente de modo proporcional às alterações nas métricas escolhidas para a política. Se essas métricas não forem alteradas proporcionalmente às ações de ajuste de escala usadas para a criação de políticas, elas poderão aumentar ou reduzir a escala horizontalmente das ações de forma contínua, o que pode afetar a disponibilidade ou o custo. 

    Para clusters de armazenamento de dados em camadas (tipos de instância da família r6gd), evite usar métricas baseadas em memória para ajuste de escala.

1. **Escalabilidade programada** — Se você identificar que sua carga de trabalho é determinística (atinge high/low em um horário específico), recomendamos usar a escalabilidade programada e configurar sua capacidade alvo de acordo com a necessidade. O monitoramento do objetivo é mais adequado para workloads não determinísticas e para o cluster operar na métrica de destino necessária, aumentando a escala horizontalmente quando você precisar de mais recursos e reduzindo a escala horizontalmente quando precisar de menos recursos. 

1. **Desative o escalonamento** — O escalonamento automático no Target Tracking é mais adequado para clusters com cargas increase/decrease de trabalho graduais, pois as métricas podem acionar oscilações consecutivas de spikes/dip escala/aumento. Para evitar tais oscilações, é possível começar com a opção de reduzir a escala horizontalmente desabilitada e, mais tarde, você pode reduzir a escala horizontalmente manualmente de acordo com sua necessidade. 

1. **Teste seu aplicativo** — Recomendamos que você teste seu aplicativo com suas Min/Max cargas de trabalho estimadas para determinar o mínimo e o máximo absolutos shards/replicas necessários para o cluster enquanto cria políticas de escalabilidade para evitar problemas de disponibilidade. A autoescalabilidade pode aumentar a escala horizontalmente até o máximo e reduzir a escala horizontalmente até o mínimo limite configurado para o destino.

1. **Definindo o valor-alvo** — Você pode analisar CloudWatch as métricas correspondentes para a utilização do cluster em um período de quatro semanas para determinar o limite do valor-alvo. Se você ainda não tem certeza de qual valor escolher, recomendamos começar com o valor mínimo de métrica predefinida compatível.

1. AutoScaling on Target Tracking é mais adequado para clusters com distribuição uniforme de cargas de trabalho em todas as shards/replicas dimensões. Ter distribuição não uniforme pode levar a:
   + Dimensionamento quando não é necessário devido à carga de trabalho spike/dip em alguns fragmentos/réplicas quentes.
   + Não escalar quando necessário devido à média geral perto do destino, mesmo tendo fragmentos/réplicas quentes.

**nota**  
Ao escalar seu cluster, ElastiCache replicará automaticamente as funções carregadas em um dos nós existentes (selecionados aleatoriamente) para o (s) novo (s) nó (s). Se seu cluster tiver o Valkey ou Redis OSS 7.0 ou posterior e sua aplicação usar [Funções](https://valkey.io/topics/functions-intro/), recomendamos carregar todas as suas funções em todos os fragmentos antes de aumentar a escala horizontalmente para que seu cluster não tenha funções diferentes em fragmentos diferentes.

Depois de se registrar AutoScaling, observe o seguinte:
+ Há limitações nas configurações compatíveis com a autoescalabilidade. Portanto, recomendamos que não altere a configuração de um grupo de replicação registrado para escalabilidade automática. Veja os exemplos a seguir:
  + Modificação manual do tipo de instância para tipos sem suporte.
  + Associação do grupo de replicação a um datastore global.
  + Alteração do parâmetro `ReservedMemoryPercent`.
  +  increasing/decreasing shards/replicas beyond the Min/MaxCapacidade configurada manualmente durante a criação da política.

# Uso do Auto Scaling com fragmentos
<a name="AutoScaling-Using-Shards"></a>

Com o Auto Scaling do ElastiCache, você pode usar políticas programadas e de monitoramento com seu mecanismo Valkey ou Redis OSS. 

O tópico seguinte fornece detalhes sobre o monitoramento do objetivo e as políticas programadas e como aplicá-las usando o Console de gerenciamento da AWS, a AWS CLI e APIs.

**Topics**
+ [Políticas de escalabilidade de rastreamento de destino](AutoScaling-Scaling-Policies-Target.md)
+ [Adicionar uma política de escalabilidade](AutoScaling-Scaling-Adding-Policy-Shards.md)
+ [Registro de um destino escalável](AutoScaling-Scaling-Registering-Policy-CLI.md)
+ [Definir uma política de escalabilidade](AutoScaling-Scaling-Defining-Policy-API.md)
+ [Desabilitar a atividade de redução](AutoScaling-Scaling-Disabling-Scale-in.md)
+ [Aplicar uma política de escalabilidade](AutoScaling-Scaling-Applying-a-Scaling-Policy.md)
+ [Editar uma política de escalabilidade](AutoScaling-Scaling-Editing-a-Scaling-Policy.md)
+ [Excluir uma política de escalabilidade](AutoScaling-Scaling-Deleting-a-Scaling-Policy.md)
+ [Use CloudFormation para políticas do Auto Scaling](AutoScaling-with-Cloudformation-Shards.md)
+ [Escalabilidade programada](AutoScaling-with-Scheduled-Scaling-Shards.md)

# Políticas de escalabilidade de rastreamento de destino
<a name="AutoScaling-Scaling-Policies-Target"></a>

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
<a name="AutoScaling-Scaling-Criteria-predfined-metrics"></a>

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
<a name="AutoScaling-Scaling-Criteria"></a>

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
<a name="AutoScaling-Scaling-Considerations"></a>

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](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) 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](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html).
+ 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.

# Adicionar uma política de escalabilidade
<a name="AutoScaling-Scaling-Adding-Policy-Shards"></a>

Você pode adicionar uma política de escalabilidade usando o Console de gerenciamento da AWS. 

**Para adicionar uma política do Auto Scaling a um cluster do ElastiCache para Valkey e Redis OSS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, escolha **Valkey** ou **Redis OSS**. 

1. Selecione o cluster ao qual você deseja adicionar uma política (escolha o botão à esquerda do nome do cluster). 

1. Selecione a guia **Auto Scaling policies** (Políticas do Auto Scaling). 

1. Escolha **add dynamic scaling** (adicionar escalabilidade dinâmica). 

1. Em **Policy Name** (Nome da política), insira um nome para a política. 

1. Em **Scalable Dimension** (Dimensão escalável), escolha **shards** (fragmentos). 

1. Quanto à métrica de destino, escolha uma das seguintes opções:
   + **Primary CPU Utilization** (Utilização da CPU primária) para criar uma política com base na utilização média da CPU. 
   + **Memory** (Memória) para criar uma política com base na memória média do banco de dados. 
   + **Capacidade** de criar uma política com base no uso médio da capacidade do banco de dados. A métrica de capacidade inclui a utilização de memória e SSD para instâncias em camadas de dados e a utilização da memória para todos os outros tipos de instância.

1. Para o valor alvo, escolha um valor maior ou igual a 35 e menor ou igual a 70. O ajuste de escala automático manterá esse valor para a métrica de destino selecionada em seus fragmentos do ElastiCache: 
   + **Utilização primária da CPU**: mantém o valor alvo da métrica `EngineCPUUtilization` nos nós primários. 
   + **Memória**: mantém o valor alvo da métrica `DatabaseMemoryUsageCountedForEvictPercentage` 
   + **Capacidade**: mantém o valor alvo da métrica `DatabaseCapacityUsageCountedForEvictPercentage`

   Os fragmentos do cluster serão adicionados ou removidos para manter a métrica próxima ao valor especificado. 

1. (Opcional) Não há suporte do console para os períodos de desaquecimento de redução ou aumento de escala na horizontal. Use a AWS CLI para modificar os valores de desaquecimento. 

1. Em **Capacidade mínima**, insira o número mínimo de fragmentos que a política do Auto Scaling do ElastiCache é solicitada a manter. 

1. Em **Capacidade máxima**, insira o número máximo de fragmentos que a política do Auto Scaling do ElastiCache é solicitada a manter. Esse valor deve ser igual ou menor que 250.

1. Escolha **Criar**.

# Registro de um destino escalável
<a name="AutoScaling-Scaling-Registering-Policy-CLI"></a>

Antes de poder usar o Auto Scaling com um cluster do ElastiCache para Valkey e Redis OSS, você deve registrar seu cluster no ajuste de escala automático do ElastiCache. Faça isso para definir a dimensão de escalabilidade e os limites a serem aplicados no cluster. O ajuste de escala automático do ElastiCache escala dinamicamente o cluster ao longo da dimensão escalável `elasticache:replication-group:NodeGroups`, que representa o número de fragmentos de cluster. 

 **Como usar a AWS CLI** 

Para registrar o cluster do ElastiCache para Valkey e Redis OSS, use o comando [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) com os seguintes parâmetros: 
+ `--service-namespace`: defina o valor como `elasticache`
+ `--resource-id`: o identificador do recurso para o cluster. Para este parâmetro, o tipo de recurso é `ReplicationGroup` e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ `--scalable-dimension`: defina este valor como `elasticache:replication-group:NodeGroups`. 
+ `--max-capacity `: o número máximo de fragmentos a serem gerenciados pelo ajuste de escala automático do ElastiCache. Para obter informações sobre a relação entre `--min-capacity`, `--max-capacity` e o número de fragmentos em seu cluster, consulte [Capacidades mínima e máxima](AutoScaling-Policies.md#AutoScaling-MinMax). 
+ `--min-capacity `: o número mínimo de fragmentos a serem gerenciados pelo ajuste de escala automático do ElastiCache. Para obter informações sobre a relação entre `--min-capacity`, `--max-capacity` e o número de fragmentos em seu cluster, consulte [Capacidades mínima e máxima](AutoScaling-Policies.md#AutoScaling-MinMax). 

**Example**  
 No exemplo a seguir, registre um cluster do ElastiCache de nome `myscalablecluster`. O registro indica que o cluster deve ser escalado dinamicamente para ter de um a dez fragmentos.   
Para Linux, macOS ou Unix:  

```
aws application-autoscaling register-scalable-target \
    --service-namespace elasticache \
    --resource-id replication-group/myscalablecluster \
    --scalable-dimension elasticache:replication-group:NodeGroups \
    --min-capacity 1 \
    --max-capacity 10 \
```
Para Windows:  

```
aws application-autoscaling register-scalable-target ^
    --service-namespace elasticache ^
    --resource-id replication-group/myscalablecluster ^
    --scalable-dimension elasticache:replication-group:NodeGroups ^
    --min-capacity 1 ^
    --max-capacity 10 ^
```

**Usar a API**

Para registrar o cluster do ElastiCache, use o comando [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) com os seguintes parâmetros: 
+ ServiceNamespace: defina este valor como elasticache. 
+ ResourceID: o identificador de recursos para o cluster do ElastiCache. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ ScalableDimension: defina este valor como `elasticache:replication-group:NodeGroups`. 
+ MinCapacity: o número mínimo de fragmentos a serem gerenciados pelo ajuste de escala automático do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte [Capacidades mínima e máxima](AutoScaling-Policies.md#AutoScaling-MinMax).
+ MaxCapacity: o número máximo de fragmentos a serem gerenciados pelo ajuste de escala automático do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte [Capacidades mínima e máxima](AutoScaling-Policies.md#AutoScaling-MinMax).

**Example**  
No exemplo a seguir, registre um cluster do ElastiCache chamado `myscalablecluster` na API do Application Auto Scaling. Este registro indica que o cluster deve ser escalado dinamicamente para ter de uma a 5 réplicas.   

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups",
    "MinCapacity": 1,
    "MaxCapacity": 5
}
```

# Definir uma política de escalabilidade
<a name="AutoScaling-Scaling-Defining-Policy-API"></a>

Uma configuração de política de escalabilidade de rastreamento de destino é representada por um bloco JSON no qual as métricas e valores de destino são definidos. Você pode salvar uma configuração de política de escalabilidade como um bloco JSON em um arquivo de texto. Você pode usar esse arquivo de texto ao invocar a AWS CLI ou a API do Application Auto Scaling. Para obter mais informações sobre a sintaxe de configuração de política, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) na Referência da API do Application Auto Scaling. 

As seguintes opções estão disponíveis para definir uma configuração de política de escalabilidade com monitoramento do objetivo: 

**Topics**
+ [Uso de uma métrica predefinida](#AutoScaling-Scaling-Predefined-Metric)
+ [Uso de uma métrica personalizada](#AutoScaling-Scaling-Custom-Metric)
+ [Uso de períodos de desaquecimento](#AutoScaling-Scaling-Cooldown-periods)

## Uso de uma métrica predefinida
<a name="AutoScaling-Scaling-Predefined-Metric"></a>

Com o uso de métricas predefinidas, você pode definir rapidamente uma política de escalabilidade com monitoramento do objetivo para um cluster do ElastiCache para Valkey e Redis OSS que funcione com o monitoramento do objetivo no ajuste de escala automático do ElastiCache. 

Atualmente, o ElastiCache oferece suporte às seguintes métricas predefinidas no Auto Scaling do NodeGroup: 
+ **ElastiCachePrimaryEngineCPUUtilization**: o valor médio da métrica `EngineCPUUtilization` no CloudWatch em todos os nós primários no cluster.
+ **ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage**: o valor médio da métrica `DatabaseMemoryUsageCountedForEvictPercentage` no CloudWatch em todos os nós primários no cluster.
+ **ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage**: o valor médio da métrica `ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage` no CloudWatch em todos os nós primários no cluster.

Para ter mais informações sobre as métricas `EngineCPUUtilization`, `DatabaseMemoryUsageCountedForEvictPercentage` e `DatabaseCapacityUsageCountedForEvictPercentage`, consulte [Monitorando o uso com CloudWatch métricas](CacheMetrics.md). Para usar uma métrica predefinida em sua política de escalabilidade, crie uma configuração de rastreamento de destino para sua política de escalabilidade. Essa configuração deve incluir uma `PredefinedMetricSpecification` para a métrica predefinida e um TargetValue para o valor de destino dessa métrica. 

**Example**  
O exemplo a seguir descreve uma configuração de política típica para a escalabilidade com monitoramento do objetivo para um cluster do ElastiCache para Valkey e Redis OSS. Nessa configuração, a métrica predefinida `ElastiCachePrimaryEngineCPUUtilization` é usada para ajustar o cluster com base em uma utilização média da CPU de 40 por cento em todos os nós primários no cluster.   

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    }
}
```

## Uso de uma métrica personalizada
<a name="AutoScaling-Scaling-Custom-Metric"></a>

 Com o uso de métricas personalizadas, você pode definir uma política de escalabilidade de rastreamento de destino que atenda a suas exigências personalizadas. Você pode definir uma métrica personalizada com base em qualquer métrica do ElastiCache que mude na proporção da escalabilidade. Nem todas as métricas do ElastiCache funcionam para o monitoramento do objetivo. A métrica deve ser de utilização válida e descrever o quão ocupada uma instância está. O valor da métrica deve aumentar ou diminuir na proporção do número de fragmentos no cluster. Essa aumento ou redução proporcional é necessário para usar os dados da métrica para expandir ou reduzir proporcionalmente o número de fragmentos. 

**Example**  
O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, uma métrica personalizada ajusta um cluster do ElastiCache for Redis OSS com base na utilização média de uma CPU em 50 por centro em todos os fragmentos em um cluster chamado `my-db-cluster`. 

```
{
    "TargetValue": 50,
    "CustomizedMetricSpecification":
    {
        "MetricName": "EngineCPUUtilization",
        "Namespace": "AWS/ElastiCache",
        "Dimensions": [
            {
                "Name": "ReplicationGroup","Value": "my-db-cluster"
            },
            {
                "Name": "Role","Value": "PRIMARY"
            }
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

## Uso de períodos de desaquecimento
<a name="AutoScaling-Scaling-Cooldown-periods"></a>

Você pode especificar um valor, em segundos, para `ScaleOutCooldown` a fim de adicionar um desaquecimento para expandir seu cluster. De forma similar, você pode adicionar um valor, em segundos, para `ScaleInCooldown` a fim de adicionar um período de desaquecimento para reduzir a escala na horizontal do seu cluster. Para obter mais informações, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) na Referência da API do Application Auto Scaling. 

 O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica predefinida `ElastiCachePrimaryEngineCPUUtilization` é usada para ajustar um cluster do ElastiCache para Redis OSS com base em uma utilização média da CPU de 40 por cento em todos os nós primários do cluster. A configuração fornece um período de espera de 10 minutos para reduzir a escala horizontalmente, e um período de espera de 5 minutos para aumentar a escala horizontalmente. 

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    },
    "ScaleInCooldown": 600,
    "ScaleOutCooldown": 300
}
```

# Desabilitar a atividade de redução
<a name="AutoScaling-Scaling-Disabling-Scale-in"></a>

Você pode evitar que a configuração da política de escalabilidade com monitoramento de objetivo reduza a escala na horizontal de seu cluster desabilitando a atividade de redução de escala horizontal. Desabilitar a atividade de redução de escala na horizontal impede que a política de escalabilidade exclua fragmentos, enquanto permite ao mesmo tempo que a política de escalabilidade crie-os conforme necessário. 

Você pode especificar um valor booleano para `DisableScaleIn` a fim de permitir ou evitar a atividade de redução de escala na horizontal no seu cluster. Para obter mais informações, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) na Referência da API do Application Auto Scaling. 

O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica predefinida `ElastiCachePrimaryEngineCPUUtilization` ajusta um cluster do ElastiCache para Valkey e Redis OSS com base em uma utilização média da CPU de 40 por cento em todos os nós primários do cluster. A configuração desativa a atividade de redução para a política de escalabilidade. 

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    },
    "DisableScaleIn": true
}
```

# Aplicar uma política de escalabilidade
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy"></a>

Após registrar seu cluster com o ajuste de escala automático do ElastiCache para Valkey e Redis OSS e definir uma política de escalabilidade, aplique a política de escalabilidade ao cluster registrado. Para aplicar uma política de escalabilidade a um cluster do ElastiCache para Redis OSS, você pode usar a AWS CLI ou a API do Application Auto Scaling. 

## Aplicação de uma política de escalabilidade usando a AWS CLI
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy-CLI"></a>

Para aplicar uma política de escalabilidade a seu cluster do ElastiCache para Valkey e Redis OSS, use o comando [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) com os seguintes parâmetros: 
+ **--policy-name**: o nome da política de escalabilidade. 
+ **--policy-type**: defina este valor como `TargetTrackingScaling`. 
+ **--resource-id**: o identificador do recurso. Para este parâmetro, o tipo de recurso é `ReplicationGroup` e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ **--service-namespace**: defina este valor como `elasticache`. 
+ **--scalable-dimension**: defina este valor como `elasticache:replication-group:NodeGroups`. 
+ **--target-tracking-scaling-policy-configuration**: a configuração da política de escalabilidade com monitoramento do objetivo a ser usada para o cluster. 

No exemplo a seguir, é aplicada uma política de escalabilidade com monitoramento do objetivo chamada `myscalablepolicy` a um cluster do ElastiCache para Valkey e Redis OSS chamado `myscalablecluster` com o ajuste de escala automático do ElastiCache. Para fazer isso, use uma configuração de política salva em um arquivo chamado `config.json`. 

Para Linux, macOS ou Unix:

```
aws application-autoscaling put-scaling-policy \
    --policy-name myscalablepolicy \
    --policy-type TargetTrackingScaling \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:NodeGroups \
    --target-tracking-scaling-policy-configuration file://config.json
```

Para Windows:

```
aws application-autoscaling put-scaling-policy ^
    --policy-name myscalablepolicy ^
    --policy-type TargetTrackingScaling ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:NodeGroups ^
    --target-tracking-scaling-policy-configuration file://config.json
```

## Aplicação de uma política de escalabilidade usando a API
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy-API"></a>

Para aplicar uma política de escalabilidade a seu cluster do ElastiCache para Valkey e Redis OSS, use o comando da AWS CLI [PutScalingPolicy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) com os seguintes parâmetros: 
+ **--policy-name**: o nome da política de escalabilidade. 
+ **--resource-id**: o identificador do recurso. Para este parâmetro, o tipo de recurso é `ReplicationGroup` e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ **--service-namespace**: defina este valor como `elasticache`. 
+ **--scalable-dimension**: defina este valor como `elasticache:replication-group:NodeGroups`. 
+ **--target-tracking-scaling-policy-configuration**: a configuração da política de escalabilidade com monitoramento do objetivo a ser usada para o cluster. 

No exemplo a seguir, aplique a política de escalabilidade com monitoramento do objetivo chamada `myscalablepolicy` para um cluster do ElastiCache chamado `myscalablecluster` com a escalabilidade automática do ElastiCache. Use uma configuração de política com base na métrica predefinida `ElastiCachePrimaryEngineCPUUtilization`. 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups",
    "PolicyType": "TargetTrackingScaling",
    "TargetTrackingScalingPolicyConfiguration": {
        "TargetValue": 40.0,
        "PredefinedMetricSpecification":
        {
            "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
        }
    }
}
```

# Editar uma política de escalabilidade
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy"></a>

Você pode editar uma política de escalabilidade usando o Console de gerenciamento da AWS, a AWS CLI ou a API do Application Auto Scaling. 

## Editar uma política de escalabilidade usando o Console de gerenciamento da AWS
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CON"></a>

**Para editar uma política de ajuste de escala automático em um cluster do ElastiCache para Valkey e Redis OSS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, selecione o mecanismo apropriado. 

1. Selecione o cluster ao qual você deseja adicionar uma política (escolha o botão à esquerda do nome do cluster). 

1. Selecione a guia **Auto Scaling policies** (Políticas do Auto Scaling). 

1. Em **Scaling policies** (Políticas de escalabilidade), escolha o botão à esquerda da política de autoescalabilidade que você deseja alterar e selecione **Modify** (Modificar). 

1. Faça as alterações necessárias na política.

1. Escolha **Modificar**.

## Edição de uma política de escalabilidade usando a AWS CLI e a API
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CLI"></a>

Você pode usar a AWS CLI ou a API do Application Auto Scaling para editar uma política de escalabilidade da mesma forma que você aplica uma política de escalabilidade: 
+ Ao usar a AWS CLI, especifique o nome da política que você deseja editar no parâmetro `--policy-name`. Especifique novos valores para os parâmetros que você deseja alterar. 
+ Ao usar a API do Application Auto Scaling, especifique o nome da política que você deseja editar no parâmetro `PolicyName`. Especifique novos valores para os parâmetros que você deseja alterar. 

Para obter mais informações, consulte [Aplicar uma política de escalabilidade](AutoScaling-Scaling-Applying-a-Scaling-Policy.md).

# Excluir uma política de escalabilidade
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy"></a>

Você pode excluir uma política de escalabilidade usando o Console de gerenciamento da AWS, a AWS CLI ou a API do Application Auto Scaling. 

## Excluir uma política de escalabilidade usando o Console de gerenciamento da AWS
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CON"></a>

**Para excluir uma política do Auto Scaling de um cluster do ElastiCache para Redis OSS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, escolha **Valkey** ou **Redis OSS**. 

1. Escolha o cluster cuja política de autoescalabilidade você deseja editar (selecione o nome do cluster, e não o botão à esquerda). 

1. Selecione a guia **Auto Scaling policies** (Políticas do Auto Scaling). 

1. Na seção **Auto scaling policies** (Políticas de autoescalabilidade), escolha a respectiva política e selecione **Delete** (Excluir). 

## Excluir uma política de escalabilidade usando o AWS CLI
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy-CLI"></a>

Para excluir uma política de escalabilidade do seu cluster do ElastiCache para Valkey e Redis OSS, use o comando [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scaling-policy.html) AWS CLI com os seguintes parâmetros: 
+ **--policy-name**: o nome da política de escalabilidade. 
+ **--resource-id**: o identificador do recurso. Para este parâmetro, o tipo de recurso é `ReplicationGroup` e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ **--service-namespace**: defina este valor como `elasticache`. 
+ **--scalable-dimension**: defina este valor como `elasticache:replication-group:NodeGroups`. 

No exemplo a seguir, a política de escalabilidade com monitoramento do objetivo chamada `myscalablepolicy` é excluída de um cluster chamado `myscalablecluster`. 

Para Linux, macOS ou Unix:

```
aws application-autoscaling delete-scaling-policy \
    --policy-name myscalablepolicy \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:NodeGroups
```

Para Windows:

```
aws application-autoscaling delete-scaling-policy ^
    --policy-name myscalablepolicy ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:NodeGroups
```

## Exclusão de uma política de escalabilidade usando a API
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy-API"></a>

Para excluir uma política de escalabilidade do seu cluster do ElastiCache para Valkey e Redis OSS, use o comando [DeleteScalingPolicy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scaling-policy.html) AWS CLI com os seguintes parâmetros: 
+ **--policy-name**: o nome da política de escalabilidade. 
+ **--resource-id**: o identificador do recurso. Para este parâmetro, o tipo de recurso é `ReplicationGroup` e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ **--service-namespace**: defina este valor como `elasticache`. 
+ **--scalable-dimension**: defina este valor como `elasticache:replication-group:NodeGroups`. 

No exemplo a seguir, a política de escalabilidade com monitoramento do objetivo chamada `myscalablepolicy` é excluída de um cluster chamado `myscalablecluster`. 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups"
}
```

# Use CloudFormation para políticas do Auto Scaling
<a name="AutoScaling-with-Cloudformation-Shards"></a>

Este trecho mostra como criar uma política com monitoramento do objetivo e aplicá-la a um recurso [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) usando o recurso [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html). Ela usa as funções intrínsecas [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) e [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) para construir a propriedade `ResourceId` com o nome lógico do recurso `AWS::ElastiCache::ReplicationGroup` especificado no mesmo modelo. 

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 3
     MinCapacity: 1
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:NodeGroups'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"

  ScalingPolicy:
    Type: "AWS::ApplicationAutoScaling::ScalingPolicy"
    Properties:
      ScalingTargetId: !Ref ScalingTarget
      ServiceNamespace: elasticache
      PolicyName: testpolicy
      PolicyType: TargetTrackingScaling
      ScalableDimension: 'elasticache:replication-group:NodeGroups'
      TargetTrackingScalingPolicyConfiguration:
        PredefinedMetricSpecification:
          PredefinedMetricType: ElastiCachePrimaryEngineCPUUtilization
        TargetValue: 40
```

# Escalabilidade programada
<a name="AutoScaling-with-Scheduled-Scaling-Shards"></a>

A escalabilidade com base em uma programação permite que você dimensione sua aplicação em resposta a alterações de demanda. Para usar a escalabilidade programada, você deve criar ações programadas, que instruem o ElastiCache para Valkey e Redis OSS a executar ações de escalabilidade em momentos específicos. Quando você cria uma ação programada, especifica um cluster existente, quando a ação de escalabilidade deve ocorrer, a capacidade mínima e a capacidade máxima. É possível criar ações programadas para escalar uma única vez ou de forma programada. 

 Você só pode criar uma ação programada para clusters que já existam. Você não pode criar uma ação programada ao mesmo tempo em que você cria um cluster.

Para obter mais informações sobre terminologia para criação, gerenciamento e exclusão de ações programadas, consulte [Comandos normalmente usados para criação, gerenciamento e exclusão de ações programadas](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#scheduled-scaling-commonly-used-commands) 

**Para criar em uma programação recorrente:**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, escolha **Valkey** ou **Redis OSS**. 

1. Escolha o cluster ao qual você deseja adicionar uma política. 

1. Escolha **Manage Auto Scaling policies** (Gerenciar políticas do Auto Scaling) no menu suspenso **Actions** (Ações). 

1. Escolha a guia **Auto Scaling policies** (Políticas do Auto Scaling).

1. Na seção **Auto Scaling policies** (Políticas de Auto Scaling), a caixa de diálogo **Add Scaling policy** (Adicionar política de escalabilidade) será exibida. Escolha **Scheduled scaling** (Escalabilidade programada).

1. Em **Policy Name** (Nome da política), insira um nome para a política. 

1. Em **Scalable Dimension** (Dimensão escalável), escolha **Shards** (Fragmentos). 

1. Em **Target Shards** (Fragmentos de destino), escolha o valor. 

1. Em **Recurrence** (Recorrência), escolha **Recurring** (Recorrente). 

1. Em **Frequency** (Frequência), escolha o respectivo valor. 

1. Em **Start Date** (Data de início) e **Start time** (Horário de início), escolha o horário a partir do qual a política entrará em vigor. 

1. Escolha **Add policy** (Adicionar política). 

**Para criar uma ação programada para executar uma única vez:**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, escolha **Valkey** ou **Redis OSS**. 

1. Escolha o cluster ao qual você deseja adicionar uma política. 

1. Escolha **Manage Auto Scaling policies** (Gerenciar políticas do Auto Scaling) no menu suspenso **Actions** (Ações). 

1. Escolha a guia **Auto Scaling policies** (Políticas do Auto Scaling).

1. Na seção **Auto Scaling policies** (Políticas de Auto Scaling), a caixa de diálogo **Add Scaling policy** (Adicionar política de escalabilidade) será exibida. Escolha **Scheduled scaling** (Escalabilidade programada).

1. Em **Policy Name** (Nome da política), insira um nome para a política. 

1. Em **Scalable Dimension** (Dimensão escalável), escolha **Shards** (Fragmentos). 

1. Em **Target Shards** (Fragmentos de destino), escolha o valor. 

1. Em **Recurrence** (Recorrência), escolha **One Time** (Uma vez). 

1. Em **Start Date** (Data de início) e **Start time** (Horário de início), escolha o horário a partir do qual a política entrará em vigor. 

1. Em **End Date** (Data de término), escolha a data até quando a política estará em vigor. 

1. Escolha **Add policy** (Adicionar política). 

**Para excluir uma ação programada**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, escolha **Valkey** ou **Redis OSS**. 

1. Escolha o cluster ao qual você deseja adicionar uma política. 

1. Escolha **Manage Auto Scaling policies** (Gerenciar políticas do Auto Scaling) no menu suspenso **Actions** (Ações). 

1. Escolha a guia **Auto Scaling policies** (Políticas do Auto Scaling).

1. Na seção **Auto scaling policies** (Políticas do Auto Scaling), escolha a política do Auto Scaling e depois escolha **Delete** (Excluir) na caixa de diálogo **Actions** (Ações).

**Para gerenciar a escalabilidade programada usando o AWS CLI **

Use as seguintes APIs de application-autoscaling:
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scheduled-action.html) 
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-scheduled-actions.html) 
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scheduled-action.html) 

## Use CloudFormation para criar uma ação programada
<a name="AutoScaling-with-Cloudformation-Declare-Scheduled-Action"></a>

Este trecho mostra como criar uma política com monitoramento do objetivo e aplicá-la a um recurso [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) usando o recurso [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html). Ela usa as funções intrínsecas [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) e [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) para construir a propriedade `ResourceId` com o nome lógico do recurso `AWS::ElastiCache::ReplicationGroup` especificado no mesmo modelo. 

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 3
     MinCapacity: 1
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:NodeGroups'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"
     ScheduledActions:
       - EndTime: '2020-12-31T12:00:00.000Z'
         ScalableTargetAction:
           MaxCapacity: '5'
           MinCapacity: '2'
         ScheduledActionName: First
         Schedule: 'cron(0 18 * * ? *)'
```

# Usar o ajuste de escala automático com réplicas
<a name="AutoScaling-Using-Replicas"></a>

Um grupo de replicação do ElastiCache pode configurar um ou mais caches para funcionar como um único nó lógico. 

O tópico seguinte fornece detalhes sobre o monitoramento do objetivo e as políticas programadas e como aplicá-las usando o Console de gerenciamento da AWS, a AWS CLI e APIs.

# Políticas de escalabilidade de rastreamento de destino
<a name="AutoScaling-Scaling-Policies-Replicas-Replicas"></a>

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 réplicas uniformemente ao longo de todos os 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. 

## Critérios do Auto Scaling para réplicas
<a name="AutoScaling-Scaling-Criteria-Replicas"></a>

Sua política do Auto Scaling define a seguinte métrica predefinida para seu cluster:

`ElastiCacheReplicaEngineCPUUtilization`: o limite de utilização de AVG EngineCPU agregado em todas as réplicas usadas pelo ElastiCache para acionar uma operação de ajuste de escala automático. Você pode definir a meta de utilização entre 35% e 70%.

Quando o serviço detectar que sua métrica `ElastiCacheReplicaEngineCPUUtilization` é igual ou maior que a configuração de destino, ele aumentará automaticamente as réplicas nos fragmentos. O ElastiCache aumenta a escala na horizontal das réplicas do seu cluster em uma contagem igual ao maior de dois números: variação percentual do objetivo e uma réplica. 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 5 fragmentos e 1 réplica cada:

Se o seu objetivo for violado em 30%, o ElastiCache para Valkey e Redis OSS aumentará a escala horizontalmente em 1 réplica (máximo (0,3, padrão 1)) em todos os fragmentos, o que resulta em 5 fragmentos com 2 réplicas cada.

Para um exemplo de redução de escala na horizontal, se você selecionou um valor de objetivo de 60%, o ElastiCache para Valkey e Redis OSS 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
<a name="AutoScaling-Scaling-Considerations-Replicas"></a>

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 réplicas em um máximo de (% de desvio arredondado do objetivo, padrão 1) de réplicas existentes em todos os fragmentos 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 aumenta a escalabilidade 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 mais gradualmente, com redução máxima de escala de 1 réplica ao longo dos fragmentos no cluster. 
+ 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 Auto Scaling é 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 exclui os alarmes automaticamente quando você exclui a política de escalabilidade ou exclui o cluster. 
+ O ajuste de escala automático do ElastiCache não impede a modificação manual de réplicas nos fragmentos. 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](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) 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](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html).
+ Se não houver capacidade suficiente disponível no EC2, o ajuste de escala automático do ElastiCache não aumentará a escala na horizontal até que a capacidade esteja disponível ou se você modificar manualmente o cluster para os tipos de instância que têm capacidade suficiente.
+ O ajuste de escala automático do ElastiCache não oferece suporte à escalabilidade de réplicas com um cluster tendo `ReservedMemoryPercent` menos que 25%. Para obter mais informações, consulte [Gerenciamento de memória reservada para Valkey e Redis OSS](redis-memory-management.md). 

# Adicionar uma política de escalabilidade
<a name="AutoScaling-Adding-Policy-Replicas"></a>

Você pode adicionar uma política de escalabilidade usando o Console de gerenciamento da AWS. 

**Adicionar uma política de escalabilidade usando o Console de gerenciamento da AWS**

Para adicionar uma política de ajuste de escala automático ao ElastiCache para Valkey e Redis OSS

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, escolha **Valkey** ou **Redis OSS**. 

1. Selecione o cluster ao qual você deseja adicionar uma política (escolha o botão à esquerda do nome do cluster). 

1. Selecione a guia **Auto Scaling policies** (Políticas do Auto Scaling). 

1. Escolha **add dynamic scaling** (adicionar escalabilidade dinâmica). 

1. Em **Scaling Policies** (Políticas de escalabilidade), escolha **Add dnynamic scaling** (Adicionar escalabilidade dinâmica).

1. Em **Policy Name** (Nome da política), insira um nome para a política. 

1. Em **Scalable Dimension** (Dimensão escalável), selecione **Replicas** (Réplicas) na caixa de diálogo. 

1. Para o valor de destino, digite o percentual médio de utilização da CPU que você deseja manter nas réplicas do ElastiCache. Esse valor deve ser >=35 e <=70. As réplicas do cluster serão adicionadas ou removidas por manter a métrica próxima ao valor especificado.

1. (Opcional) Não há suporte do console para os períodos de desaquecimento de redução ou aumento de escala na horizontal. Use a AWS CLI para modificar os valores de desaquecimento. 

1. Em **Minimum capacity** (Capacidade mínima), insira o número mínimo de réplicas que o ajuste de escala automático do ElastiCache é solicitado a manter. 

1. Em **Maximum capacity** (Capacidade máxima), insira o número máximo de réplicas que o ajuste de escala automático do ElastiCache é solicitado a manter. Esse valor deve ser >=5. 

1. Escolha **Criar**.

# Registro de um destino escalável
<a name="AutoScaling-Register-Policy"></a>

Você pode aplicar uma política de escalabilidade com base em uma métrica predefinida ou personalizada. Para fazer isso, você pode usar a AWS CLI ou a API do Application Auto Scaling. A primeira etapa é registrar seu grupo de replicação do ElastiCache para Valkey e Redis OSS no ajuste de escala automático. 

Antes de poder usar o ajuste de escala automático do ElastiCache com um cluster, você deve registrar seu cluster no ajuste de escala automático do ElastiCache. Faça isso para definir a dimensão de escalabilidade e os limites a serem aplicados no cluster. O ajuste de escala automático do ElastiCache escala dinamicamente o cluster ao longo da dimensão escalável `elasticache:replication-group:Replicas`, que representa o número de réplicas por fragmento de cluster. 

**Usar a CLI** 

Para registrar o cluster do ElastiCache, use o comando [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) com os seguintes parâmetros: 
+ --service-namespace: defina este valor como elasticache. 
+ --resource-id: o identificador de recursos para o cluster do ElastiCache. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ --scalable-dimension: defina este valor como `elasticache:replication-group:Replicas`. 
+ --min-capacity: o número mínimo de fragmentos a serem gerenciados pela escalabilidade automática do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte [Capacidades mínima e máxima](AutoScaling-Policies.md#AutoScaling-MinMax).
+ --max-capacity: o número máximo de fragmentos a serem gerenciados pela escalabilidade automática do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte [Capacidades mínima e máxima](AutoScaling-Policies.md#AutoScaling-MinMax).

**Example**  
No exemplo a seguir, registre um cluster do ElastiCache de nome `myscalablecluster`. O registro indica que o cluster deve ser escalado dinamicamente para ter de uma a 5 réplicas.   
Para Linux, macOS ou Unix:  

```
aws application-autoscaling register-scalable-target \
    --service-namespace elasticache \
    --resource-id replication-group/myscalablecluster \
    --scalable-dimension elasticache:replication-group:Replicas \
    --min-capacity 1 \
    --max-capacity 5 \
```
Para Windows:  

```
aws application-autoscaling register-scalable-target ^
    --service-namespace elasticache ^
    --resource-id replication-group/myscalablecluster ^
    --scalable-dimension elasticache:replication-group:Replicas ^
    --min-capacity 1 ^
    --max-capacity 5 ^
```

**Usar a API**

Para registrar o cluster do ElastiCache, use o comando [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) com os seguintes parâmetros: 
+ ServiceNamespace: defina este valor como elasticache. 
+ ResourceID: o identificador de recursos para o cluster do ElastiCache. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ ScalableDimension: defina este valor como `elasticache:replication-group:Replicas`. 
+ MinCapacity: o número mínimo de réplicas a serem gerenciadas pela escalabilidade automática do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte [Capacidades mínima e máxima](AutoScaling-Policies.md#AutoScaling-MinMax).
+ MaxCapacity: o número máximo de réplicas a serem gerenciadas pela escalabilidade automática do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte [Capacidades mínima e máxima](AutoScaling-Policies.md#AutoScaling-MinMax).

**Example**  
No exemplo a seguir, um cluster chamado `myscalablecluster` é registrado na API do Application Auto Scaling. Este registro indica que o cluster deve ser escalado dinamicamente para ter de uma a 5 réplicas. 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:Replicas",
    "MinCapacity": 1,
    "MaxCapacity": 5
}
```

# Definir uma política de escalabilidade
<a name="AutoScaling-Defining-Policy"></a>

Uma configuração de política de escalabilidade de rastreamento de destino é representada por um bloco JSON no qual as métricas e valores de destino são definidos. Você pode salvar uma configuração de política de escalabilidade como um bloco JSON em um arquivo de texto. Você pode usar esse arquivo de texto ao invocar a AWS CLI ou a API do Application Auto Scaling. Para obter mais informações sobre a sintaxe de configuração de política, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) na *Referência da API do Application Auto Scaling*. 

As seguintes opções estão disponíveis para definir uma configuração de política de escalabilidade com monitoramento do objetivo:

**Topics**
+ [Uso de uma métrica predefinida](#AutoScaling-Predefined-Metric)
+ [Editar uma política de escalabilidade](AutoScaling-Editing-Policy.md)
+ [Excluir uma política de escalabilidade](AutoScaling-Deleting-Policy.md)
+ [Use CloudFormation para políticas do Auto Scaling](AutoScaling-with-Cloudformation.md)
+ [Escalabilidade programada](AutoScaling-with-Scheduled-Scaling-Replicas.md)

## Uso de uma métrica predefinida
<a name="AutoScaling-Predefined-Metric"></a>

Uma configuração de política de escalabilidade de rastreamento de destino é representada por um bloco JSON no qual as métricas e valores de destino são definidos. Você pode salvar uma configuração de política de escalabilidade como um bloco JSON em um arquivo de texto. Você pode usar esse arquivo de texto ao invocar a AWS CLI ou a API do Application Auto Scaling. Para obter mais informações sobre a sintaxe de configuração de política, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) na *Referência da API do Application Auto Scaling*. 

As seguintes opções estão disponíveis para definir uma configuração de política de escalabilidade com monitoramento do objetivo:

**Topics**
+ [Uso de uma métrica predefinida](#AutoScaling-Predefined-Metric)
+ [Uso de uma métrica personalizada](#AutoScaling-Custom-Metric)
+ [Uso de períodos de desaquecimento](#AutoScaling-Using-Cooldowns)
+ [Desabilitar a atividade de redução](#AutoScaling-Disabling-Scalein)
+ [Aplicação de uma política de escalabilidade a um cluster do ElastiCache para Valkey e Redis OSS](#AutoScaling-Applying-Policy)

### Uso de uma métrica predefinida
<a name="AutoScaling-Predefined-Metric"></a>

Com o uso de métricas predefinidas, você pode definir rapidamente uma política de escalabilidade com monitoramento do objetivo para um cluster do ElastiCache para Valkey e Redis OSS que funcione com o monitoramento do objetivo no ajuste de escala automático do ElastiCache. Atualmente, o ElastiCache dá suporte à seguinte métrica predefinida no Auto Scaling do ElastiCache: 

`ElastiCacheReplicaEngineCPUUtilization`: o valor médio da métrica EngineCPUUtilization no CloudWatch em todas as réplicas no cluster. Você pode encontrar o valor da métrica agregada no CloudWatch em ElastiCache `ReplicationGroupId, Role` para ReplicationGroupId e réplica de função obrigatórios. 

Para usar uma métrica predefinida em sua política de escalabilidade, crie uma configuração de rastreamento de destino para sua política de escalabilidade. Essa configuração deve incluir uma `PredefinedMetricSpecification` para a métrica predefinida e um `TargetValue` para o valor de destino dessa métrica. 

### Uso de uma métrica personalizada
<a name="AutoScaling-Custom-Metric"></a>

Com o uso de métricas personalizadas, você pode definir uma política de escalabilidade de rastreamento de destino que atenda a suas exigências personalizadas. Você pode definir uma métrica personalizada com base em qualquer métrica do ElastiCache para Valkey e Redis OSS que mude na proporção da escalabilidade. Nem todas as métricas do ElastiCache funcionam para o monitoramento do objetivo. A métrica deve ser de utilização válida e descrever o quão ocupada uma instância está. O valor da métrica deve aumentar ou diminuir na proporção do número de réplicas no cluster. Essa aumento ou redução proporcional é necessário para usar os dados da métrica para expandir ou reduzir proporcionalmente o número de réplicas. 

**Example**  
O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, uma métrica personalizada ajusta um cluster com base em uma utilização média da CPU de 50 por centro em todas as réplicas em um cluster chamado `my-db-cluster`.   

```
{"TargetValue": 50,
    "CustomizedMetricSpecification":
    {"MetricName": "EngineCPUUtilization",
        "Namespace": "AWS/ElastiCache",
        "Dimensions": [
            {"Name": "ReplicationGroup","Value": "my-db-cluster"},
            {"Name": "Role","Value": "REPLICA"}
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

### Uso de períodos de desaquecimento
<a name="AutoScaling-Using-Cooldowns"></a>

Você pode especificar um valor, em segundos, para `ScaleOutCooldown` a fim de adicionar um desaquecimento para expandir seu cluster. De forma similar, você pode adicionar um valor, em segundos, para `ScaleInCooldown` a fim de adicionar um período de desaquecimento para reduzir a escala na horizontal do seu cluster. Para obter mais informações sobre `ScaleInCooldown` e `ScaleOutCooldown`, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) na *Referência da API do Application Auto Scaling*. O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica predefinida `ElastiCacheReplicaEngineCPUUtilization` é usada para ajustar um cluster com base em uma utilização média da CPU de 40 por cento em todas as réplicas nesse cluster. A configuração fornece um desaquecimento de redução de 10 minutos e em um desaquecimento de expansão de 5 minutos. 

```
{"TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization"
    },
    "ScaleInCooldown": 600,
    "ScaleOutCooldown": 300
}
```

### Desabilitar a atividade de redução
<a name="AutoScaling-Disabling-Scalein"></a>

Você pode impedir que a configuração da política de escalabilidade com monitoramento do objetivo reduza a escala horizontalmente de seu cluster do ElastiCache para Valkey e Redis OSS desabilitando a atividade de redução de escala horizontal. Desabilitar a atividade de redução de escala na horizontal impede que a política de escalabilidade exclua réplicas, enquanto permite ao mesmo tempo que a política de escalabilidade adicione-as conforme necessário. 

Você pode especificar um valor booleano para `DisableScaleIn` a fim de permitir ou evitar a atividade de redução de escala na horizontal no seu cluster. Para obter mais informações sobre `DisableScaleIn`, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) na *Referência da API do Application Auto Scaling*. 

**Example**  
O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica predefinida `ElastiCacheReplicaEngineCPUUtilization` ajusta um cluster com base em uma utilização média da CPU de 40 por cento em todas as réplicas nesse cluster. A configuração desativa a atividade de redução para a política de escalabilidade. 

```
{"TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization"
    },
    "DisableScaleIn": true
}
```

### Aplicação de uma política de escalabilidade a um cluster do ElastiCache para Valkey e Redis OSS
<a name="AutoScaling-Applying-Policy"></a>

Após registrar seu cluster com o ajuste de escala automático do ElastiCache para Valkey e Redis OSS e definir uma política de escalabilidade, aplique a política de escalabilidade ao cluster registrado. Para aplicar uma política de escalabilidade a um cluster do ElastiCache para Valkey e Redis OSS, você pode usar a AWS CLI ou a API do Application Auto Scaling. 

**Como usar o AWS CLI**

Para aplicar uma política de escalabilidade a seu cluster do ElastiCache para Valkey e Redis OSS, use o comando [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scaling-policy.html) com os seguintes parâmetros: 
+ --policy-name: o nome da política de escalabilidade. 
+ --policy-type: defina este valor como `TargetTrackingScaling`. 
+ --resource-id: o identificador do recurso para o cluster. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ --service-namespace: defina este valor como elasticache. 
+ --scalable-dimension: defina este valor como `elasticache:replication-group:Replicas`. 
+ --target-tracking-scaling-policy-configuration: a configuração da política de escalabilidade com monitoramento do objetivo a ser usada para o cluster. 

**Example**  
No exemplo a seguir, aplique a política de escalabilidade com monitoramento do objetivo chamada `myscalablepolicy` a um cluster chamado `myscalablecluster` com o ajuste de escala automático do ElastiCache. Para fazer isso, use uma configuração de política salva em um arquivo chamado `config.json`. 

Para Linux, macOS ou Unix:

```
aws application-autoscaling put-scaling-policy \
    --policy-name myscalablepolicy \
    --policy-type TargetTrackingScaling \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:Replicas \
    --target-tracking-scaling-policy-configuration file://config.json
```

```
{"TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization"
    },
    "DisableScaleIn": true
}
```

Para Windows:

```
aws application-autoscaling put-scaling-policy ^
    --policy-name myscalablepolicy ^
    --policy-type TargetTrackingScaling ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:Replicas ^
    --target-tracking-scaling-policy-configuration file://config.json
```

**Usar a API**

Para aplicar a política de escalabilidade em seu cluster do ElastiCache com a API do Application Auto Scaling, use a operação [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScalingPolicy.html) da API do Application Auto Scaling com os seguintes parâmetros: 
+ PolicyName: o nome da política de escalabilidade. 
+ PolicyType: defina este valor como `TargetTrackingScaling`. 
+ ResourceID: o identificador de recursos para o cluster. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster do ElastiCache para Redis OSS, por exemplo `replication-group/myscalablecluster`. 
+ ServiceNamespace: defina este valor como elasticache. 
+ ScalableDimension: defina este valor como `elasticache:replication-group:Replicas`. 
+ TargetTrackingScalingPolicyConfiguration: a configuração da política de escalabilidade com monitoramento do objetivo a ser usada para o cluster. 

**Example**  
No exemplo a seguir, aplique a política de escalabilidade com monitoramento do objetivo chamada `scalablepolicy` a um cluster chamado `myscalablecluster` com o ajuste de escala automático do ElastiCache com Valkey ou Redis OSS. Use uma configuração de política com base na métrica predefinida `ElastiCacheReplicaEngineCPUUtilization`. 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:Replicas",
    "PolicyType": "TargetTrackingScaling",
    "TargetTrackingScalingPolicyConfiguration": {
        "TargetValue": 40.0,
        "PredefinedMetricSpecification":
        {
            "PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization"
        }
    }
}
```

# Editar uma política de escalabilidade
<a name="AutoScaling-Editing-Policy"></a>

Você pode editar uma política de escalabilidade usando o Console de gerenciamento da AWS, a AWS CLI ou a API do Application Auto Scaling. 

**Editar uma política de escalabilidade usando o Console de gerenciamento da AWS**

Você só pode editar políticas com métricas do tipo Predefined (Predefinidas) usando o Console de gerenciamento da AWS

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, escolha **Valkey** ou **Redis OSS**

1. Selecione o cluster ao qual você deseja adicionar uma política (escolha o botão à esquerda do nome do cluster). 

1. Selecione a guia **Auto Scaling policies** (Políticas do Auto Scaling). 

1. Em **Scaling policies** (Políticas de escalabilidade), escolha o botão à esquerda da política de autoescalabilidade que você deseja alterar e selecione **Modify** (Modificar). 

1. Faça as alterações necessárias na política.

1. Escolha **Modificar**.

1. Faça as alterações na política. 

1. Escolha **Modificar**.

**Edição de uma política de escalabilidade usando a AWS CLI ou a API do Application Auto Scaling**

Você pode usar a AWS CLI ou a API do Application Auto Scaling para editar uma política de escalabilidade da mesma forma que você aplica uma política de escalabilidade: 
+ Ao usar a API do Application Auto Scaling, especifique o nome da política que você deseja editar no parâmetro `PolicyName`. Especifique novos valores para os parâmetros que você deseja alterar. 

Para obter mais informações, consulte [Aplicação de uma política de escalabilidade a um cluster do ElastiCache para Valkey e Redis OSS](AutoScaling-Defining-Policy.md#AutoScaling-Applying-Policy).

# Excluir uma política de escalabilidade
<a name="AutoScaling-Deleting-Policy"></a>

Você pode excluir uma política de escalabilidade usando o Console de gerenciamento da AWS, a AWS CLI ou a API do Application Auto Scaling.

**Excluir uma política de escalabilidade usando o Console de gerenciamento da AWS**

Você só pode editar políticas com métricas do tipo Predefined (Predefinidas) usando o Console de gerenciamento da AWS

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon ElastiCache em [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. No painel de navegação, escolha **Valkey** ou **Redis OSS**

1. Escolha o cluster cuja política do Auto Scaling você deseja excluir.

1. Escolha a guia **Auto Scaling policies** (Políticas do Auto Scaling). 

1. Na seção **Auto scaling policies** (Políticas de autoescalabilidade), escolha a respectiva política e selecione **Delete** (Excluir). 

**Exclusão de uma política de escalabilidade usando a AWS CLI ou a API do Application Auto Scaling**

Você pode usar a AWS CLI ou a API do Application Auto Scaling para excluir uma política de escalabilidade de um cluster do ElastiCache. 

**CLI**

Para excluir uma política de escalabilidade do seu cluster do ElastiCache para Valkey e Redis OSS, use o comando [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scaling-policy.html) com os seguintes parâmetros: 
+ --policy-name: o nome da política de escalabilidade. 
+ --resource-id: o identificador do recurso para o cluster. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ --service-namespace: defina este valor como elasticache. 
+ --scalable-dimension: defina este valor como `elasticache:replication-group:Replicas`. 

**Example**  
No exemplo a seguir, a política de escalabilidade com monitoramento do objetivo chamada `myscalablepolicy` é excluída de um cluster do ElsatiCache chamado `myscalablecluster`. 

Para Linux, macOS ou Unix:

```
aws application-autoscaling delete-scaling-policy \
    --policy-name myscalablepolicy \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:Replicas \
```

Para Windows:

```
aws application-autoscaling delete-scaling-policy ^
    --policy-name myscalablepolicy ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:Replicas ^
```

**API**

Para excluir uma política de escalabilidade do seu cluster do ElastiCache para Valkey e Redis OSS, use a operação da API do Application Auto Scaling [DeleteScalingPolicy](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_DeleteScalingPolicy.html) com os seguintes parâmetros: 
+ PolicyName: o nome da política de escalabilidade. 
+ ResourceID: o identificador de recursos para o cluster. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo `replication-group/myscalablecluster`. 
+ ServiceNamespace: defina este valor como elasticache. 
+ ScalableDimension: defina este valor como `elasticache:replication-group:Replicas`. 

No exemplo a seguir, a política de escalabilidade com monitoramento do objetivo chamada `myscalablepolicy` é excluída de um cluster chamado `myscalablecluster` com a API do Application Auto Scaling. 

```
POST / HTTP/1.1
>>>>>>> mainline
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:Replicas"
}
```

# Use CloudFormation para políticas do Auto Scaling
<a name="AutoScaling-with-Cloudformation"></a>

Este trecho mostra como criar uma ação programada e aplicá-la a um recurso [AWS::ELastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) usando o recurso [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html). Ela usa as funções intrínsecas [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) e [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) para construir a propriedade `ResourceId` com o nome lógico do recurso `AWS::ElastiCache::ReplicationGroup` especificado no mesmo modelo. 

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 0
     MinCapacity: 0
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:Replicas'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"

  ScalingPolicy:
    Type: "AWS::ApplicationAutoScaling::ScalingPolicy"
    Properties:
      ScalingTargetId: !Ref ScalingTarget
      ServiceNamespace: elasticache
      PolicyName: testpolicy
      PolicyType: TargetTrackingScaling
      ScalableDimension: 'elasticache:replication-group:Replicas'
      TargetTrackingScalingPolicyConfiguration:
        PredefinedMetricSpecification:
          PredefinedMetricType: ElastiCacheReplicaEngineCPUUtilization
        TargetValue: 40
```

# Escalabilidade programada
<a name="AutoScaling-with-Scheduled-Scaling-Replicas"></a>

A escalabilidade com base em uma programação permite que você dimensione sua aplicação em resposta a alterações de demanda. Para usar a escalabilidade programada, você deve criar ações programadas, que instruem o ElastiCache para Valkey e Redis OSS a executar ações de escalabilidade em momentos específicos. Ao criar uma ação programada, você especifica um cluster existente do ElastiCache, quando a ação de escalabilidade deve ocorrer, a capacidade mínima e a capacidade máxima. É possível criar ações programadas para escalar uma única vez ou de forma programada. 

 Você só pode criar uma ação programada para clusters do ElastiCache que já existam. Você não pode criar uma ação programada ao mesmo tempo em que você cria um cluster.

Para obter mais informações sobre terminologia para criação, gerenciamento e exclusão de ações programadas, consulte [Comandos normalmente usados para criação, gerenciamento e exclusão de ações programadas](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#scheduled-scaling-commonly-used-commands) 

**Para criar uma ação programada para executar uma única vez:**

Semelhante à dimensão do fragmento. Consulte [Escalabilidade programada](AutoScaling-with-Scheduled-Scaling-Shards.md).

**Para excluir uma ação programada**

Semelhante à dimensão do fragmento. Consulte [Escalabilidade programada](AutoScaling-with-Scheduled-Scaling-Shards.md).

**Para gerenciar a escalabilidade programada usando o AWS CLI **

Use as seguintes APIs de application-autoscaling:
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scheduled-action.html) 
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scheduled-actions.html) 
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scheduled-action.html) 

## Use CloudFormation para criar políticas do Auto Scaling
<a name="AutoScaling-with-Cloudformation-Update-Action"></a>

Este trecho mostra como criar uma ação programada e aplicá-la a um recurso [AWS::ELastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) usando o recurso [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html). Ela usa as funções intrínsecas [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) e [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) para construir a propriedade `ResourceId` com o nome lógico do recurso `AWS::ElastiCache::ReplicationGroup` especificado no mesmo modelo. 

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 0
     MinCapacity: 0
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:Replicas'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"
     ScheduledActions:
       - EndTime: '2020-12-31T12:00:00.000Z'
         ScalableTargetAction:
           MaxCapacity: '5'
           MinCapacity: '2'
         ScheduledActionName: First
         Schedule: 'cron(0 18 * * ? *)'
```