Cómo ElastiCache funciona - 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.

Cómo ElastiCache funciona

Aquí encontrará una descripción general de los principales componentes de una ElastiCache implementación.

Caché y motores de almacenamiento en caché

Una caché es un almacén de datos en memoria que puede usar para almacenar datos en caché. Por lo general, la aplicación almacenará en caché los datos a los que se accede con frecuencia para optimizar los tiempos de respuesta. ElastiCache ofrece dos opciones de implementación: clústeres sin servidor y clústeres de diseño propio. Consulte Cómo elegir una opción de implementación.

nota

Amazon ElastiCache funciona con los motores Valkey, Redis OSS y Memcached. Si no está seguro de qué motor desea utilizar, consulte Comparación de las cachés autodiseñadas de ValkeyOSS, Redis y Memcached en esta guía.

¿Cómo ElastiCache funciona

ElastiCache Sin servidor

ElastiCache Sin servidor le permite crear una memoria caché sin preocuparse por la planificación de la capacidad, la administración del hardware o el diseño del clúster. Solo tiene que proporcionar un nombre para la memoria caché y recibirá un único punto de conexión que podrá configurar en su cliente de Valkey, Redis OSS o Memcached para empezar a acceder a la memoria caché.

nota
  • ElastiCache Serverless ejecuta Valkey, Redis OSS o Memcached en modo clúster y solo es compatible con los clientes compatibles. TLS

Ventajas principales

  • Sin planificación de la capacidad: ElastiCache Serverless elimina la necesidad de planificar la capacidad. ElastiCache Serverless monitorea continuamente el uso de la memoria, el cómputo y el ancho de banda de la red de la memoria caché y escala tanto vertical como horizontalmente. Permite que un nodo de caché aumente de tamaño y, en paralelo, inicia una operación de escalado horizontal para garantizar que la caché pueda escalarse a fin de cumplir con los requisitos de la aplicación en todo momento.

  • Pay-per-use: Con ElastiCache Serverless, usted paga por los datos almacenados y el procesamiento utilizados por su carga de trabajo en la memoria caché. Consulte Dimensiones de precios.

  • Alta disponibilidad: ElastiCache Serverless replica automáticamente sus datos en varias zonas de disponibilidad (AZ) para lograr una alta disponibilidad. Supervisa automáticamente los nodos de caché subyacentes y los reemplaza en caso de errores. Ofrece una disponibilidad del 99,99% para cada caché. SLA

  • Actualizaciones de software automáticas: ElastiCache Serverless actualiza automáticamente la memoria caché a la última versión secundaria y parchea el software sin que ello afecte a la disponibilidad de la aplicación. Cuando haya una nueva versión principal disponible, ElastiCache le enviaremos una notificación.

  • Seguridad: la tecnología sin servidor cifra siempre los datos en tránsito y en reposo. Puede utilizar una clave administrada por el servicio o su propia clave administrada por el cliente para cifrar los datos en reposo.

El siguiente diagrama ilustra cómo funciona ElastiCache Serverless.

Un diagrama del funcionamiento de la caché ElastiCache sin servidor, desde las zonas de disponibilidad hasta el cliente VPC y, después, hasta el servicio. VPC

Cuando crea una nueva caché sin servidor, ElastiCache crea un punto final de nube privada virtual (VPC) en las subredes que elija. VPC Su aplicación puede conectarse a la memoria caché a través de estos VPC puntos finales.

Con ElastiCache Serverless, recibe un único DNS punto final al que se conecta su aplicación. Cuando solicita una nueva conexión al punto final, ElastiCache Serverless gestiona todas las conexiones de caché a través de una capa de proxy. La capa de proxy contribuye a reducir la compleja configuración del cliente, ya que este no necesita volver a detectar de nuevo la topología del clúster en caso de que haya cambios en el clúster subyacente. La capa proxy es un conjunto de nodos proxy que gestionan las conexiones mediante un equilibrador de carga de red.

Cuando la aplicación crea una nueva conexión de caché, el equilibrador de carga de red envía la solicitud a un nodo proxy. Cuando la aplicación ejecuta comandos de caché, el nodo proxy que está conectado a la aplicación ejecuta las solicitudes en un nodo de caché de la memoria caché. La capa proxy abstrae la topología del clúster de caché y los nodos del cliente. Esto permite ElastiCache equilibrar la carga, escalar y añadir nuevos nodos de caché de forma inteligente, reemplazar los nodos de caché cuando fallan y actualizar el software de los nodos de caché, todo ello sin que la disponibilidad afecte a la aplicación ni tenga que restablecer las conexiones.

Clústeres de diseño propio ElastiCache

Puede optar por diseñar sus propios ElastiCache clústeres seleccionando una familia de nodos de caché, un tamaño y una cantidad de nodos para su clúster. Diseñar su propio clúster le proporciona un control más detallado y le permite elegir la cantidad de particiones de la memoria caché y el número de nodos (principales y réplicas) de cada partición. Puede optar por utilizar Valkey o Redis OSS en modo clúster creando un clúster con varios fragmentos o en modo sin clúster con un solo fragmento.

