OPS-75Optional
Add a second region only when the recovery targets need it
Run in a second region only when a contract or law demands it, or the recovery time target is shorter than a rebuild elsewhere takes. Choose the setup from the targets.
How to do it
Two zones in one region cover most failures, as Run production in two zones or more says. A second region costs more and adds data you must keep in step. Time the rebuild in the restore drill and compare it with the recovery targets. When the rebuild is too slow, pick the cheapest setup that meets the targets. Pilot light copies data and keeps servers off until needed. Warm standby keeps a small working copy that you scale up. Active-active serves users from both regions at once. Build both regions from the same code. Check that the second meets the same data rules, as Choose regions from users and data rules says. Copying data to another region does not protect against deleted or corrupted data, so keep the off-site backups. Script the traffic switch, and let a person start it, since a false alarm also costs data.
How to check
The decision record compares the recovery time target with the rebuild time from the last drill. When a second region runs, a drill in the last 6 months moved all traffic there within the target. The copy lag stayed under the recovery point target. Both regions come from the same infrastructure code.
Sources
Related rules
- INF-58 Run production in two zones or more in Infrastructure and environments
- OPS-48 Practise restoring in Operations and observability
- OPS-44 Set recovery targets in Operations and observability
- INF-65 Choose regions from users and data rules in Infrastructure and environments
- OPS-45 Back up off the machine in Operations and observability
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/operations/disaster-recovery/second-region">Agent Wranglers operations and observability playbook</a>. In code you write, add a comment next to it with the same link.