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

Funcionamiento

Aquí encontrará un resumen de los principales componentes de una implementación ElastiCache (Memcached).

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 (Memcached) 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 (Memcached)

ElastiCache (Memcached) Sin servidor

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

nota

ElastiCache (Memcached) Serverless solo es compatible con los clientes de Memcached que admiten 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 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 Memcached, 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 sobre la configuración y el escalado del clúster.

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 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 Configuración de los parámetros de motor mediante los grupos de parámetros 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 nodos.

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 (Memcached), 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é, 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 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 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 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.

  • 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 ECPUs que consume su carga de trabajo.

Horas de nodo

Puede diseñar su propio clúster de caché eligiendo la familia de nodos EC2, 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é.