[AWS] Multi-Region & Multi-AZ Services

It is important to design your architecture as highly-available and fault-tolerant. To achieve the goal, you need to understand how AWS services work in multi-AZs and in multi-regions.


Regional vs AZ

ServicesFeaturesMulti-RegionsMulti-AZs
Auto Scaling GroupASG is a regional service. Target instances can span across multiple AZs in a region.NoYes (Manual)
Elastic Load BalancerNoYes (Manual)
Route 53Use health checks for automated DNS failovers or routing traffic by latency across regionsYes
CloudFrontGlobal Service; Origins in a group can be across AWS Regions.Yes
Global AcceleratorAssociates the static IP addresses to regional AWS resources or endpointsYes
VPCs – Transtit GatewayConnect cross-region VPCs by peering regional Transit GatewaysYes
AWS Certificate Manager (ACM)No
ElasticCache -REDISMulti-AZ with high-availability and auto-failoverNoYes
ElasticCache – MemcahcedMutli-threaded architectureNoNo
CloudFormationUse “StackSets” to deploy stacks in multiple regions in multiple accounts.YesYes
BeanstalkYes (Manual)
ECS (EC2)Yes
FargateYes
RDS – Multi-AZ deployment Synchronous Standby in another AZYes
RDS – Read ReplicasRead-only scaling, Asynchronous replication – Eventual consistencyYes
AuroraData is stored in multi-AZ automatically.Yes
Aurora – Read ReplicasCross-region read only connectionYes
Aurora Global DatabaseCross-region failoverYes
DynamoDBSpread data across at least 3 AZs.NoYes
DynamoDB Global TablesMulti-region redundancy for high-availabilityYes
MemoryDB for RedisRedis-compatible in-memory databaseNoYes
API GatewayNo
LambdaNo
S3Store objects in multi-AZ except One-Zone-Infrequent access Yes
S3 ReplicationCRR (Cross Region Replication)
SRR (Same Region Replication)
YesYes
EFSYes (Manual)
CloudWatch LogsYou can aggregate cross-region, cross-account logs to a single destination such as Kinesis Data Stream.Yes
CloudTrailYes
Secrets ManagerNo
Secrets Manager – Read ReplicaYes
Systems Manager Parameter StoreNo
KMS – Multi-region KeyMulti-region replica keyYes

ASG & ELB

  • Auto Scaling Group
    • When one Availability Zone becomes unavailable, ASG launches new instances in other unaffected AZs.
    • When the unhealthy AZ returns to a healthy state, ASG automatically redistributes the instances evenly across all of the designated AZs.
  • Elastic Load Balancer
    • Target EC2 instances within a region

CloudFormation

Cross-Stack Reference

  • You can use the Export Output Values to export the name of the resource output for a cross-stack reference.
  • You cannot create cross-stack references across regions.
    • For each AWS account, export names must be unique within a region.
    • You can use the “Fn:ImportValue” to import only values that have been exported within the same region.

StackSets

  • Use StackSets for multi-region deployment.

DynamoDB

  • Data will be saved in at least 3 AZs with the automatic synchronous replication.
  • You can use “Global Tables” for multi-region redundancy.

Leave a Comment