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
+17-9Lines changed: 17 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,9 +43,17 @@ After creating the PrivateLink endpoint, configure your clients to use it throug
43
43
44
44
## Requirements
45
45
46
-
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.
46
+
* Your AWS PrivateLink (PL) endpoint must be in the same region as your Temporal Cloud Namespace or one of its [High Availability](/cloud/high-availability) replicas.
47
+
See [cross-region PrivateLink connectivity](#cross-region-privatelink) to access the Namespace from a different region.
48
+
* Your Private DNS must be configured to direct Worker / Client traffic to your VPC Endpoint, as described below.
49
+
* If the Worker / Client does not use the Namespace Endpoint as the connection string in its code, 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. However, if you need to reach Temporal Cloud privately from a different region than your Namespace, you can route traffic to your VPC Endpoint in the Namespace's region using [AWS's native cross-region networking features](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).
54
+
55
+
56
+
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.
49
57
50
58
## Creating an AWS PrivateLink connection
51
59
@@ -68,7 +76,7 @@ Individual Namespaces do not use separate services.
| Namespace endpoint |`<namespace-id>.tmprl.cloud`|`payments.abcde.tmprl.cloud`|**Single-region Namespaces only.** Simplest pattern — one record per Namespace. Do not use this for [High Availability](/cloud/high-availability/ha-connectivity) Namespaces: the override short-circuits Temporal's regional CNAME chain and failover stops working. |
124
-
| Regional endpoint |`<cloud>-<region>.region.tmprl.cloud`|`aws-ap-northeast-2.region.tmprl.cloud`|**Single-region or HA Namespaces.** One record per Temporal Cloud region, reused by every Namespace active or replicated in that region. **Required for HA Namespaces** — see [Connectivity for High Availability](/cloud/high-availability/ha-connectivity). |
129
+
| Endpoint type | PHZ domain format | Example | Use when |
| Namespace endpoint |`<namespace-id>.tmprl.cloud`|`payments.abcde.tmprl.cloud`|**Single-region Namespaces.** Simplest pattern — one record per Namespace. For [High Availability](/cloud/high-availability/ha-connectivity) Namespaces, overriding the Namespace Endpoint is nuanced — see [Connectivity for High Availability](/cloud/high-availability/ha-connectivity). |
132
+
| Regional endpoint |`<region>.<cloud>.api.temporal.io`|`ap-northeast-2.aws.api.temporal.io`|You want to pin a client to a specific Temporal Cloud region. |
125
133
126
-
:::warning HA Namespaces require the regional override
134
+
:::caution HA Namespaces need a more nuanced PHZ setup
127
135
128
-
For Namespaces with [High Availability](/cloud/high-availability/ha-connectivity), use the regional-endpoint PHZ pattern only. The Namespace-endpoint override is read out of the PHZ before public DNS, so the regional CNAME that Temporal Cloud rewrites on failover is never followed and Workers stay pinned to the old region. If you're switching an existing single-region private Namespace to HA, see [How to enable HA on a Namespace using Private Connectivity](/cloud/high-availability/ha-connectivity#how-to-enable-ha-on-a-namespace-using-private-connectivity) for the PHZ migration steps.
136
+
For Namespaces with [High Availability](/cloud/high-availability/ha-connectivity), the PHZ pattern to use depends on how you want Workers to reach the active region. Overriding the Namespace Endpoint directly is read out of the PHZ before public DNS, so the regional CNAME that Temporal Cloud rewrites on failover isn't followed — which is usually not what you want, but can be the right choice in some topologies (for example, multi-cloud HA with one region per cloud, where Workers on each cloud should always reach their local region). Because the trade-offs depend on your setup, see [Connectivity for High Availability](/cloud/high-availability/ha-connectivity) before choosing a pattern.
:::warning Namespaces with High Availability features and GCP Private Service Connect
33
35
34
36
Automatic failover via Temporal Cloud DNS is not currently supported with GCP Private Service Connect.
@@ -38,7 +40,9 @@ If you use GCP Private Service Connect, you must manually update your workers to
38
40
39
41
## Requirements
40
42
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.
43
+
* 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.
44
+
* Your Private DNS must be configured to direct Worker / Client traffic to your PSC endpoint, as described below.
45
+
* 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
46
43
47
## Creating a Private Service Connect connection
44
48
@@ -131,7 +135,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
@@ -233,7 +233,7 @@ The TLS server name override depends on your authentication method:
233
233
| -------------- | ---------------------- |
234
234
| mTLS (single-region Namespace) | The Namespace Endpoint, e.g. `my-namespace.my-account.tmprl.cloud`|
235
235
| 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`|
236
-
| Multi-region Namespace (mTLS or API key) | The active region endpoint, e.g. `aws-us-east-1.region.tmprl.cloud`|
236
+
| Multi-region Namespace (mTLS or API key) | The active region endpoint, e.g. `us-east-1.aws.api.temporal.io`|
237
237
238
238
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/connectivity/ip-addresses.mdx
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -341,6 +341,11 @@ IP addresses are provided in IPv4 or IPv6 format with CIDR notation. At launch,
341
341
342
342
:::
343
343
344
+
:::note Don't depend on DNS resolution behavior
345
+
346
+
Take a dependency on Temporal's published endpoints (the hostnames themselves), not on what they resolve to. The underlying IP addresses, CNAME chains, and resolution behavior can change at any time without notice. The **only** exception is the Namespace Endpoint for a Namespace with [High Availability features](/cloud/high-availability), which deterministically CNAMEs to its active region's regional record — see [Connectivity for High Availability](/cloud/high-availability/ha-connectivity) for details.
347
+
348
+
:::
344
349
### How to connect using Stable IPs
345
350
346
351
To connect to a Namespace with Stable IPs enabled:
0 commit comments