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
When you connect to Temporal Cloud through AWS PrivateLink you normally must:
159
+
160
+
1.**Point your SDKs/Workers at the PrivateLink DNS name** for the VPC Endpoint (e.g., `vpce-0123456789abcdef-abc.us-east-1.vpce.amazonaws.com`), **and**
161
+
2.**Override the Server Name Indicator (SNI)** so that the TLS handshake still presents the public Temporal Cloud hostname (e.g., `my-namespace.my-account.tmprl.cloud`).
162
+
163
+
By creating a Route 53 **private hosted zone (PHZ)** that maps the public Temporal Cloud hostname (or region hostname) to your VPC Endpoint, you can:
164
+
165
+
* Keep using the standard Temporal Cloud hostnames in code and configuration.
166
+
* Eliminate the need to set a custom SNI override.
167
+
* Make future Endpoint rotations transparent—only the PHZ record changes.
168
+
169
+
This approach is **optional**; Temporal Cloud works without it. It simply streamlines configuration and operations.
| AWS VPC with DNS resolution and DNS hostnames enabled |*VPC console → Edit DNS settings → enable both checkboxes.*|
176
+
| Interface VPC Endpoint for Temporal Cloud | Subnets must be associated with the VPC and Security Group must allow TCP ingress traffic to port 7233 from the appropriate hosts. |
177
+
| Route 53 available in your AWS account | You need permission to create Private Hosted Zones and records. |
178
+
| Namespace details | Needed to choose the correct override domain pattern below. |
179
+
180
+
### Choose the override domain and endpoint
181
+
182
+
| Temporal Cloud setup | Use this PHZ domain | Example |
|**Record name**| the namespace endpoint (e.g., `payments.abcde.tmprl.cloud`). |
218
+
|**Record type**|`CNAME`|
219
+
|**Value**| Your VPC Endpoint DNS name (`vpce-0123456789abcdef-abc.us-east-1.vpce.amazonaws.com`) |
220
+
|**TTL**| 60s is typical; 15s for MRN namespaces; adjust as needed. |
221
+
222
+
#### 4. Verify DNS resolution from inside the VPC
223
+
224
+
```bash
225
+
dig payments.abcde.tmprl.cloud
226
+
```
227
+
228
+
If the record resolves to the VPC Endpoint, you are ready to use Temporal Cloud without SNI overrides.
229
+
230
+
### Updating your workers/clients
231
+
232
+
With private DNS in place, configure your SDKs exactly as the public-internet examples show:
233
+
234
+
```go
235
+
clientOptions:= client.Options{
236
+
HostPort: "payments.abcde.tmprl.cloud:7233",
237
+
Namespace: "payments",
238
+
// No TLS SNI override needed
239
+
}
240
+
```
241
+
242
+
The DNS resolver inside your VPC returns the private endpoint, while TLS still validates the original hostname—simplifying both code and certificate management.
243
+
244
+
## Configure Private DNS for Multi-Region Namespaces
245
+
246
+
:::tip Namespaces with High Availability features and AWS PrivateLink
247
+
248
+
Proper networking configuration is required for failover to be transparent to clients and workers when using PrivateLink.
249
+
This page describes how to configure routing for Namespaces with High Availability features on AWS PrivateLink.
250
+
251
+
:::
252
+
253
+
To use AWS PrivateLink with High Availability features, you may need to:
254
+
255
+
- Override the regional DNS zone.
256
+
- Ensure network connectivity between the two regions.
257
+
258
+
This page provides the details you need to set this up.
259
+
260
+
### Customer side solutions
261
+
262
+
When using PrivateLink, you connect to Temporal Cloud through a VPC Endpoint, which uses addresses local to your network.
263
+
Temporal treats each `region.<tmprl_domain>` as a separate zone.
264
+
This setup allows you to override the default zone, ensuring that traffic is routed internally for the regions you’re using.
265
+
266
+
A Namespace's active region is reflected in the target of a CNAME record.
267
+
For example, if the active region of a Namespace is AWS us-west-2, the DNS configuration would look like this:
0 commit comments