Escalado ElastiCache - Amazon ElastiCache

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Escalado ElastiCache

Puede escalar la ElastiCache memoria caché para adaptarla a sus necesidades. Las cachés sin servidor y los clústeres de diseño propio ofrecen varias opciones de escalado diferentes.

ElastiCache Escalado sin servidor

ElastiCache Serverless acomoda automáticamente el tráfico de su carga de trabajo a medida que aumenta o disminuye. Para cada caché ElastiCache sin servidor, realiza un seguimiento ElastiCache continuo de la utilización de recursos como la memoria y la CPU red. Cuando alguno de estos recursos está limitado, ElastiCache Serverless amplía su capacidad de ampliación añadiendo un nuevo fragmento y redistribuyendo los datos al nuevo fragmento, sin que la aplicación pierda tiempo de inactividad. Puede supervisar los recursos que consume la memoria caché CloudWatch supervisando la BytesUsedForCache métrica del almacenamiento de datos en la memoria caché y ElastiCacheProcessingUnits () ECPU del uso informático.

Establecimiento de límites de escalado para administrar los costes

Puedes elegir configurar un uso máximo tanto en el almacenamiento de datos en caché como en ECPU /segundo para tu caché a fin de controlar los costes de la memoria caché. Si lo hace, se asegurará de que el uso de la memoria caché nunca supere el máximo configurado.

Si estableces un escalado máximo, es posible que tu aplicación experimente una disminución del rendimiento de la caché cuando la caché alcance el máximo. Cuando estableces un máximo de almacenamiento de datos en caché y tu almacenamiento de datos en caché alcanza el máximo, ElastiCache empezará a desalojar los datos de la caché que tengan un Time-To-Live (TTL) establecido, siguiendo la LRU lógica. Si no hay datos que se puedan desalojar, las solicitudes para escribir datos adicionales recibirán un mensaje de error de falta de memoria (OOM). Cuando estableces un máximo de ECPU /segundo y la utilización informática de tu carga de trabajo supera este valor, ElastiCache empezará a limitar las solicitudes.

Si estableces un límite máximo en BytesUsedForCache oElastiCacheProcessingUnits, te recomendamos encarecidamente configurar una CloudWatch alarma con un valor inferior al límite máximo para que recibas una notificación cuando la memoria caché esté funcionando cerca de estos límites. Le recomendamos configurar una alarma al 75 % del límite máximo que haya establecido. Consulte la documentación sobre cómo configurar CloudWatch las alarmas.

Escalado previo con Serverless ElastiCache

ElastiCache Escalado previo sin servidor

Con el preescalado, también denominado precalentamiento, puede establecer los límites mínimos admitidos para la memoria caché. ElastiCache Puede establecer estos mínimos para las unidades de ElastiCache procesamiento (ECPUs) por segundo o para el almacenamiento de datos. Esto puede resultar útil para prepararse para los eventos de escalado previstos. Por ejemplo, si una empresa de videojuegos prevé multiplicar por cinco el número de inicios de sesión en el primer minuto de lanzamiento de su nuevo juego, puede preparar su caché para este importante aumento de uso.

Puedes realizar el escalado previo mediante la ElastiCache consola, CLI o. API ElastiCache Serverless actualiza los ECPUs /segundo disponibles en la memoria caché en 60 minutos y envía una notificación de evento cuando se completa la actualización del límite mínimo.

Cómo funciona el escalado previo

Cuando el límite mínimo de ECPUs /segundo o almacenamiento de datos se actualiza mediante la consola, o bien CLIAPI, ese nuevo límite está disponible en 1 hora. ElastiCache Serverless admite 30 000 por ECPUs segundo en una caché vacía y hasta 90 000 por ECPUs segundo cuando se utiliza la función de lectura desde réplica. ElastiCache puede duplicar /segundo cada 10-12 minutosECPUs. Esta velocidad de escalado es suficiente para la mayoría de las cargas de trabajo. Si prevé que un próximo evento de escalado podría superar esta velocidad, le recomendamos que establezca el mínimo de ECPUs /segundo en el pico ECPUs /seg que espera al menos 60 minutos antes del pico del evento. De lo contrario, es posible que la aplicación experimente una latencia elevada y se limiten las solicitudes.

Cuando se complete la actualización del límite mínimo, ElastiCache Serverless empezará a calcularte el nuevo mínimo ECPUs por segundo o el nuevo almacenamiento mínimo. Esto ocurre incluso si la aplicación no ejecuta las solicitudes en la memoria caché o si el uso del almacenamiento de datos es inferior al mínimo. Al reducir el límite mínimo con respecto a su configuración actual, la actualización es inmediata, por lo que ElastiCache Serverless empezará a medir el nuevo límite mínimo de forma inmediata.

nota
  • Cuando estableces un límite de uso mínimo, se te cobrará por ese límite incluso si tu uso real es inferior al límite de uso mínimo. ECPUo el uso de almacenamiento de datos que supere el límite de uso mínimo se cobrará la tarifa normal. Por ejemplo, si estableces un límite de uso mínimo de 100 000 ECPUs €/segundo, se te cobrará al menos 1,224$ por hora (utilizando ECPU los precios en us-east-1), incluso si tu uso es inferior al mínimo establecido.

  • ElastiCache Serverless admite la escala mínima solicitada a nivel agregado en la memoria caché. ElastiCache Serverless también admite un máximo de 30 000 por ECPUs segundo por ranura (90 000 por ECPUs segundo cuando se utiliza Read from Replica mediante conexiones). READONLY Como práctica recomendada, la aplicación debe garantizar que la distribución de claves en las OSS ranuras de Valkey o Redis y el tráfico entre las claves sean lo más uniformes posible.

Establecer límites de escalado mediante la consola y AWS CLI

Establecer límites de escalado mediante la AWS consola

  1. Inicie sesión en AWS Management Console y abra la ElastiCache consola en https://console.aws.amazon.com/elasticache/.

  2. En el panel de navegación, elija el motor que se ejecuta en la caché que desea modificar.

  3. Aparecerá una lista de las cachés que ejecutan el motor elegido.

  4. Elija la caché que desee modificar seleccionando el botón de opción (a la izquierda del nombre de la caché).

  5. Elija Actions (Acciones) y después Modify (Modificar).

  6. En Límites de uso, establece los límites de memoria o cómputo adecuados.

  7. Haga clic en Vista previa de los cambios y seleccione Guardar los cambios.

Definir los límites de escalado mediante AWS CLI

Para cambiar los límites de escala mediante elCLI, utilice el modify-serverless-cacheAPI.

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}'

Eliminar los límites de escala mediante el CLI

Para eliminar los límites de escala medianteCLI, defina los parámetros de límite mínimo y máximo en 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}'