REL 10: Come si utilizza l'isolamento dei guasti per proteggere il carico di lavoro?
Le barriere per l'isolamento dei guasti limitano l'effetto di un errore all'interno di un carico di lavoro a un numero limitato di componenti. I componenti al di fuori della barriera non subiscono gli effetti del guasto. Utilizzando più barriere per l'isolamento dei guasti, puoi limitare l'impatto sul carico di lavoro.
Risorse
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
Best practice:
-
Distribuzione del carico di lavoro in diversi luoghi: Distribuisci i dati e le risorse del carico di lavoro su più zone di disponibilità o, se necessario, su diverse regioni AWS. Questi luoghi possono essere diversi a seconda delle necessità.
-
Ripristino automatico dei componenti vincolati a una singola posizione: Se i componenti del carico di lavoro possono essere eseguiti solo in una singola zona di disponibilità o in un data center locale, è necessario implementare la capacità di eseguire una ricostruzione completa del carico di lavoro entro gli obiettivi di ripristino definiti.
-
Utilizzo di architetture paratie: Come le paratie su una nave, questo modello garantisce che un guasto sia contenuto a un piccolo sottoinsieme di richieste/utenti, in modo che il numero di richieste danneggiate sia limitato e la maggior parte possa continuare senza errori. Le paratie per i dati sono in genere chiamate partizioni o shard, mentre le paratie per i servizi sono note come celle.
Piano di miglioramento
Distribuzione del carico di lavoro in diversi luoghi
- I servizi regionali sono distribuiti intrinsecamente in zone di disponibilità.
- Sono inclusi Amazon S3, Amazon DynamoDB e AWS Lambda (quando non è connesso a un VPC)
- Distribuisci il tuo container, istanza e carichi di lavoro basati su funzioni in più
zone di disponibilità. Utilizzo di datastore multi-zona, inclusi sistemi di cache: Usa le funzioni di EC2 Auto Scaling, posizionamento di attività ECS, configurazione
della funzione AWS Lambda in esecuzione nel tuo VPC, e cluster ElastiCache.
- Utilizza sottoreti che sono in zone di disponibilità separate nella distribuzione
di gruppi 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 - Utilizza sottoreti in zone di disponibilità separate quando distribuisci gruppi Auto
Scaling.
Example: Distributing instances across Availability Zones - Utilizza parametri di posizionamento attività ECS, specificando i gruppi di sottorete
DB.
Amazon ECS task placement strategies - Utilizza sottoreti in più zone di disponibilità quando configuri una funzione da eseguire
nel tuo VPC.
Configuring an AWS Lambda function to access resources in an Amazon VPC - Utilizza più zone di disponibilità con cluster ElastiCache.
Choosing Regions and Availability Zones
- Utilizza sottoreti che sono in zone di disponibilità separate nella distribuzione
di gruppi Auto Scaling.
AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
- Il backup in un'altra regione AWS può garantire ulteriormente che i dati saranno disponibili quando necessario.
- Alcuni carichi di lavoro hanno requisiti normativi che prevedono l'utilizzo di una strategia multi-regione
What is AWS Outposts?
AWS Local Zones FAQ
Ripristino automatico dei componenti vincolati a una singola posizione
- Utilizza gruppi Auto Scaling per carichi di lavoro di container e istanze che non
richiedono un indirizzo IP di una singola istanza, un indirizzo IP privato, un indirizzo
IP elastico o metadati di istanza.
What Is EC2 Auto Scaling?
Service automatic scaling- È possibile impiegare i dati utente di configurazione del lancio per implementare l'automazione capace di autoriparare la maggior parte dei carichi di lavoro.
- Utilizza il ripristino automatico delle istanze EC2 per carichi di lavoro che richiedono
un indirizzo ID di una singola istanza, indirizzo IP privato, indirizzo IP elastico
e metadati di istanza.
Recover your instance.- Il ripristino automatico invierà avvisi sullo stato del ripristino a un argomento SNS quando viene rilevato l'errore dell'istanza.
- Utilizza eventi del ciclo di vita di istanze EC2 o eventi ECS per automatizzare l'autoriparazione
dove non è possibile utilizzare l'Auto Scaling o il ripristino EC2.
EC2 Auto Scaling lifecycle hooks
Amazon ECS events- Utilizza gli eventi per invocare l'automazione che riparerà il tuo componente secondo la logica di processo richiesta.
Recover your instance.
- Il ripristino automatico invierà avvisi sullo stato del ripristino a un argomento SNS quando viene rilevato l'errore dell'istanza.
EC2 Auto Scaling lifecycle hooks
Amazon ECS events
- Utilizza gli eventi per invocare l'automazione che riparerà il tuo componente secondo la logica di processo richiesta.
Utilizzo di architetture paratie
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)
- Nel suo post del blog AWS, Colm MacCarthaigh spiega in che modo Amazon Route 53 utilizza
il concetto di sharding casuale per isolare le richieste dei clienti negli shard
Shuffle Sharding: Massive and Magical Fault Isolation