Multi-Region Active-Standby Setup for Self-Hosted Temporal with Aurora PostgreSQL

Hi Temporal Community,

I’m working on implementing a multi-region active-standby setup for our self-hosted Temporal deployment and have some questions about the best approach.

Current Setup

  • Primary Region: us-east-2 with Temporal deployed on EKS

  • Persistence: Aurora PostgreSQL cluster in us-east-2

  • Load Balancing: AWS NLB with External DNS for temporal-dev.a.b.net

  • Goal: Standby Temporal deployment in us-west-2

How to Achieve Multi-Region Active-Standby?

I need to implement a standby Temporal deployment in us-west-2 that can take over if us-east-2 becomes unavailable. The us-west-2 deployment will have the full Temporal Helm chart deployed but will not receive any external traffic during normal operations - it’s purely for disaster recovery failover.

I’m planning to use Aurora Global Database for cross-region replication.

Key Questions:

  1. What’s the recommended approach for multi-region active-standby with self-hosted Temporal?

  2. Can Temporal connect to a read-only Aurora secondary cluster, or does it require write access for internal operations?

  3. Is it safe to have two Temporal instances connected to the same database simultaneously?

Any guidance on the right architecture pattern for this use case would be greatly appreciated!

Thanks!

1 Like