Pilar de fiabilidad del enfoque Well-Architected de Amazon ElastiCache - 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.

Pilar de fiabilidad del enfoque Well-Architected de Amazon ElastiCache

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é: Memcached frente a ElastiCache para Redis

    1. Memcached no proporciona ningún mecanismo de replicación y se usa principalmente para cargas de trabajo efímeras.

    2. ElastiCache para Redis ofrece las funciones de HA que se describen a continuación

  • [Lo mejor] Para las cargas de trabajo que requieren HA, utilice ElastiCache para Redis 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 que solo requieran una partición.

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

    2. 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 Redis requiere que la mayoría de los nodos principales estén disponibles para alcanzar el quórum.

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

    4. Utilice tipos de nodos basados en Graviton2 (nodos predeterminados en la mayoría de las regiones).

      Amazon ElastiCache para Redis ha añadido un 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.

    5. Supervise y ajuste el tamaño para hacer frente a los picos de tráfico previstos: con una carga pesada, el motor de ElastiCache para Redis puede dejar de responder, lo que afecta a la disponibilidad. BytesUsedForCache y DatabaseMemoryUsagePercentage son buenos indicadores del uso de la memoria, mientras que ReplicationLag es 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.

    6. 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 para Redis 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 para Redis ofrece varias opciones para implementar la recuperación de desastres en función de los requisitos de resiliencia de la carga de trabajo. Con Amazon ElastiCache para Redis: Global Datastore, puede escribir en su clúster de ElastiCache para Redis 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 de 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 ReplicationLag para 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 Redis 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 a nivel de pregunta: Al seguir las prácticas recomendadas para las conmutaciones por error de ElastiCache junto con la biblioteca cliente específica de ElastiCache para Redis 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 para Redis, 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]:

  • [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 Redis, 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 de Redis 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]: