Avoid Cross Region connectivity in High Availability Namespace with Multi-Cloud Setup

We have multi-region multi-cloud namespace in Temporal Cloud on GCP and AWS. Our Temporal workers are java based (java-sdk). We want the following behaviour:

  1. No Temporal automatic failover. We will manually failover from temporal cloud.
  2. Temporal Workers should be up on both the regions - GCP and AWS
  3. Workers in GCP region should connect to regional endpoint of GCP and workers of AWS region should connect to regional endpoint of AWS.
  4. When GCP region is active in temporal, workflows initiated in GCP should only be processed by workers in GCP. Workers running in AWS and connected to regional endpoint of AWS, should not poll/execute the tasks originated in GCP.
  5. In our experiments we observed that, when GCP region is active in Temporal, for workflows initiated in GCP, tasks are getting executed by worker in AWS. This is not desirable as other infra components in AWS(like application database) are in passive state in AWS. Due to which tasks are failing. We want that workers in active region(GCP) should only process workflow tasks, whereas workers in passive(AWS) region should be in running state but its poll request should not return any task till Temporal Switchover happens. Keeping worker running in passive(AWS) region will help us to reduce RTO during failover.

Is the above behaviour feasible ? If yes, can you please share the configuration required to achieve the same.

1 Like