Componentes y características de ElastiCache
A continuación, encontrará información general sobre los componentes principales de una implementación de Amazon ElastiCache.
Temas
Nodos de ElastiCache
Un nodo es el componente básico más pequeño de toda implementación de ElastiCache. Un nodo puede existir de forma aislada o con alguna relación con otros nodos.
Un nodo es una parcición de tamaño fijo de RAM segura conectada a la red. Cada nodo ejecuta una instancia del motor y la versión elegidos al crear el clúster. Si es necesario, puede escalar los nodos de un clúster para ampliar o reducir a un tipo de instancia diferente. Para obtener más información, consulte Escalado de ElastiCache.
Todos los nodos contenidos en un clúster son del mismo tipo de instancia y ejecutan el mismo motor de caché. Cada nodo de caché tiene su propio puerto y nombre de servicio de nombres de dominio (DNS). Se admiten varios tipos de nodos de caché, cada uno de los cuales tiene una cantidad diferente de memoria asociada. Para ver una lista de los tipos de instancia de nodos admitidos, consulte Tipos de nodos compatibles.
Puede adquirir nodos a medida que sea necesario, donde solo paga por el uso que haga de un nodo. También puede adquirir nodos reservados a una tarifa por hora más reducida. Si la tasa de uso es alta, adquirir nodos reservados podría ayudar a que ahorre dinero. Supongamos que el clúster está casi siempre en uso, por lo que de vez en cuando agregue nodos para gestionar los picos de uso. En este caso, puede adquirir una serie de nodos reservados para ejecutar la mayor parte del tiempo. Luego, puede adquirir nodos de pago por uso para las veces que necesite agregar nodos. Para obtener más información sobre los nodos reservados, consulte Nodos reservados.
Para obtener más información sobre los nodos, consulte Administración de nodos en ElastiCache.
Particiones de ElastiCache
Una partición de Valkey o Redis OSS (denominada grupo de nodos en la API y en la CLI) es un conjunto de uno a seis nodos relacionados. Un clúster de Valkey o Redis OSS con el modo de clúster habilitado siempre tiene al menos una partición.
Las particiones son un método de división de bases de datos que separa las bases de datos grandes en partes más pequeñas, rápidas y fáciles de administrar denominadas particiones de datos. Esto puede aumentar la eficiencia de la base de datos al distribuir las operaciones en varias secciones independientes. El uso de particiones puede tener muchas ventajas, como la mejora del rendimiento, la escalabilidad y la rentabilidad.
Los clústeres de Valkey y Redis OSS con el modo de clúster habilitado pueden tener hasta 500 particiones, con sus datos particionados en las particiones. El límite de nodos o particiones se puede aumentar a un máximo de 500 por clúster si la versión del motor de Valkey o Redis OSS es 5.0.6 o posteriores. Por ejemplo, puede elegir configurar un clúster de 500 nodos que oscila entre 83 particiones (uno primario y 5 réplicas por partición) y 500 particiones (único primario y sin réplicas). Asegúrese de que hay suficientes direcciones IP disponibles para acomodar el aumento. Algunos problemas comunes incluyen que las subredes del grupo de subredes tienen un rango CIDR demasiado pequeño o que otros clústeres comparten y utilizan considerablemente las subredes. Para obtener más información, consulte Creación de un grupo de subredes. Para las versiones inferiores a 5.0.6, el límite es de 250 por clúster.
Para solicitar un aumento del límite, consulte AWS Service Limits y elija el tipo de límite Nodes per cluster per instance type (Nodos por clúster por tipo de instancias).
Una partición de varios nodos implementa la reproducción al tener un nodo primario de lectura/escritura y 1 a 5 nodos de réplica. Para obtener más información, consulte Alta disponibilidad a través de grupos de reproducción.
Para obtener más información acerca de las particiones, consulte Uso de particiones en ElastiCache.
Clústeres de ElastiCache
Un clúster es una agrupación lógica de uno o más nodos. Los datos se particionan entre los nodos de un clúster de Memcached y entre las particiones de un clúster de Valkey o Redis OSS que tenga habilitado el modo de clúster.
Muchas operaciones de ElastiCache se encuentran destinadas a los clústeres:
-
creación de un clúster
-
Modificación de un clúster
-
Uso de instantáneas de un clúster (todas las versiones de Redis)
-
Eliminación de un clúster
-
Visualización de elementos de un clúster
-
Adición o eliminación de etiquetas de asignación de costos en un clúster
Para obtener información más detallada, consulte los siguientes temas relacionados:
Administración de clústeres en ElastiCache y Administración de nodos en ElastiCache
Información acerca de los clústeres, nodos, y operaciones relacionadas.
-
AWS Límites de servicio de : Amazon ElastiCache
Información sobre límites de ElastiCache, como el número máximo de nodos o clústeres. Para superar algunos de estos límites, puede realizar una solicitud mediante el Formulario de solicitud de nodo de caché de Amazon ElastiCache
. -
Información sobre la mejora de la tolerancia a errores de los clústeres y grupos de replicación de Valkey o Redis OSS.
Configuraciones típicas de clúster
A continuación se muestran configuraciones típicas de clúster.
Clústeres de Valkey o Redis OSS
Los clústeres de Valkey o Redis OSS con el modo de clúster deshabilitado siempre contienen solo una partición (en la API y en la CLI, solo un grupo de nodos). Una partición de Valkey o Redis OSS contiene de uno a seis nodos. Si hay más de un nodo en una partición, esta admite la reproducción. En este caso, un nodo es el nodo primario de lectura/escritura y los demás son nodos de réplica de solo lectura.
Para mejorar la tolerancia a errores, le recomendamos tener al menos dos nodos en un clúster de Valkey o Redis OSS y habilitar multi-AZ. Para obtener más información, consulte Mitigación de errores.
A medida que cambie la demanda en su clúster de Valkey o Redis OSS, puede reducir o escalar verticalmente. Para ello, mueva el clúster a un tipo de instancia de nodo diferente. Si la aplicación tiene una gran intensidad de lectura, recomendamos agregar al clúster réplicas de solo lectura. Al hacerlo, puede distribuir las lecturas entre un número más apropiado de nodos.
También puede utilizar la organización de datos en niveles. Los datos a los que se accede con más frecuencia se almacenan en la memoria y los datos a los que se accede con menos frecuencia se almacenan en el disco. La ventaja de utilizar la organización de datos en niveles es que disminuye las necesidades de memoria. Para obtener más información, consulte Organización de datos en niveles en ElastiCache.
ElastiCache admite cambiar un tipo de nodo de clúster de Valkey o Redis OSS a un tipo de nodo más grande de forma dinámica. Para obtener información acerca del escalado mediante ampliación o reducción, consulte Escalado de clústeres para Valkey o Redis OSS (modo de clúster deshabilitado) o Escalado de nodos de réplica para Valkey o Redis OSS (modo de clúster deshabilitado).
Configuraciones típicas de clúster para Memcached
Memcached admite hasta 300 nodos por cliente y región de AWS, donde cada clúster tiene de 1 a 60 nodos. Los datos se particionan entre los nodos del clúster de Memcached.
Cuando ejecuta el motor de Memcached, los clústeres pueden contener de 1 a 60 nodos. La base de datos se particiona entre los nodos. Su aplicación lee y escribe en cada punto de enlace del nodo. Para obtener más información, consulte Detección automática.
Para mejorar la tolerancia a errores, ubique sus nodos de Memcached en varias zonas de disponibilidad (AZ) en la región de AWS del clúster. De ese modo, un error de una zona de disponibilidad tendrá un impacto mínimo en todo su clúster y su aplicación. Para obtener más información, consulte Mitigación de errores.
A medida que cambie la demanda de su clúster de Memcached, puede escalar de forma ascendente o descendente al agregar o quitar nodos, con lo que se vuelven a particionar los datos entre el nuevo número de nodos. Al particionar los datos, recomendamos hacer un uso consistente de la función hash. Para obtener más información acerca del uso consistente de la función hash, consulte Configuración de su cliente de ElastiCache para un equilibrio de carga eficaz (Memcached).
Replicación de ElastiCache
La replicación de Valkey y Redis OSS se implementa al agrupar de dos a seis nodos en una partición (denominada grupo de nodos en la API y la CLI). Uno de estos nodos es el nodo principal de lectura/escritura. Todos los demás nodos son nodos de réplicas de solo lectura. Las réplicas solo están disponibles para ElastiCache para Valkey y Redis OSS, y no para ElastiCache para Memcached.
Cada nodo de réplica de lectura mantiene una copia de los datos del nodo principal. Los nodos de réplica usan mecanismos de reproducción asíncronos para mantener la sincronización con el nodo principal. Las aplicaciones pueden leer desde cualquiera de los nodos del clúster, pero solo pueden escribir en los nodos principales. Las réplicas de lectura mejoran la escalabilidad al distribuir las lecturas entre varios puntos de enlace. Las réplicas de lectura también mejoran la tolerancia a errores al mantener varias copias de los datos. Ubicar réplicas de lectura en múltiples zonas de disponibilidad mejora aún más la tolerancia a errores. Para obtener más información sobre la tolerancia a errores, consulte Mitigación de errores.
Los clústeres de Valkey o Redis OSS admiten una sola partición (denominada grupo de nodos en la API y la CLI).
La reproducción desde la perspectiva de la API y la CLI utiliza una terminología diferente para mantener la compatibilidad con las versiones anteriores, pero los resultados son los mismos. En la siguiente tabla se muestran los términos de la API y la CLI para la implementación de la reproducción.
Comparación de la replicación: Valkey o Redis OSS (modo de clúster deshabilitado) y Valkey o Redis OSS (modo de clúster habilitado): el clúster de Valkey o Redis OSS con el modo de clúster habilitado comparado con el clúster de Valkey o Redis OSS con el modo de clúster deshabilitado
En la siguiente tabla, puede encontrar una comparación de las características de los grupos de replicación de Valkey o Redis OSS (modo de clúster deshabilitado) y Valkey o Redis OSS (modo de clúster habilitado).
| Clúster de Valkey o Redis OSS con el modo de clúster deshabilitado | Clúster de Valkey o Redis OSS con el modo de clúster habilitado | |
|---|---|---|
| Particiones (grupos de nodos) | 1 | 1 a 500 |
| Réplicas para cada partición (grupo de nodos) | 0 a 5 | 0 a 5 |
| Particiones de datos | No | Sí |
| Agregar o eliminar réplicas | Sí | Sí |
| Agregar o eliminar grupos de nodos | No | Sí |
| Compatible con el escalado vertical | Sí | Sí |
| Compatible con las actualizaciones del motor | Sí | Sí |
| Promociona la réplica a principal | Sí | Automático |
| Multi-AZ | Opcional | Obligatorio |
| Copia de seguridad y restauración | Sí | Sí |
| Notas: | ||
| Si cualquier primario no tiene réplicas y falla, se perderán todos los datos de ese primario. | ||
| Se puede utilizar la copia de seguridad y la restauración para migrar a Valkey o Redis OSS (modo de clúster habilitado). | ||
| Se puede utilizar la copia de seguridad y la restauración para cambiar el tamaño del clúster de Valkey o Redis OSS (modo de clúster habilitado). |
Todas las particiones (grupos de nodos en la API y en la CLI) y todos los nodos deben residir en la misma región de AWS. Sin embargo, puede aprovisionar los nodos individuales en diferentes zonas de disponibilidad dentro de esa región de AWS.
Las réplicas de lectura evitan las posibles pérdidas de datos, ya que los datos se replican a través de dos o varios nodos: el principal y una o varias réplicas de lectura. Para una mayor fiabilidad y una recuperación más rápida, recomendamos crear una o varias réplicas de lectura en distintas zonas de disponibilidad.
También puede aprovechar los almacenes de datos Globales. Con la característica del almacén de datos global de Redis OSS, puede trabajar con replicación completamente administrada, rápida, fiable y segura en todas las regiones de AWS. Con esta característica, puede crear clústeres de réplicas de lectura entre regiones para que ElastiCache permita lecturas de baja latencia y recuperación ante desastres en todas las regiones de AWS. Para obtener más información, consulte Replicación en regiones de AWS mediante almacenes de datos globales.
Replicación: límites y exclusiones
Multi-AZ no se admite en los tipos de nodo T1.
Puntos de conexión de ElastiCache
Un punto de conexión es la dirección única que utiliza la aplicación para conectarse a un nodo o clúster de ElastiCache.
Puntos de conexión de un solo nodo para Valkey o Redis OSS con el modo de clúster deshabilitado
El punto de conexión de un clúster de Valkey o Redis OSS de un solo nodo se utiliza para conectarse al clúster tanto para lecturas como para escrituras.
Puntos de conexión de varios nodos para Valkey o Redis OSS con el modo de clúster deshabilitado
Un clúster de varios nodos de Valkey o Redis OSS con el modo de clúster deshabilitado tiene dos tipos de puntos de conexión. El punto de conexión principal siempre se conecta al nodo principal en el clúster, incluso si el nodo específico de la función principal cambia. Utilice el punto de conexión principal para todas las escrituras en el clúster.
Use el punto de conexión de lector para dividir de manera uniforme las conexiones entrantes al punto de enlace entre todas las réplicas de lectura. Use los puntos de conexión del nodo para las operaciones de lectura (en la API/CLI, estas se denominan puntos de conexión de lectura).
Puntos de conexión de Valkey o Redis OSS (modo de clúster habilitado)
Un clúster de Valkey o Redis OSS con el modo de clúster habilitado tiene un único punto de conexión de configuración. Al conectarse al punto de conexión de configuración, la aplicación puede detectar los puntos de conexión principal y de lectura de cada partición del clúster.
Para obtener más información, consulte Búsqueda de puntos de conexión en ElastiCache.
Puntos de enlace de ElastiCache for Memcached
Cada nodo de un clúster de Memcached tiene su propio punto de enlace. El clúster también tiene un punto de enlace, denominado punto de enlace de configuración. Si habilita la función Auto Discovery y se conecta al punto de enlace de configuración, su aplicación conocerá automáticamente cada punto de enlace de nodo, incluso después de agregar o quitar nodos en el clúster. Para obtener más información, consulte Detección automática.
Para obtener más información, consulte Búsqueda de puntos de conexión en ElastiCache.
Grupos de parámetros de ElastiCache
Los grupos de parámetros de caché son una forma sencilla de administrar la configuración de tiempo de ejecución para el software del motor compatible. Los parámetros se utilizan para controlar el uso de la memoria, las políticas de expulsión, los tamaños de elementos y mucho más. Un grupo de parámetros de ElastiCache es una colección nombrada de parámetros específicos del motor que se pueden aplicar a un clúster. De este modo, se asegura de que todos los nodos de ese clúster estén configurados exactamente de la misma forma.
Para obtener una lista de los parámetros compatibles, sus valores predeterminados y cuáles se pueden modificar, consulte DescribeEngineDefaultParameters (CLI: describe-engine-default-parameters).
Para obtener información más detallada sobre los grupos de parámetros de ElastiCache, consulte Configuración de los parámetros de motor mediante grupos de parámetros de ElastiCache.
Seguridad de ElastiCache
Para mayor seguridad, el acceso al nodo de ElastiCache se encuentra restringido a las aplicaciones que se ejecutan en las instancias de Amazon EC2 permitidas. Puede controlar las instancias de Amazon EC2 que pueden acceder al clúster mediante los grupos de seguridad.
De forma predeterminada, todos los clústeres de ElastiCache nuevos se lanzan en un entorno de Amazon Virtual Private Cloud (Amazon VPC). Puede utilizar grupos de subredes para conceder acceso al clúster desde las instancias de Amazon EC2 que se ejecutan en subredes concretas.
Además de restringir el acceso a los nodos, ElastiCache es compatible con TLS y con el cifrado en el sitio en los nodos que ejecutan las versiones especificadas de ElastiCache. Para obtener más información, consulte los siguientes temas:
Grupos de subredes de ElastiCache
Un grupo de subredes es una colección de subredes (que suelen ser privadas) que se puede designar para los clústeres que se ejecuten en un entorno de Amazon VPC.
Si crea un clúster en una Amazon VPC, debe especificar un grupo de subredes de caché. ElastiCache utiliza dicho grupo de subredes de caché para elegir una subred y direcciones IP pertenecientes a ella y asociarlas a los nodos de caché.
Para obtener más información sobre el uso de los grupos de subredes de caché en entornos de Amazon VPC, consulte lo siguiente:
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 de Valkey o Redis OSS, o de una caché sin servidor de Memcached. Dichas copias de seguridad pueden usarse para restaurar un clúster existente o para propagar datos en un nuevo clúster. Las copias de seguridad se componen de todos los datos en un clúster, además de algunos metadatos.
Dependiendo de la versión de Valkey o Redis OSS que se ejecute en el clúster, el proceso de copia de seguridad requiere diferentes cantidades de memoria reservada para realizarse correctamente. Para obtener más información, consulte los siguientes temas:
Eventos de ElastiCache
Cuando se producen eventos significativos en un clúster, ElastiCache envía una notificación a un tema de Amazon SNS en concreto. Algunos eventos significativos pueden ser, por ejemplo, errores al agregar un nodo, adiciones de nodos correctas, cambios en los grupos de seguridad, entre otros. Al monitorear los eventos clave podrá conocer el estado actual de los clústeres y, según el evento, adoptar medidas correctivas.
Para obtener más información sobre los eventos de ElastiCache consulte Supervisión de eventos de ElastiCache en Amazon SNS.