Funcionamiento - Amazon ElastiCache (RedisOSS)

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.

Funcionamiento

Aquí puede encontrar una descripción general de los componentes principales de una implementación ElastiCache (Redis OSS).

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 (Redis OSS) 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 Redis OSS y Memcached. Utilice la guía del motor en la que esté interesado. Si no está seguro de qué motor desea utilizar, consulte Comparación de las cachés autodiseñadas de Memcached y Redis OSS en esta guía.

¿Cómo funciona ElastiCache (Redis OSS)

ElastiCache (Redis OSS) Sin servidor

ElastiCache (Redis OSS) 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 OSS de Redis para empezar a acceder a la memoria caché.

nota

ElastiCache (Redis OSS) Serverless ejecuta Redis OSS en modo clúster y solo es compatible con los clientes de Redis OSS que admiten TLS y el protocolo de clúster Redis OSS.

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 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 actualiza el software sin que ello afecte a la disponibilidad de la aplicación. Cuando haya disponible una nueva versión principal de Redis OSS, 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 cómo funciona ElastiCache Serverless.

Un diagrama del funcionamiento de la caché ElastiCache sin servidor, 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 final de Virtual Private Cloud (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 enlace DNS al que se conectará 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 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 quiere 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. Si lo prefiere, puede diseñar el clúster con nodos en varias zonas de disponibilidad 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 utilizar Parámetros específicos de Redis OSS 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 puedes 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 el uso de CPU y 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 la VPC del cliente y, después, ElastiCache hasta los nodos de caché 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 procesamiento en unidades de ElastiCache procesamiento (ECPU). Si decide diseñar sus propios clústeres ElastiCache (Redis OSS), 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 de Redis OSS que su aplicación ejecuta en unidades de ElastiCache procesamiento (ECPUs) ElastiCache sin servidor, una unidad que incluye tanto el tiempo de 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.

  • Los comandos que requieren más tiempo de vCPU consumirán proporcionalmente más ECPU. Por ejemplo, si la aplicación utiliza el comando HMGET OSS de Redis y consume 3 veces el tiempo de vCPU que un simple comando SET/GET, consumirá 3 ECPUs.

  • 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.

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

Horas de nodo

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

ElastiCache Copias de seguridad (Redis OSS)

Una copia de seguridad es una point-in-time copia de una memoria caché de 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.