You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/cloud/connectivity/aws-connectivity.mdx
+20-10Lines changed: 20 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,9 +33,18 @@ After creating the PrivateLink endpoint, configure your clients to use it throug
33
33
34
34
## Requirements
35
35
36
-
Your AWS PrivateLink endpoint must be in the same region as your Temporal Cloud namespace. If using [replication for High Availability](/cloud/high-availability), the PL connection must be in the same region as one of the replicas.
36
+
* Your AWS PrivateLink endpoint must be in the same region as your Temporal Cloud namespace. If using [replication for High Availability](/cloud/high-availability), the PL connection must be in the same region as one of the replicas.
37
+
See [cross-region PrivateLink connectivity](#cross-region-privatelink) to access the Namespace from a different region.
38
+
* Your Private DNS must be configured to direct Worker / Client traffic to your VPC Endpoint, as described below.
39
+
* If the Worker / Client is not using the Namespace Endpoint, it may need to set the `server_name` config to the Namespace Endpoint string, as described below.
Temporal Cloud does **not** support [cross-region connectivity for AWS PrivateLink](https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-cross-region-connectivity-for-aws-privatelink/) out of the box.
44
+
45
+
You can access your VPC Endpoint in a different region using the [native cross-region routing in AWS](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-access-to-vpc-private-endpoints.html#cross-region-endpoint-access).
46
+
47
+
When using High Availability on Temporal Cloud, it's best practice to have two VPC Endpoints, one in each of the Namespace's regions, to ensure at least one VPC Endpoint is accessible during a regional outage.
39
48
40
49
## Creating an AWS PrivateLink connection
41
50
@@ -58,7 +67,7 @@ Individual Namespaces do not use separate services.
@@ -188,7 +197,7 @@ The DNS resolver inside your VPC returns the private endpoint, while TLS still v
188
197
189
198
## Configure private DNS for Namespaces with High Availability
190
199
191
-
For Namespaces with [High Availability features](/cloud/high-availability), you need to override DNS for `region.tmprl.cloud` so each region resolves to the local VPC Endpoint, and you need to ensure Workers can reach whichever region is active. Failover is transparent to clients only when this is set up correctly.
200
+
For Namespaces with [High Availability features](/cloud/high-availability), you need to override DNS for `region.tmprl.io` so each region resolves to the local VPC Endpoint, and you need to ensure Workers can reach whichever region is active. Failover is transparent to clients only when this is set up correctly.
192
201
193
202
The complete guidance — including single-cloud (AWS-only) HA, multi-cloud HA (AWS PrivateLink + GCP Private Service Connect), and a recommended failover-testing plan — lives on a single page: [Connectivity for High Availability](/cloud/high-availability/ha-connectivity).
194
203
@@ -203,12 +212,13 @@ For single-region Namespaces, you can avoid creating DNS records for each Namesp
203
212
204
213
With this approach, new Namespaces do not require new DNS records.
205
214
206
-
:::warning Not compatible with High Availability Namespaces
215
+
:::warning Extra care needed for Namespaces with High Availability
216
+
217
+
Direct VPCE targeting bypasses the Temporal-managed DNS CNAME that normally routes a Namespace to its active region, so each Worker is pinned to whichever VPC Endpoint you configure. To keep both regions reachable, you must run Workers in each region and configure them with **different endpoints**:
207
218
208
-
This approach does not work for Namespaces with High Availability features.
209
-
HA Namespaces rely on Temporal's public DNS CNAME records to route traffic to the active region during failover.
210
-
If you bypass DNS, your Workers cannot follow the CNAME to the new region.
211
-
For HA Namespaces, use [private DNS](#configuring-private-dns-for-aws-privatelink) instead.
219
+
- Workers in the primary region: the local VPC Endpoint for that region (e.g., `vpce-...-us-east-1.vpce.amazonaws.com:7233`).
220
+
- Workers in the replica region: the local VPC Endpoint for that region (e.g., `vpce-...-us-west-2.vpce.amazonaws.com:7233`).
221
+
- All Workers: the same SNI override — the Namespace Endpoint value (e.g., `my-namespace.my-account.tmprl.cloud`).
Copy file name to clipboardExpand all lines: docs/cloud/connectivity/gcp-connectivity.mdx
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,9 @@ If you use GCP Private Service Connect, you must manually update your workers to
38
38
39
39
## Requirements
40
40
41
-
Your GCP Private Service Connect connection must be in the same region as your Temporal Cloud namespace. If using [replication for High Availability](/cloud/high-availability), the PSC connection must be in the same region as one of the replicas.
41
+
* Your GCP Private Service Connect endpoint must be in the same region as your Temporal Cloud namespace. If using [replication for High Availability](/cloud/high-availability), the PSC connection must be in the same region as one of the replicas.
42
+
* Your Private DNS must be configured to direct Worker / Client traffic to your PSC endpoint, as described below.
43
+
* If the Worker / Client is not using the Namespace Endpoint, it may need to set the `server_name` config to the Namespace Endpoint string, as described below.
42
44
43
45
## Creating a Private Service Connect connection
44
46
@@ -131,7 +133,7 @@ This approach is **optional**; Temporal Cloud works without it. It simply stream
Copy file name to clipboardExpand all lines: docs/cloud/connectivity/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -223,7 +223,7 @@ The TLS server name override depends on your authentication method:
223
223
| -------------- | ---------------------- |
224
224
| mTLS (single-region Namespace) | The Namespace Endpoint, e.g. `my-namespace.my-account.tmprl.cloud`|
225
225
| API key (single-region Namespace) | The regional API endpoint, e.g. `us-east-1.aws.api.temporal.io` or `us-central1.gcp.api.temporal.io`|
226
-
| Multi-region Namespace (mTLS or API key) | The active region endpoint, e.g. `aws-us-east-1.region.tmprl.cloud`|
226
+
| Multi-region Namespace (mTLS or API key) | The active region endpoint, e.g. `us-east-1.aws.api.temporal.io`|
227
227
228
228
If you authenticate with an API key over PrivateLink/PSC and use the wrong server name, the TLS handshake will fail with errors such as `connection reset by peer` even though `nc` reports the port as open.
Copy file name to clipboardExpand all lines: docs/cloud/get-started/namespaces.mdx
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -337,6 +337,12 @@ There are two types of gRPC endpoints for accessing a Namespace in Temporal Clou
337
337
- A Temporal Client can use a regional endpoint to ensure connection to a Namespace always happens within that region. This can be useful in advanced [High Availability](/cloud/high-availability) setups where you want explicit control over which region handles requests.
338
338
- When using mTLS to authenticate, the Temporal Client must set the `server_name` property to `<namespace endpoint value>` in its request to the value of the Namespace endpoint. This tells the client to expect a different SNI header during the TLS handshake, since the request to the regional endpoint is redirected to the specific Namespace.
339
339
340
+
:::note Update outdated regional endpoints
341
+
342
+
The older regional endpoint format ending in `region.tmprl.cloud` (for example, `aws-us-east-1.region.tmprl.cloud`) is outdated. Update any Clients, Workers, and private DNS records to the current format ending in `api.temporal.io` (for example, `us-east-1.aws.api.temporal.io:7233`) to ensure uninterrupted access to your Temporal Cloud Namespaces.
343
+
344
+
:::
345
+
340
346
### Configuring a Temporal Client with API keys or mTLS
341
347
342
348
To use API keys to connect with the [Temporal CLI](/cli), [Client SDK](/develop), [tcld](/cloud/tcld),
Copy file name to clipboardExpand all lines: docs/cloud/high-availability/ha-connectivity.mdx
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ A Namespace with High Availability features has two replicas — a primary and a
25
25
Temporal Cloud expresses the active replica through DNS:
26
26
27
27
- The Namespace DNS record (`<ns>.<account>.tmprl.cloud`) is a CNAME.
28
-
- It points to the active region's regional record (`<provider>-<region>.region.tmprl.cloud`).
28
+
- It points to the active region's regional record (`<region>.<provider>.api.temporal.io`).
29
29
- On failover, Temporal Cloud rewrites the CNAME target.
30
30
31
31
Namespace DNS records have a 15-second TTL. Clients should converge to the new region within roughly 30 seconds (about twice the TTL) once their resolver cache expires.
@@ -40,19 +40,19 @@ For private connectivity, your job is to make sure that:
40
40
This is the most common setup: both replicas live in AWS regions, and Workers connect via AWS PrivateLink.
41
41
42
42
When using PrivateLink, you connect to Temporal Cloud through a VPC Endpoint, which uses addresses local to your network.
43
-
Temporal treats each `region.tmprl.cloud` zone as a separate zone, so you override resolution per region.
43
+
Temporal treats each `aws.api.temporal.io` zone as a separate zone, so you override resolution per region.
44
44
45
45
Before failover, with the active region being `aws-us-west-2`:
Link the private zone to every VPC where Workers run.
75
75
76
-
When your Workers connect to the Namespace, they first resolve `<ns>.<account>.tmprl.cloud`, which CNAMEs to `<aws-active-region>.region.tmprl.cloud`, which then resolves to your local VPC Endpoint.
76
+
When your Workers connect to the Namespace, they first resolve `<ns>.<account>.tmprl.cloud`, which CNAMEs to `<aws-active-region>.aws.api.temporal.io`, which then resolves to your local VPC Endpoint.
77
77
78
78
You also need to decide how Workers reach whichever region becomes active. Either:
79
79
@@ -82,12 +82,12 @@ You also need to decide how Workers reach whichever region becomes active. Eithe
82
82
83
83
## Single-cloud HA on GCP Private Service Connect
84
84
85
-
For GCP-only HA, the same model applies, but use a Cloud DNS private zone for `region.tmprl.cloud` and point each `gcp-<region>.region.tmprl.cloud` record at the local PSC endpoint IP address.
85
+
For GCP-only HA, the same model applies, but use a Cloud DNS private zone for `gcp.api.temporal.io` and point each `<region>.gcp.api.temporal.io` record at the local PSC endpoint IP address.
86
86
87
87
| Record name | Record type | Value (your PSC endpoint IP) |
|`gcp-us-central1.region.tmprl.cloud`| A |`10.x.x.x` (PSC endpoint IP) |
90
-
|`gcp-us-east1.region.tmprl.cloud`| A |`10.x.x.x` (PSC endpoint IP) |
89
+
|`us-central1.gcp.api.temporal.io`| A |`10.x.x.x` (PSC endpoint IP) |
90
+
|`us-east1.gcp.api.temporal.io`| A |`10.x.x.x` (PSC endpoint IP) |
91
91
92
92
A Connectivity Rule is required for each PSC connection — see [GCP PSC setup](/cloud/connectivity/gcp-connectivity) and [Connectivity Rules](/cloud/connectivity#connectivity-rules).
93
93
@@ -97,7 +97,7 @@ If your replicas span clouds — for example, AWS `us-east-1` (active) and GCP `
97
97
98
98
Plan for these three things:
99
99
100
-
1.**DNS overrides for both clouds.** Your private DNS for `region.tmprl.cloud`needs entries for both the AWS region (CNAME → AWS VPCE) and the GCP region (A → PSC IP). This typically means a Route 53 private hosted zone in your AWS Worker VPCs *and* a Cloud DNS private zone in your GCP Worker network — both for the same `region.tmprl.cloud` parent — each with the records relevant to the cloud the Workers run in.
100
+
1.**DNS overrides for both clouds.** Your private DNS needs entries for both the AWS region (CNAME → AWS VPCE under `aws.api.temporal.io`) and the GCP region (A → PSC IP under `gcp.api.temporal.io`). This typically means a Route 53 private hosted zone for `aws.api.temporal.io`in your AWS Worker VPCs *and* a Cloud DNS private zone for `gcp.api.temporal.io`in your GCP Worker network — each with the records relevant to the cloud the Workers run in.
101
101
2.**Worker reachability across clouds.** Your AWS-resident Workers must be able to reach the GCP PSC endpoint when GCP is active, and vice versa. Options include:
102
102
- Run Workers in both clouds (preferred — simplest, lowest latency, matches the failover model).
103
103
- Establish cross-cloud connectivity (e.g., AWS Transit Gateway + GCP Cloud Interconnect, or a third-party transit) so Workers in one cloud can resolve and reach the other cloud's private endpoint.
@@ -149,6 +149,6 @@ The following tables list the available Temporal regions and the DNS record over
When using a Namespace with High Availability features, the Namespace's DNS record `<ns>.<account>.tmprl.cloud` points to a regional DNS record in the format `<provider>-<region>.region.tmprl.cloud`, where `<provider>-<region>`is the currently active region for your Namespace.
152
+
When using a Namespace with High Availability features, the Namespace's DNS record `<ns>.<account>.tmprl.cloud` points to a regional DNS record in the format `<region>.<provider>.api.temporal.io`, where `<provider>` and `<region>`correspond to the currently active region for your Namespace.
153
153
154
154
During failover, Temporal Cloud changes the target of the Namespace DNS record from one region to another. Namespace DNS records are configured with a 15-second <ahref="https://en.wikipedia.org/wiki/Time_to_live">TTL</a>. Any DNS cache should re-resolve the record within this time. As a rule of thumb, receiving an updated DNS record takes about twice (2x) the TTL — clients should converge to the newly targeted region within, at most, a 30-second delay, assuming their resolver and language runtime honor the TTL.
0 commit comments