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á.
Dimensionamento ElastiCache
Você pode escalar seu ElastiCache cache para atender às suas necessidades. Caches sem servidor e clusters autoprojetados oferecem várias opções de escalabilidade diferentes.
Dimensionamento sem servidor ElastiCache
ElastiCache O Serverless acomoda automaticamente seu tráfego de carga de trabalho à medida que ele aumenta ou diminui. Para cada cache ElastiCache sem servidor, rastreia ElastiCache continuamente a utilização de recursos como memória CPU e rede. Quando qualquer um desses recursos está restrito, o ElastiCache Serverless se expande adicionando um novo fragmento e redistribuindo os dados ao novo fragmento, sem nenhum tempo de inatividade para seu aplicativo. Você pode monitorar os recursos que estão sendo consumidos pelo seu cache CloudWatch monitorando a BytesUsedForCache
métrica para armazenamento de dados em cache e ElastiCacheProcessingUnits
(ECPU) para uso de computação.
Definição dos limites de escalabilidade para gerenciar custos
Você pode optar por configurar um uso máximo no armazenamento de dados em cache e em ECPU /second do seu cache para controlar os custos do cache. Isso vai garantir que o uso do cache jamais exceda o máximo configurado.
Se você definir um máximo de escalabilidade, seu aplicativo poderá ter um desempenho de cache reduzido quando o cache atingir o máximo. Quando você define um máximo de armazenamento de dados em cache e seu armazenamento de dados em cache atinge o máximo, ElastiCache começará a despejar dados em seu cache que tenham um Time-To-Live (TTL) definido, usando a LRU lógica. Se não houver dados que possam ser removidos, as solicitações para gravar dados adicionais receberão uma mensagem de erro Out Of Memory (OOM). Quando você define um máximo de ECPU /segundo e a utilização computacional de sua carga de trabalho excede esse valor, ElastiCache começará a limitar as solicitações.
Se você configurar um limite máximo em BytesUsedForCache
ouElastiCacheProcessingUnits
, é altamente recomendável configurar um CloudWatch alarme com um valor inferior ao limite máximo para que você seja notificado quando seu cache estiver operando perto desses limites. É recomendável definir um alarme em 75% do limite máximo definido. Consulte a documentação sobre como configurar CloudWatch alarmes.
Pré-escalonamento com Serverless ElastiCache
ElastiCache Pré-escalonamento sem servidor
Com o pré-escalonamento, também chamado de pré-aquecimento, você pode definir limites mínimos suportados para seu cache. ElastiCache Você pode definir esses mínimos para unidades ElastiCache de processamento (ECPUs) por segundo ou armazenamento de dados. Isso pode ser útil na preparação para eventos de escalonamento previstos. Por exemplo, se uma empresa de jogos espera um aumento de 5 vezes nos logins no primeiro minuto de lançamento do novo jogo, ela pode preparar seu cache para esse aumento significativo no uso.
Você pode realizar o pré-escalonamento usando o ElastiCache console,CLI, ou. API ElastiCache O Serverless atualiza o ECPUs /segundo disponível no cache em 60 minutos e envia uma notificação de evento quando a atualização do limite mínimo é concluída.
Como funciona o pré-escalonamento
Quando o limite mínimo para ECPUs /segundo ou armazenamento de dados é atualizado por meio do console CLIAPI, ou quando esse novo limite está disponível em 1 hora. ElastiCache O Serverless suporta 30 ECPUs K/segundo em um cache vazio e até 90 ECPUs K/seg ao usar o recurso Ler da Réplica. ElastiCache pode ECPUs dobrar/segundo a cada 10-12 minutos. Essa velocidade de escalabilidade é suficiente para a maioria das cargas de trabalho. Se você prevê que um próximo evento de escalabilidade possa exceder essa taxa, recomendamos definir o mínimo de ECPUs /segundo para o ECPUs pico/seg esperado pelo menos 60 minutos antes do evento de pico. Caso contrário, o aplicativo poderá apresentar latência elevada e limitação de solicitações.
Quando a atualização do limite mínimo for concluída, o ElastiCache Serverless começará a medir o novo mínimo ECPUs por segundo ou o novo armazenamento mínimo. Isso ocorre mesmo se o aplicativo não estiver executando solicitações no cache ou se o uso do armazenamento de dados estiver abaixo do mínimo. Quando você reduz o limite mínimo da configuração atual, a atualização é imediata, então o ElastiCache Serverless começará a medir o novo limite mínimo imediatamente.
nota
Ao definir um limite mínimo de uso, você é cobrado por esse limite, mesmo que seu uso real seja menor que o limite mínimo de uso. ECPUou o uso de armazenamento de dados que exceda o limite mínimo de uso será cobrado pela taxa normal. Por exemplo, se você definir um limite mínimo de uso de 100.000 por ECPUs segundo, será cobrado pelo menos 1,224 USD por hora (usando preços ECPU em us-east-1), mesmo que seu uso seja inferior ao mínimo definido.
ElastiCache O Serverless suporta a escala mínima solicitada em um nível agregado no cache. ElastiCache O Serverless também suporta um máximo de ECPUs 30K/segundo por slot (ECPUs90K/segundo ao usar Read from Replica usando conexões). READONLY Como prática recomendada, seu aplicativo deve garantir que a distribuição de chaves nos OSS slots Valkey ou Redis e o tráfego entre as chaves sejam o mais uniformes possível.
Definindo limites de escala usando o console e AWS CLI
Definindo limites de escala usando o console AWS
Faça login no AWS Management Console e abra o ElastiCache console em https://console.aws.amazon.com/elasticache/
. No painel de navegação, escolha o mecanismo em execução no cache que você deseja modificar.
É exibida uma lista de caches que executam o mecanismo escolhido.
Escolha o cache a ser modificado selecionando o botão de opção à esquerda do nome do cache.
Escolha Açõe e Modificar.
Em Limites de uso, defina os limites apropriados de memória ou computação.
Clique em Previsualizar alterações e em Salvar alterações.
Definindo limites de escala usando o AWS CLI
Para alterar os limites de CLI escala usando o. modify-serverless-cache API
Linux
aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'
Windows:
aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'
Removendo limites de escala usando o CLI
Para remover os limites de escala usando oCLI, defina os parâmetros de limite mínimo e máximo como 0.
Linux
aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'
Windows:
aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'