This article details a multi-Region active-passive disaster recovery (DR) solution for Terraform Enterprise (TFE) on AWS, designed to mitigate the impact of regional service events. It covers the architecture, emphasizing data replication strategies like Aurora Global Database and S3 Cross-Region Replication, and outlines a four-step failover process to achieve low RTO/RPO. The solution utilizes AWS Fault Injection Service (FIS) for robust validation of the DR workflow.
Read original on AWS Architecture BlogThe article presents a critical case study born from a real-world regional outage in AWS us-east-1 that left Athenahealth's single-Region Terraform Enterprise (TFE) deployment inaccessible. This highlights a fundamental principle in system design: single points of failure, especially regional ones, pose significant business continuity risks. The proposed solution shifts TFE from an Availability Zone-level resilient setup to a truly multi-Region resilient architecture using an active-passive (pilot light) model.
The architecture implements an active-passive DR strategy across two AWS Regions (us-east-1 as primary, us-west-2 as DR), aiming for a 12-14 minute Recovery Time Objective (RTO) and less than 1 minute Recovery Point Objective (RPO). Key components and design decisions include:
The failover sequence is a carefully orchestrated four-step process designed for speed and consistency:
Avoiding Control Plane Dependency for Failover
A crucial design point highlighted is to avoid relying on control plane API calls (e.g., modifying Route 53 records) during an event for failover. The Route 53 control plane operates from a single Region, making it a potential single point of failure during a regional outage. Instead, use pre-configured health check-based routing policies which operate in the globally distributed Route 53 data plane.
The article emphasizes the role of AWS Fault Injection Service (FIS) in validating this complex multi-Region DR setup. By injecting real failures into the AWS environment, FIS exposes hidden dependencies and configuration issues that might otherwise remain undetected until a real disaster, providing confidence in the DR plan and demonstrating the value of chaos engineering in distributed systems.
The solution employs AWS FIS to validate the DR workflow. This includes designing three-phase experiments to expose hidden dependencies in failover automation and validate both failover and failback. This proactive testing is essential for achieving the stated RTO and RPO, preventing extended downtime, and building operational resilience.