Pilar de fiabilidad del enfoque Well-Architected de Amazon ElastiCache
El pilar de la fiabilidad se centra en las cargas de trabajo que realizan las funciones previstas y en cómo recuperarse rápidamente de la incapacidad de satisfacer las demandas. Entre los temas clave, se incluyen el diseño de sistemas distribuidos, la planificación de la recuperación y cómo adaptarse a los cambios de requisitos.
Temas
REL 1: ¿Cómo se respaldan las implementaciones de arquitecturas de alta disponibilidad (HA)?
REL 2: ¿Cómo se cumplen los objetivos de puntos de recuperación (RPO) con ElastiCache?
REL 3: ¿Cómo se cumplen los requisitos de recuperación de desastres (DR)?
REL 4: ¿Cómo se planifican eficazmente las conmutaciones por error?
REL 5: ¿Están sus componentes de ElastiCache diseñados para el escalado?
REL 1: ¿Cómo se respaldan las implementaciones de arquitecturas de alta disponibilidad (HA)?
Introducción a nivel de pregunta: Comprender la arquitectura de alta disponibilidad de Amazon ElastiCache le permitirá operar en un estado resiliente durante los eventos de disponibilidad.
Ventaja a nivel de pregunta: Diseñar los clústeres de ElastiCache para que sean resilientes a los errores garantiza una mayor disponibilidad para las implementaciones de ElastiCache.
-
[Obligatorio] Determine el grado de fiabilidad que necesita para su clúster de ElastiCache. Las diferentes cargas de trabajo tienen diferentes estándares de resiliencia, desde cargas de trabajo totalmente efímeras hasta cargas de trabajo cruciales para la misión. Defina las necesidades de cada tipo de entorno en el que opere, como desarrollo, pruebas y producción.
Motor de almacenamiento en caché: ElastiCache para Memcached frente a ElastiCache para Valkey y Redis OSS
-
ElastiCache para Memcached no proporciona ningún mecanismo de replicación y se usa principalmente para cargas de trabajo efímeras.
-
ElastiCache para Valkey y Redis OSS ofrece las características de HA que se describen a continuación
-
-
[Lo mejor] Para las cargas de trabajo que requieren HA, utilice ElastiCache en modo clúster con un mínimo de dos réplicas por partición, incluso para cargas de trabajo pequeñas con requisitos de rendimiento de una sola partición.
-
Si el modo de clúster está activado, multi-AZ se habilita automáticamente.
Multi-AZ minimiza el tiempo de inactividad, ya que realiza conmutaciones por error automáticas desde el nodo principal a las réplicas, en caso de mantenimiento planificado o no planificado, y mitiga los errores de AZ.
-
En cuanto a las cargas de trabajo particionadas, un mínimo de tres particiones proporciona una recuperación más rápida durante los eventos de conmutación por error, ya que el protocolo de clúster de Valkey o Redis OSS requiere que la mayoría de los nodos principales estén disponibles para alcanzar el quórum.
-
Configure dos o más réplicas para ofrecer disponibilidad.
Tener dos réplicas proporciona escalabilidad de lectura mejorada así como disponibilidad de lectura en situaciones en las que una réplica está en mantenimiento.
-
Utilice tipos de nodos basados en Graviton2 (nodos predeterminados en la mayoría de las regiones).
ElastiCache ha añadido rendimiento optimizado en estos nodos. Como resultado, obtiene un mejor rendimiento de replicación y sincronización, lo que se traduce en una mejora general de la disponibilidad.
-
Supervise y ajuste el tamaño para hacer frente a los picos de tráfico previstos: con una carga pesada, el motor puede dejar de responder, lo que afecta a la disponibilidad.
BytesUsedForCacheyDatabaseMemoryUsagePercentageson buenos indicadores del uso de la memoria, mientras queReplicationLages un indicador del estado de la replicación en función de la velocidad de escritura. Puede usar estas métricas para activar el escalado de clústeres. -
Para garantizar la resiliencia del cliente realice pruebas con la API de conmutación por error antes de un evento de conmutación por error en producción
.
[Recursos]:
-
REL 2: ¿Cómo se cumplen los objetivos de puntos de recuperación (RPO) con ElastiCache?
Introducción a nivel de pregunta: Comprenda el RPO de la carga de trabajo para tomar decisiones informadas sobre las estrategias de respaldo y recuperación de ElastiCache.
Ventaja a nivel de pregunta: Tener una estrategia de RPO implementada le permite mejorar la continuidad del negocio en caso de que se produzcan escenarios de recuperación de desastres. El diseño de políticas de respaldo y restauración puede contribuir a cumplir los objetivos de puntos de recuperación (RPO) de sus datos de ElastiCache. ElastiCache ofrece capacidades de instantáneas que se almacenan en Amazon S3, junto con una política de retención configurable. Estas instantáneas se toman durante un período de copia de seguridad definido y el servicio las gestiona automáticamente. Si la carga de trabajo requiere un grado de detalle de respaldo adicional, tiene la opción de crear hasta 20 copias de seguridad manuales por día. Las copias de seguridad creadas manualmente no tienen una política de retención de servicios y se pueden conservar indefinidamente.
-
[Obligatorio] Comprenda y documente el RPO de sus implementaciones de ElastiCache.
-
Tenga en cuenta que Memcached no ofrece ningún proceso de copia de seguridad.
-
Revise las capacidades de las características de copia de seguridad y restauración de ElastiCache.
-
-
[Lo mejor]Disponga de un proceso que se haya comunicado bien para hacer copias de seguridad de su clúster.
-
Inicie copias de seguridad manuales según sea necesario.
-
Revise las políticas de retención de las copias de seguridad automáticas.
-
Tenga en cuenta que las copias de seguridad manuales se conservarán indefinidamente.
-
Programe las copias de seguridad automáticas durante los períodos de bajo uso.
-
Realice operaciones de respaldo contra réplicas de lectura para asegurarse de minimizar el impacto en el rendimiento del clúster.
-
-
[Bueno] Aproveche la característica de copia de seguridad programada de ElastiCache para realizar copias de seguridad periódicas de los datos durante un período definido.
-
Haga pruebas periódicas de las restauraciones a partir de las copias de seguridad.
-
-
[Recursos]:
REL 3: ¿Cómo se cumplen los requisitos de recuperación de desastres (DR)?
Introducción a nivel de pregunta: La recuperación de desastres es un aspecto importante de cualquier planificación de cargas de trabajo. ElastiCache ofrece varias opciones para implementar la recuperación ante desastres en función de los requisitos de resiliencia de la carga de trabajo. Con el almacén de datos global de Amazon ElastiCache puede escribir en su clúster en una región y disponer de los datos para leerlos en otros dos clústeres de réplica entre regiones, lo que permite lecturas de baja latencia y recuperación ante desastres en todas las regiones.
Ventaja a nivel de pregunta: Comprender y planificar una variedad de escenarios de desastres contribuye a garantizar la continuidad del negocio. Las estrategias de DR deben equilibrarse en relación al costo, el impacto en el rendimiento y la posible pérdida de datos.
-
[Obligatorio] Desarrolle y documente estrategias de DR para todos los componentes de ElastiCache en función de los requisitos de la carga de trabajo. ElastiCache es único porque algunos casos de uso son completamente efímeros y no requieren ninguna estrategia de DR, mientras que otros se encuentran en el extremo opuesto del abanico y exigen una estrategia de DR extremadamente sólida. Todas las opciones deben soparse teniendo en cuenta la optimización de costos: una mayor resiliencia requiere más infraestructura.
Conozca las opciones de DR disponibles a nivel regional y multirregional.
-
Se recomiendan implementaciones multi-AZ para evitar errores de AZ. Asegúrese de realizar la implementación con el modo de clúster habilitado en las arquitecturas multi-AZ, con un mínimo de tres AZ disponibles.
-
Se recomienda utilizar Global Datastore para protegerse contra los errores regionales.
-
-
[Lo mejor] Habilite Global Datastore para cargas de trabajo que requieran resiliencia a nivel de región.
-
Tenga un plan para realizar una conmutación por error a la región secundaria en caso de degradación de la primaria.
-
Pruebe el proceso de conmutación por error multirregional antes de llevar a cabo una conmutación por error en producción.
-
Supervise la métrica
ReplicationLagpara conocer el posible impacto de la pérdida de datos durante los eventos de conmutación por error.
-
-
[Recursos]:
REL 4: ¿Cómo se planifican eficazmente las conmutaciones por error?
Introducción a nivel de pregunta: La habilitación multi-AZ con conmutaciones por error automáticas es una práctica recomendada de ElastiCache. En algunos casos, ElastiCache para Valkey y Redis OSS reemplaza los nodos principales como parte de las operaciones de servicio. Algunos ejemplos son eventos de mantenimiento planificado y el improbable caso de que haya un problema en el nodo o en la zona de disponibilidad. Las conmutaciones por error correctas dependen tanto de la configuración de ElastiCache como de la biblioteca cliente.
Ventaja en la pregunta: Al seguir las prácticas recomendadas para las conmutaciones por error de ElastiCache junto con la biblioteca cliente específica de ElastiCache se ayuda a minimizar el posible tiempo de inactividad durante los eventos de conmutación por error.
-
[Obligatorio] Si el modo de clúster está deshabilitado, utilice los tiempos de espera para que sus clientes detecten si es necesario desconectarse del nodo principal anterior y volver a conectarse al nuevo nodo principal, mediante la dirección IP del punto de conexión principal actualizada. Si el modo de clúster está habilitado, la biblioteca cliente es responsable de detectar los cambios en la topología del clúster subyacente. La mayoría de las veces, esto se logra mediante ajustes de configuración de la biblioteca cliente de ElastiCache, que también permiten configurar la frecuencia y el método de actualización. Cada biblioteca cliente ofrece su propia configuración. Encontrará más información en la documentación correspondiente.
[Recursos]:
-
Minimización del tiempo de inactividad en ElastiCache para Valkey y Redis OSS con Multi-AZ
-
Revise las prácticas recomendadas de su biblioteca cliente de ElastiCache.
-
-
[Obligatorio] Las conmutaciones por error correctas dependen de un entorno de replicación en buen estado entre los nodos principal y de réplica. Revise y comprenda la naturaleza asincrónica de la replicación de Valkey y Redis OSS, así como las métricas de CloudWatch disponibles para informar sobre el retraso de replicación entre los nodos principales y de réplica. Para los casos de uso que requieran una mayor seguridad de los datos, utilice el comando WAIT para obligar a las réplicas a confirmar las escrituras antes de responder a los clientes conectados.
[Recursos]:
-
[Lo mejor] Valide periódicamente la capacidad de respuesta de su aplicación durante la conmutación por error mediante la API de conmutación por error de prueba de ElastiCache.
[Recursos]:
REL 5: ¿Están sus componentes de ElastiCache diseñados para el escalado?
Introducción a nivel de pregunta: Al comprender las capacidades de escalado y las topologías de implementación disponibles, los componentes de ElastiCache pueden ajustarse con el tiempo para satisfacer los cambiantes requisitos de la carga de trabajo. ElastiCache ofrece escalado en 4 direcciones: reducir/escalar horizontalmente y reducir/escalar verticalmente.
Ventaja a nivel de pregunta: El seguimiento de las prácticas recomendadas para las implementaciones de ElastiCache proporciona la mayor flexibilidad de escalado, además de cumplir con el principio de Well-Architected de escalar horizontalmente para minimizar el impacto de los errores.
-
[Obligatorio] Comprenda la diferencia entre las topologías de modo clúster habilitado y modo clúster deshabilitado. En casi todos los casos, se recomienda realizar la implementación con el modo de clúster habilitado, ya que permite una mayor escalabilidad a lo largo del tiempo. Los componentes en modo clúster deshabilitado tienen una capacidad limitada para escalar horizontalmente mediante la adición de réplicas de lectura.
-
[Obligatorio] Comprenda cuándo y cómo escalar.
-
Para más READIOPS: añada réplicas
-
Para más WRITEOPS: añada particiones (escale horizontamente)
-
Para más E/S de red: utilice instancias optimizadas para la red y escale verticalmente
-
-
[Lo mejor] Despliegue los componentes de ElastiCache con el modo de clúster habilitado, con una preferencia por más nodos más pequeños en lugar de menos nodos más grandes. Esto limita de manera efectiva el radio de acción de un error de nodo.
-
[Lo mejor] Incluya réplicas en los clústeres para mejorar la capacidad de respuesta durante los eventos de escalado.
-
[Bueno] Si el modo de clúster está deshabilitado, aproveche las réplicas de lectura para aumentar la capacidad de lectura general. ElastiCache ofrece compatibilidad con hasta 5 réplicas de lectura en modo de clúster deshabilitado, así como escalado vertical.
-
[Recursos]: