Our client had a single region deployment in AWS cloud. While they were making use of multiple AZs, they wanted to deploy in a new region to better protect themselves from regional outages as well as utilize geolocation-based routing.
The approach we took was to work with our clients on first identifying key services and establishing communication between the two regions. After that was done, we architected and implemented replication and failover methods for services deployed in both regions. The final step was to develop a dns-based routing solution where both regions would serve traffic in an active-active configuration.