REL 10: Cómo utilizar el aislamiento de errores para proteger su carga de trabajo
Los límites del aislamiento de errores restringen los efectos de un error dentro de la carga de trabajo a una cantidad limitada de componentes. Los componentes que se encuentren por fuera de los límites no se ven afectados por el error. La implementación de varios límites de aislamiento de errores le permite restringir el impacto de los errores en su carga de trabajo.
Recursos
AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications
(ARC209-R2)
Shuffle-sharding: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
AWS re:Invent 2019: Innovation and operation of the AWS global network infrastructure
(NET339)
What is AWS Outposts?
Global Tables: Multi-Region Replication with DynamoDB
AWS Local Zones FAQ
AWS Global Infrastructure
The Amazon Builders' Library: Workload isolation using shuffle-sharding
Prácticas recomendadas:
-
Implemente la carga de trabajo en varias ubicaciones: Distribuya los datos y los recursos de la carga de trabajo en varias zonas de disponibilidad o, cuando sea necesario, en distintas regiones de AWS. Estas ubicaciones pueden ser tan variadas como se necesite.
-
Automatice la recuperación de componentes restringidos a una sola ubicación: Si los componentes de una carga de trabajo solo se pueden ejecutar en una única zona de disponibilidad o en el centro de datos en las instalaciones, debe implementar la capacidad de efectuar una reconstrucción completa de la carga de trabajo dentro de sus objetivos de recuperación definidos.
-
Utilice arquitecturas de mamparo: Al igual que los mamparos de un barco, este patrón garantiza que un error sea contenido dentro de un pequeño subconjunto de solicitudes o usuarios para que el número de las solicitudes dañadas sea limitado y la mayoría de ellas pueda continuar sin errores. Los mamparos para datos generalmente se denominan particiones, mientras que los mamparos para servicios se conocen como células.
Plan de mejora
Implemente la carga de trabajo en varias ubicaciones
- Los servicios regionales se implementan inherentemente en las zonas de disponibilidad.
- Esto incluye Amazon S3, Amazon DynamoDB y AWS Lambda (cuando no está conectado a una VPC)
- Implemente su contenedor, instancia y cargas de trabajo basadas en funciones en varias
zonas de disponibilidad. Utilice almacenes de datos multizona, incluidas las cachés: Use las características de EC2 Auto Scaling, colocación de tareas de ECS, configuración
de la función AWS Lambda cuando se ejecute en su VPC y clústeres de ElastiCache.
- Utilice subredes que se encuentren en zonas de disponibilidad separadas cuando implemente
grupos de Auto Scaling.
Example: Distributing instances across Availability Zones
Amazon ECS task placement strategies
Configuring an AWS Lambda function to access resources in an Amazon VPC
Choosing Regions and Availability Zones - Utilice subredes en zonas de disponibilidad separadas cuando implemente grupos de
Auto Scaling.
Example: Distributing instances across Availability Zones - Utilice los parámetros de colocación de tareas de ECS, con la especificación de grupos
de subred de base de datos.
Amazon ECS task placement strategies - Use subredes en múltiples zonas de disponibilidad cuando configure una función para
que se ejecute en su VPC.
Configuring an AWS Lambda function to access resources in an Amazon VPC - Use múltiples zonas de disponibilidad con clústeres de ElastiCache.
Choosing Regions and Availability Zones
- Utilice subredes que se encuentren en zonas de disponibilidad separadas cuando implemente
grupos de Auto Scaling.
AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
- La copia de seguridad en otra región de AWS puede agregar otra capa de seguridad para que los datos estén disponibles cuando sea necesario.
- Algunas cargas de trabajo tienen requisitos reglamentarios que requieren el uso de una estrategia de múltiples regiones
What is AWS Outposts?
AWS Local Zones FAQ
Automatice la recuperación de componentes restringidos a una sola ubicación
- Use grupos de Auto Scaling para instancias y cargas de trabajo de contenedor que no
tienen requisitos para una sola dirección IP de instancia, dirección IP privada, dirección
IP elástica y metadatos de instancia.
What Is EC2 Auto Scaling?
Service automatic scaling- Los datos de usuario de la configuración de inicio se pueden usar para implementar la automatización que puede autoreparar la mayoría de las cargas de trabajo.
- Utilice la recuperación automática de instancias EC2 para cargas de trabajo que requieren
una única dirección de ID de instancia, dirección IP privada, dirección IP elástica
y metadatos de instancia.
Recover your instance.- La recuperación automática enviará alertas de estado de recuperación a un tema de SNS a medida que se detecte el error de la instancia.
- Utilice los eventos del ciclo de vida de la instancia EC2 o los eventos de ECS para
automatizar la autoreparación cuando no se pueda utilizar el escalado automático o
la recuperación de EC2.
EC2 Auto Scaling lifecycle hooks
Amazon ECS events- Utilice los eventos para invocar la automatización que reparará su componente de acuerdo con la lógica de proceso que necesite.
Recover your instance.
- La recuperación automática enviará alertas de estado de recuperación a un tema de SNS a medida que se detecte el error de la instancia.
EC2 Auto Scaling lifecycle hooks
Amazon ECS events
- Utilice los eventos para invocar la automatización que reparará su componente de acuerdo con la lógica de proceso que necesite.
Utilice arquitecturas de mamparo
Shuffle-sharding: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
- En su publicación de blog de AWS, Colm MacCarthaigh explica cómo Amazon Route 53 utiliza
el concepto de fragmentación aleatoria para aislar las solicitudes de los clientes
en particiones
Shuffle Sharding: Massive and Magical Fault Isolation