Ridimensionamento ElastiCache - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ridimensionamento ElastiCache

Puoi scalare la ElastiCache cache in base alle tue esigenze. Le cache serverless e i cluster progettati internamente offrono diverse opzioni di scalabilità.

ElastiCache Scalabilità senza server

ElastiCache Serverless si adatta automaticamente al traffico del carico di lavoro man mano che aumenta o diminuisce. Per ogni cache ElastiCache Serverless, monitora ElastiCache continuamente l'utilizzo di risorse come CPU memoria e rete. Quando una di queste risorse è limitata, ElastiCache Serverless esegue la scalabilità orizzontale aggiungendo un nuovo shard e ridistribuendo i dati sul nuovo shard, senza tempi di inattività dell'applicazione. È possibile monitorare le risorse utilizzate dalla cache monitorando la BytesUsedForCache metrica per l'archiviazione dei dati nella CloudWatch cache e () per l'utilizzo dell'elaborazione. ElastiCacheProcessingUnits ECPU

Impostazione dei limiti di dimensionamento per gestire i costi

È possibile scegliere di configurare un utilizzo massimo sia per l'archiviazione dei dati della cache sia per ECPU /second per la cache per controllare i costi della cache. In questo modo ti assicuri che l'utilizzo della cache non superi mai il limite massimo configurato.

Se imposti un valore di scalabilità massimo, l'applicazione potrebbe subire una riduzione delle prestazioni della cache quando la cache raggiunge il massimo. Quando impostate un valore massimo di archiviazione dei dati nella cache e l'archiviazione dei dati della cache raggiunge il massimo, ElastiCache inizierà a eliminare i dati dalla cache che hanno un set Time-To-Live (TTL), utilizzando la logica. LRU Se non ci sono dati che possono essere eliminati, le richieste di scrittura di dati aggiuntivi riceveranno un messaggio di errore Out Of Memory ()OOM. Quando imposti un valore massimo di ECPU /second e l'utilizzo di calcolo del carico di lavoro supera questo valore, inizieranno a limitare le richieste. ElastiCache

Se imposti un limite massimo su BytesUsedForCache oElastiCacheProcessingUnits, ti consigliamo vivamente di impostare un CloudWatch allarme a un valore inferiore al limite massimo in modo da ricevere una notifica quando la cache funziona in prossimità di questi limiti. Ti consigliamo di impostare l'allarme al 75% del limite massimo configurato. Consulta la documentazione su come configurare gli CloudWatch allarmi.

Prescalabilità con Serverless ElastiCache

ElastiCache Prescalabilità senza server

Con il preridimensionamento, chiamato anche preriscaldamento, è possibile impostare limiti minimi supportati per la cache. ElastiCache È possibile impostare questi valori minimi per le unità di ElastiCache elaborazione (ECPUs) al secondo o per l'archiviazione dei dati. Ciò può essere utile in preparazione agli eventi di scalabilità previsti. Ad esempio, se una società di giochi prevede un aumento di 5 volte degli accessi entro il primo minuto dal lancio del nuovo gioco, può predisporre la cache per questo significativo picco di utilizzo.

È possibile eseguire la prescalatura utilizzando la console, oppure. ElastiCache CLI API ElastiCache Serverless aggiorna i ECPUs /second disponibili nella cache entro 60 minuti e invia una notifica di evento quando viene completato l'aggiornamento del limite minimo.

Come funziona la prescalabilità

Quando il limite minimo per ECPUs /secondo o l'archiviazione dei dati viene aggiornato tramite la console, oppure CLIAPI, il nuovo limite è disponibile entro 1 ora. ElastiCache Serverless supporta 30.000 ECPUs €/secondo su una cache vuota e fino a 90.000 ECPUs /sec quando si utilizza la funzionalità Read from Replica. ElastiCache può raddoppiare /secondo ogni 10-12 minuti. ECPUs Questa velocità di scalabilità è sufficiente per la maggior parte dei carichi di lavoro. Se prevedi che un evento di scalabilità imminente possa superare questa frequenza, ti consigliamo di impostare il valore minimo ECPUs /secondo sul picco ECPUs /sec previsto almeno 60 minuti prima dell'evento di picco. In caso contrario, l'applicazione potrebbe riscontrare una latenza e una limitazione delle richieste elevate.

Una volta completato l'aggiornamento del limite minimo, ElastiCache Serverless inizierà a contabilizzare il nuovo valore minimo ECPUs al secondo o il nuovo spazio di archiviazione minimo. Ciò si verifica anche se l'applicazione non esegue le richieste sulla cache o se l'utilizzo dell'archiviazione dei dati è inferiore al minimo. Quando si abbassa il limite minimo rispetto all'impostazione corrente, l'aggiornamento è immediato, quindi ElastiCache Serverless inizierà immediatamente a misurare il nuovo limite minimo.

Nota
  • Quando imposti un limite di utilizzo minimo, ti viene addebitato il costo di tale limite anche se l'utilizzo effettivo è inferiore al limite di utilizzo minimo. ECPUo all'utilizzo dell'archiviazione dei dati che supera il limite di utilizzo minimo viene addebitata la tariffa normale. Ad esempio, se imposti un limite di utilizzo minimo di 100.000 ECPUs €/secondo, ti verranno addebitati almeno 1,224 USD all'ora (utilizzando i prezzi ECPU in us-east-1), anche se l'utilizzo è inferiore al minimo impostato.

  • ElastiCache Serverless supporta la scala minima richiesta a livello aggregato sulla cache. ElastiCache Serverless supporta anche un massimo di 30.000 al ECPUs secondo per slot (90.000 al ECPUs secondo quando si utilizza Read from Replica utilizzando connessioni). READONLY Come best practice, l'applicazione dovrebbe garantire che la distribuzione delle chiavi tra gli OSS slot Valkey o Redis e il traffico tra le chiavi siano il più uniformi possibile.

Impostazione dei limiti di scalabilità utilizzando la console e AWS CLI

Impostazione dei limiti di scalabilità tramite la console AWS

  1. Accedi AWS Management Console e apri la ElastiCache console all'indirizzo https://console.aws.amazon.com/elasticache/.

  2. Nel riquadro di navigazione scegli il motore in esecuzione sulla cache da modificare.

  3. Viene visualizzato un elenco di cache che eseguono il motore scelto.

  4. Scegli la cache da modificare facendo clic sul pulsante di opzione a sinistra del nome della cache.

  5. Scegliere Actions (Operazioni), quindi Modify (Modifica).

  6. In Limiti di utilizzo, imposta i limiti di memoria o elaborazione appropriati.

  7. Fai clic su Visualizza l'anteprima delle modifiche e quindi su Salva le modifiche.

Impostazione dei limiti di scalabilità utilizzando il AWS CLI

Per modificare i limiti di scala utilizzando ilCLI, utilizzare il. 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}'

Rimuovere i limiti di scala utilizzando il CLI

Per rimuovere i limiti di scala utilizzando ilCLI, impostare i parametri del limite minimo e massimo su 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}'