Ventajas principales

  • Diseñe su propio clúster: con él ElastiCache, puede diseñar su propio clúster y elegir dónde desea colocar los nodos de la memoria caché. Por ejemplo, si tiene una aplicación en la que quiere sacrificar una alta disponibilidad por una baja latencia, puede optar por implementar los nodos de caché en una única zona de disponibilidad. Como alternativa, puede diseñar su clúster con nodos distribuidos en varios nodos AZs para lograr una alta disponibilidad.

  • Control detallado: al diseñar nuestro propio clúster, tenemos más control a la hora de ajustar la configuración de la memoria caché. Por ejemplo, puede usar Parámetros de Valkey y Redis OSS o Parámetros específicos de Memcached configurar el motor de caché.

  • Escalar vertical y horizontalmente: puede escalar el clúster manualmente aumentando o disminuyendo el tamaño del nodo de caché cuando sea necesario. Además, puede escalar horizontalmente añadiendo particiones nuevas o añadiendo más réplicas a sus particiones. También puede usar la función de escalado automático para configurar el escalado en función de un cronograma o el escalado en función de métricas como CPU el uso de memoria en la memoria caché.

El siguiente diagrama ilustra cómo funcionan los clústeres de ElastiCache diseño propio.

Un diagrama del funcionamiento de los clústeres ElastiCache autodiseñados, desde las zonas de disponibilidad hasta el cliente VPC y, después, hasta los nodos de caché ElastiCache gestionados.

Dimensiones de precios

Puede realizar la implementación ElastiCache en dos opciones de implementación. Al implementar ElastiCache Serverless, se paga por el uso de los datos almacenados en GB-hora y el ElastiCache procesamiento en unidades de procesamiento (). ECPU Si decide diseñar sus propios ElastiCache clústeres, paga por hora de uso del nodo de caché. Puede encontrar más información sobre los precios aquí.

Almacenamiento de datos

Usted paga por los datos almacenados en ElastiCache Serverless y facturados en gigabytes-hora (GB-hora). ElastiCache Serverless supervisa de forma continua los datos almacenados en la memoria caché, toma muestras varias veces por minuto y calcula un promedio por hora para determinar el uso de almacenamiento de datos de la memoria caché en GB por hora. Cada caché ElastiCache sin servidor se mide para un mínimo de 1 GB de datos almacenados.

ElastiCache Unidades de procesamiento () ECPUs

Usted paga por las solicitudes que su aplicación ejecuta en ElastiCache Serverless in ElastiCache Processing Units (ECPUs), una unidad que incluye tanto el CPU tiempo v como los datos transferidos.

  • Las lecturas y escrituras sencillas requieren 1 ECPU por cada kilobyte (KB) de datos transferidos. Por ejemplo, un GET comando que transfiere hasta 1 KB de datos consume 1. ECPU Una SET solicitud que transfiera 3,2 KB de datos consumirá 3,2 KBECPUs.

  • Con Valkey y RedisOSS, los comandos que consumen más CPU tiempo y transfieren más datos consumen en ECPUs función de la más alta de las dos dimensiones. Por ejemplo, si la aplicación usa el HMGET comando, consume 3 veces el CPU tiempo v que un simple GET comandoSET/y transfiere 3,2 KB de datos, consumirá 3,2 KB. ECPU Como alternativa, si transfiere solo 2 KB de datos, consumirá 3ECPUs.

  • Con Valkey y RedisOSS, los comandos que requieren un CPU tiempo v adicional consumirán proporcionalmente más. ECPUs Por ejemplo, si la aplicación usa el OSS HMGETcomando Valkey o Redis y consume 3 veces el CPU tiempo v que un simple GET comandoSET/, consumirá 3. ECPUs

  • Con Memcached, los comandos que funcionan con varios elementos consumirán proporcionalmente más. ECPUs Por ejemplo, si su aplicación realiza una multiobtención en 3 elementos, consumirá 3. ECPUs

  • Con Memcached, los comandos que funcionan con más elementos y transfieren más datos consumen en ECPUs función de la más alta de las dos dimensiones. Por ejemplo, si la aplicación utiliza el GET comando, recupera 3 elementos y transfiere 3,2 KB de datos, consumirá 3,2 KB. ECPU Como alternativa, si transfiere solo 2 KB de datos, consumirá 3ECPUs.

ElastiCache Serverless emite una nueva métrica llamada ElastiCacheProcessingUnits que le ayuda a comprender lo que ECPUs consume su carga de trabajo.

Horas de nodo

Puede optar por diseñar su propio clúster de caché seleccionando la familia de EC2 nodos, el tamaño, la cantidad de nodos y la ubicación en las zonas de disponibilidad. Al diseñar su propio clúster, pagará por hora por cada nodo de caché.

ElastiCache copias de seguridad

Una copia de seguridad es una point-in-time copia de una caché sin servidor o de un clúster de diseño propio de Valkey o RedisOSS. ElastiCache le permite realizar una copia de seguridad de sus datos en cualquier momento o configurar copias de seguridad automáticas. Dichas copias de seguridad pueden usarse para restaurar una caché existente o para propagar datos en una nueva caché. Las copias de seguridad se componen de todos los datos en una caché, además de algunos metadatos. Para obtener más información, consulte Instantánea y restauración.