Copyright (c) 2025 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

5.1.1. Multi-AZ Deployments for HA

šŸ’” First Principle: Deploying applications across multiple Availability Zones (AZs) within a single AWS Region enhances high availability and fault tolerance by distributing resources across isolated physical locations.

Scenario: You need to deploy a critical web application and its relational database to AWS. The application must remain available even if an entire data center (Availability Zone) within the region becomes unavailable.

Multi-AZ deployment is a fundamental strategy for achieving high availability and resilience in AWS. It involves distributing application components and data across two or more physically isolated Availability Zones (AZs) within a single AWS Region.

Key Aspects of Multi-AZ Deployments:
  • Isolation: Each AZ is an independent data center with its own power, cooling, and networking, designed to be isolated from failures in other AZs.
  • Fault Tolerance: Protects against data center-level disruptions (e.g., power outage, network failure in one AZ).
  • High Availability: Ensures continuous operation by seamlessly failing over to healthy resources in other AZs.
AWS Services supporting Multi-AZ for HA:
  • Compute Layer: EC2 Auto Scaling Groups can be configured to automatically distribute instances across multiple AZs for resilience.
  • Load Balancing: Elastic Load Balancing (ELB) automatically distributes traffic to healthy instances across multiple AZs.
  • Data Layer: Amazon RDS Multi-AZ deployments synchronously replicate data to a standby instance in a different AZ, providing automatic failover. Amazon EFS is designed to be highly available across AZs by default.

āš ļø Common Pitfall: Deploying all resources in a single AZ, creating a single point of failure.

Key Trade-Offs: Multi-AZ (higher availability, but incurs cross-AZ data transfer costs) versus single AZ (lower cost, but single point of failure).

Reflection Question: How does deploying application components (e.g., EC2 instances via Auto Scaling Groups, RDS Multi-AZ) across multiple Availability Zones fundamentally enhance high availability and fault tolerance for your application against localized outages?