Skip to content

Commit fd133e0

Browse files
johnsonshiclaude
andauthored
docs: add regional endpoints private preview documentation (#870)
Add comprehensive documentation for the regional endpoints private preview feature, including: - Feature overview and use cases - Prerequisites and enrollment steps - CLI commands for enabling and using regional endpoints - Authentication and container operations examples - Kubernetes integration guidance - Network considerations (firewall, private endpoints, data endpoints) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ef04016 commit fd133e0

1 file changed

Lines changed: 269 additions & 0 deletions

File tree

Lines changed: 269 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
1+
---
2+
title: Regional endpoints for geo-replicated registries (Preview)
3+
description: Learn how to use regional endpoints to target specific geo-replicas in Azure Container Registry for predictable routing and client-side failover.
4+
ms.topic: how-to
5+
ms.date: "2026-03-02"
6+
ms.author: johsh
7+
ms.service: azure-container-registry
8+
---
9+
10+
## Regional endpoints for geo-replicated registries (Preview)
11+
12+
Azure Container Registry regional endpoints allow you to target specific geo-replicas directly, bypassing Azure-managed routing. This feature is useful when you need predictable routing, client-side failover, or regional affinity for your container registry operations.
13+
14+
> [!IMPORTANT]
15+
> Regional endpoints are currently in **private preview**. To enable the preview, see [Enroll in the preview](#enroll-in-the-preview).
16+
17+
## About regional endpoints
18+
19+
When you use a geo-replicated registry's global endpoint (`myregistry.azurecr.io`), Azure automatically routes requests to the most suitable replica based on network performance. While this works well for most scenarios, it doesn't provide explicit control over which replica handles your requests.
20+
21+
Regional endpoints solve this by providing dedicated login server URLs for each geo-replica:
22+
23+
```
24+
myregistry.<region-name>.geo.azurecr.io
25+
```
26+
27+
For example:
28+
29+
- `myregistry.eastus.geo.azurecr.io`
30+
- `myregistry.westeurope.geo.azurecr.io`
31+
32+
### When to use regional endpoints
33+
34+
| Scenario | Description |
35+
|----------|-------------|
36+
| **Client-side failover** | Implement your own failover logic that explicitly switches between regions based on health checks. |
37+
| **Regional affinity** | Ensure specific applications always use a designated replica. |
38+
| **Troubleshooting** | Test or debug a specific regional replica. |
39+
| **Push/pull consistency** | Ensure images are pushed and pulled from the same replica. |
40+
41+
### Regional endpoints coexist with global endpoints
42+
43+
Enabling regional endpoints doesn't disable or replace the global endpoint. You can use both simultaneously:
44+
45+
- Use the **global endpoint** (`myregistry.azurecr.io`) for most operations with automatic routing.
46+
- Use **regional endpoints** when you need explicit regional control.
47+
48+
## Prerequisites
49+
50+
- **Premium SKU** - Regional endpoints are available exclusively on Premium tier registries.
51+
- **Azure CLI** - Version 2.74.0 or later.
52+
- **Preview feature registration** - You must register the `RegionalEndpoints` feature flag. See [Enroll in the preview](#enroll-in-the-preview).
53+
- **API version** - Regional endpoints are available in all production regions in Azure Public Cloud via the `2026-01-01-preview` ACR ARM API version.
54+
55+
> [!NOTE]
56+
> During private preview, regional endpoints are only available in Azure Public Cloud. Support for Azure Government, Azure China, and other national clouds will be available in public preview and beyond.
57+
58+
> [!NOTE]
59+
> Regional endpoints can be enabled on any Premium SKU registry, even without geo-replication. A registry without geo-replication has a single geo-replica in the home region, which gets one regional endpoint URL. However, the feature is most useful when your registry has at least two geo-replicas.
60+
61+
## Enroll in the preview
62+
63+
To enable the regional endpoints private preview, complete the following steps before using regional endpoints.
64+
65+
### 1. Register the feature flag
66+
67+
Register the `RegionalEndpoints` feature flag for your subscription:
68+
69+
```azurecli
70+
az feature register \
71+
--namespace Microsoft.ContainerRegistry \
72+
--name RegionalEndpoints
73+
```
74+
75+
The feature registration is auto-approved and takes approximately 1 hour to propagate. You can check the status with:
76+
77+
```azurecli
78+
az feature show \
79+
--namespace Microsoft.ContainerRegistry \
80+
--name RegionalEndpoints
81+
```
82+
83+
Wait until the `state` shows **Registered** before proceeding.
84+
85+
### 2. Propagate the registration
86+
87+
Once the feature registration has propagated, update your provider registration:
88+
89+
```azurecli
90+
az provider register -n Microsoft.ContainerRegistry
91+
```
92+
93+
### 3. Install the preview CLI extension
94+
95+
Install the preview Azure CLI extension for regional endpoints:
96+
97+
Download the preview Azure CLI extension wheel file from <https://aka.ms/acr/regionalendpoints/download> and install it:
98+
99+
```azurecli
100+
# Download the .whl file from the link above, then install:
101+
az extension add \
102+
--source acrregionalendpoint-1.0.0b1-py3-none-any.whl \
103+
--allow-preview true
104+
```
105+
106+
## Enable regional endpoints
107+
108+
You can enable regional endpoints when creating a new registry or update an existing registry.
109+
110+
**Create a new registry with regional endpoints enabled for all geo-replicas:**
111+
112+
```azurecli
113+
az acr create \
114+
-n myregistry \
115+
-g myrg \
116+
-l regionname \
117+
--sku Premium \
118+
--regional-endpoints enabled
119+
```
120+
121+
**Enable regional endpoints for all geo-replicas for an existing registry:**
122+
123+
```azurecli
124+
az acr update \
125+
-n myregistry \
126+
-g myrg \
127+
--regional-endpoints enabled
128+
```
129+
130+
---
131+
132+
Regional endpoints are enabled at the registry level and apply to every geo-replica. You can't enable regional endpoints for individual replicas. When you enable regional endpoints, Azure Container Registry automatically creates login server URLs for each of your geo-replicas.
133+
134+
### View all endpoints
135+
136+
Use the `az acr show-endpoints` command to view all endpoints for your registry, including the global URL, regional endpoints (if enabled), and dedicated data endpoints (if enabled):
137+
138+
```azurecli
139+
az acr show-endpoints --name myregistry --resource-group myrg
140+
```
141+
142+
This command displays:
143+
144+
- The global login server URL (`myregistry.azurecr.io`)
145+
- Regional endpoint URLs for each geo-replica (if regional endpoints are enabled)
146+
- Dedicated data endpoint URLs for each geo-replica (if dedicated data endpoints are enabled)
147+
148+
## Authenticate and use regional endpoints
149+
150+
Regional endpoints support the same authentication methods as the global endpoint: Microsoft Entra ID (formerly Azure Active Directory), service principals, managed identities, and admin credentials.
151+
152+
### Sign in to a regional endpoint
153+
154+
**Sign in to the global endpoint (default):**
155+
156+
```azurecli
157+
az acr login --name myregistry
158+
```
159+
160+
**Sign in to a specific regional endpoint:**
161+
162+
```azurecli
163+
az acr login --name myregistry --endpoint eastus
164+
```
165+
166+
### Tag and push an image to a regional endpoint
167+
168+
Tag an existing image with the regional endpoint URL, then push it:
169+
170+
```bash
171+
docker tag myapp:v1 myregistry.eastus.geo.azurecr.io/myapp:v1
172+
docker push myregistry.eastus.geo.azurecr.io/myapp:v1
173+
```
174+
175+
### Pull an image from a regional endpoint
176+
177+
```bash
178+
docker pull myregistry.eastus.geo.azurecr.io/myapp:v1
179+
```
180+
181+
## Use regional endpoints with Kubernetes
182+
183+
You can specify regional endpoints directly in Kubernetes deployment manifests. This ensures clusters in specific regions always pull from their local replica.
184+
185+
```yaml
186+
apiVersion: apps/v1
187+
kind: Deployment
188+
metadata:
189+
name: myapp
190+
spec:
191+
template:
192+
spec:
193+
containers:
194+
- name: myapp
195+
image: myregistry.eastus.geo.azurecr.io/myapp:v1
196+
```
197+
198+
For information about authenticating Azure Kubernetes Service (AKS) with ACR, see [Authenticate with Azure Container Registry from Azure Kubernetes Service](https://learn.microsoft.com/azure/container-registry/container-registry-auth-aks).
199+
200+
## Import from specific geo-replicas
201+
202+
When importing images between registries, you can use regional endpoints to import from a specific geo-replica of the source registry. This is useful for scenarios where you want predictable network paths or need to import from a replica in a specific region.
203+
204+
**Import from the global endpoint (Azure chooses the replica):**
205+
206+
```azurecli
207+
az acr import \
208+
--name mydownstreamregistry \
209+
--source myupstreamregistry.azurecr.io/myapp:v1 \
210+
--image myapp:v1
211+
```
212+
213+
**Import from a specific geo-replica using its regional endpoint:**
214+
215+
```azurecli
216+
az acr import \
217+
--name mydownstreamregistry \
218+
--source myupstreamregistry.westeurope.geo.azurecr.io/myapp:v1 \
219+
--image myapp:v1
220+
```
221+
222+
This allows downstream registries to explicitly import from a specific geo-replica of an upstream registry, providing control over which regional replica serves the import operation.
223+
224+
## Network considerations
225+
226+
### Firewall rules
227+
228+
When using regional endpoints, configure your firewall rules to allow access to:
229+
230+
| Endpoint | Purpose |
231+
|----------|---------|
232+
| `myregistry.<region-name>.geo.azurecr.io` | Regional endpoint for registry operations |
233+
| `myregistry.azurecr.io` | Global endpoint (if also used) |
234+
| `myregistry.<region-name>.data.azurecr.io` | Layer downloads (if using private endpoints or dedicated data endpoints) |
235+
| `*.blob.core.windows.net` | Layer downloads (if not using private endpoints or dedicated data endpoints) |
236+
237+
### Private endpoints
238+
239+
For registries with private endpoints enabled, enabling regional endpoints creates an additional private IP address for each geo-replica in all associated virtual networks.
240+
241+
**Example**: If your registry has 3 geo-replicas and you enable regional endpoints, each virtual network with a private endpoint to your registry consumes 3 additional private IP addresses (one per regional endpoint).
242+
243+
For more information, see [Connect privately to an Azure container registry using Azure Private Link](https://learn.microsoft.com/azure/container-registry/container-registry-private-link).
244+
245+
### Dedicated data endpoints
246+
247+
Regional endpoints work with [dedicated data endpoints](https://learn.microsoft.com/azure/container-registry/container-registry-dedicated-data-endpoints). When both features are enabled, layer downloads from regional endpoints automatically redirect to the geo-replica's dedicated data endpoint.
248+
249+
> [!TIP]
250+
> It is recommended to also enable dedicated data endpoints for optimal in-region performance when using regional endpoints:
251+
>
252+
> ```azurecli
253+
> az acr update -n <registry-name> --data-endpoint-enabled true
254+
> ```
255+
256+
## Endpoint types reference
257+
258+
| Endpoint type | URL format | Purpose |
259+
|---------------|------------|---------|
260+
| Global endpoint | `myregistry.azurecr.io` | Login server with Azure-managed routing to any geo-replica |
261+
| Regional endpoint | `myregistry.<region-name>.geo.azurecr.io` | Login server for a specific geo-replica |
262+
| Data endpoint | `myregistry.<region-name>.data.azurecr.io` | Layer downloads for private endpoint or dedicated data endpoint-enabled registries |
263+
264+
## Related content
265+
266+
- [Geo-replication in Azure Container Registry](https://learn.microsoft.com/azure/container-registry/container-registry-geo-replication)
267+
- [Dedicated data endpoints for Azure Container Registry](https://learn.microsoft.com/azure/container-registry/container-registry-dedicated-data-endpoints)
268+
- [Connect privately using Azure Private Link](https://learn.microsoft.com/azure/container-registry/container-registry-private-link)
269+
- [Configure firewall access rules](https://learn.microsoft.com/azure/container-registry/container-registry-firewall-access-rules)

0 commit comments

Comments
 (0)