Cómo funciona ElastiCache - Amazon ElastiCache

Cómo funciona ElastiCache

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

Caché y motores de almacenamiento en caché

Una caché es un almacén de datos en memoria que puede utilizar 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: caché sin servidor y clústeres basados en nodos. Consulte Cómo elegir una opción de implementación.

nota

Amazon ElastiCache es compatible con los motores de Valkey, Memcached y Redis OSS. Si no está seguro de qué motor desea utilizar, consulte Comparación de los clústeres Valkey, Memcached y Redis OSS basados en nodos en esta guía.

Cómo funciona ElastiCache

ElastiCache Serverless

ElastiCache Serverless 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 caché y recibirá un único punto de conexión que podrá configurar en su cliente de Valkey, Memcached y Redis OSS para empezar a acceder a la caché.

nota
  • ElastiCache sin servidor ejecuta Valkey, Memcached o Redis OSS en modo de clúster y solo es compatible con los clientes que admiten TLS.

Ventajas principales

  • No hay planificación de la capacidad: con ElastiCache Serverless, no es necesario planificar la capacidad. ElastiCache Serverless supervisa de forma continua el uso de memoria, procesamiento y ancho de banda de la 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.

  • Pago por uso: con ElastiCache Serverless, pagará por los datos almacenados y el procesamiento empleado por su carga de trabajo en la memoria caché. Consulte Dimensiones de precios.

  • Alta disponibilidad: ElastiCache Serverless replica automáticamente los 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 un SLA de disponibilidad del 99,99 % para cada caché.

  • 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 disponible una nueva versión principal, ElastiCache le enviará 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 el funcionamiento de ElastiCache Serverless.

Diagrama del funcionamiento de la caché de ElastiCache Serverless, desde las zonas de disponibilidad hasta la VPC del cliente y, después, hasta la VPC de servicio.

Al crear una nueva caché sin servidor, ElastiCache crea un punto de conexión de nube privada virtual (VPC) en las subredes que elija de la VPC. La aplicación se puede conectar a la memoria caché a través de estos puntos de conexión de VPC.

Con ElastiCache Serverless, recibirá un único punto de conexión DNS al que se conecta su aplicación. Cuando solicita una nueva conexión al punto de conexión, 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 y los nodos del cliente. Gracias a esto, ElastiCache puede hacer las siguientes tareas de un modo inteligente: equilibrar la carga, escalar horizontalmente y añadir nuevos nodos de caché, reemplazar los nodos de caché cuando fallan y actualizar el software en los nodos de caché; todo ello, sin que la aplicación deje de estar disponible y sin tener que restablecer las conexiones.

Clústeres basados en nodos

Puede crear un clúster de ElastiCache basado en nodos seleccionando una familia de nodos de caché, un tamaño y un número de nodos para el clúster. Crear un clúster basado en nodos 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 utilizar Valkey o Redis OSS en modo de clúster creando un clúster con varias particiones o en modo sin clúster con una sola partición.

Ventajas principales

  • Crear un clúster basado en nodos: con ElastiCache, puede crear un clúster basado en nodos y elegir dónde quiere colocar los nodos de 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. Si lo prefiere, puede crear un clúster basado en nodos con nodos en varias zonas de disponibilidad para lograr una alta disponibilidad.

  • Control detallado: al crear un clúster basado en nodos, tenemos más control a la hora de refinar la configuración de la caché. Por ejemplo, puede utilizar Parámetros de Valkey y Redis OSS y Parámetros específicos de Memcached para configurar el motor de la 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 característica de escalado automático para configurar el escalado en función de un cronograma o el escalado en función de métricas como el uso de CPU y memoria en la caché.

El siguiente diagrama ilustra el funcionamiento de los clústeres basados en nodos de ElastiCache.

Diagrama del funcionamiento de los clústeres basados en nodos de ElastiCache, desde las zonas de disponibilidad hasta la VPC del cliente y, después, hasta los nodos de caché administrados por ElastiCache.

Dimensiones de precios

Hay dos opciones de implementación para ElastiCache. Al implementar ElastiCache Serverless, pagará por el uso de los datos almacenados (en GB-hora) y el procesamiento (en unidades de procesamiento de ElastiCache o ECPU). Al crear un clúster basado en nodos, se 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 facturados en gigabytes-hora (GB-hora). ElastiCache Serverless supervisa de forma continua los datos almacenados en la memoria caché, realiza muestreos varias veces por minuto y calcula un promedio por hora para determinar el uso de almacenamiento de datos de la memoria caché en GB-hora. Cada caché de ElastiCache Serverless se mide para un mínimo de 1 GB de datos almacenados.

Unidades de procesamiento de ElastiCache (ECPU)

Usted paga por las solicitudes que su aplicación ejecuta en ElastiCache Serverless en unidades de procesamiento (ECPU) de ElastiCache, una unidad que incluye tanto el tiempo de la vCPU como los datos transferidos.

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

  • Con Valkey y Redis OSS, los comandos que consumen más tiempo de vCPU y transfieren más datos consumen ECPU en función del valor más alto entre las dos dimensiones. Por ejemplo, si la aplicación usa el comando HMGET, consume el triple de tiempo de vCPU que un simple comando SET/GET y tranfiere 3,2 KB de datos, consumirá 3,2 ECPU. Sin embargo, si transfiere solo 2 KB de datos, consumirá 3 ECPU.

  • Con Valkey y Redis OSS, los comandos que requieren más tiempo de vCPU consumirán proporcionalmente más ECPU. Por ejemplo, si la aplicación usa el comando HMGET de Valkey o Redis OSS y consume el triple de tiempo de vCPU que un simple comando SET/GET, consumirá 3 ECPU.

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

  • Con Memcached, los comandos que operan en más elementos y transfieren más datos consumen ECPU en función del valor más alto de las dos dimensiones. Por ejemplo, si la aplicación utiliza el comando GET, recupera tres elementos y transfiere 3,2 KB de datos, consumirá 3,2 ECPU. Sin embargo, si transfiere solo 2 KB de datos, consumirá 3 ECPU.

ElastiCache Serverless emite una nueva métrica denominada ElastiCacheProcessingUnits que le ayuda a comprender las ECPU consumidas por su carga de trabajo.

Horas de nodo

Para crear un clúster basado en nodos, elija la familia de nodos de EC2, el tamaño, la cantidad de nodos y la ubicación en las zonas de disponibilidad. Al crear un clúster basado en nodos, se paga por hora de uso de cada nodo de caché.

Copias de seguridad de ElastiCache

Una copia de seguridad es una copia en un momento dado de una caché sin servidor o de un clúster basado en nodos de Valkey o Redis OSS. 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.