An Azure service that provides private connectivity from a virtual network to Azure platform as a service, customer-owned, or Microsoft partner services.
For this scenario, a service endpoint is a valid option, but the documented recommendation is to use private endpoints in most network scenarios.
Key documented differences:
- Microsoft recommendation
- Azure Container Registry recommends private endpoints instead of service endpoints in most network scenarios.
- ACR does not support having both configured from a virtual network at the same time. If moving to service endpoints, private link access from VNets must be removed accordingly.
- When private endpoints are preferable
- Private endpoints provide access to ACR over private IP addresses inside the VNet.
- They also support private access from on-premises through ExpressRoute, private peering, or VPN gateway.
- If public network access is disabled, private endpoints allow the registry and its dedicated data endpoints to be reachable only through the private endpoint.
- Private endpoints are described as the most secure way to control network access from clients in a virtual network.
- When service endpoints can fit
- Service endpoints secure the registry’s public IP address so that only selected VNets/subnets can access it over the Azure backbone.
- For an Azure-only consumer base where access is limited to known VNets/subnets, this model can fit the stated requirement.
- Service endpoints for ACR are available only on the Premium SKU.
- Each Premium registry supports a maximum of 100 virtual network rules.
- Functional limitations if moving to service endpoints
- Service endpoints for ACR are currently preview.
- Only an AKS cluster or Azure VM can be used as a host to access ACR by using a service endpoint. Other Azure services, including Azure Container Instances, aren’t supported.
- Service endpoints for ACR can’t be configured in the Azure portal.
- Service endpoints aren’t supported in Azure US Government or Azure operated by 21Vianet.
- Functional considerations if staying with private endpoints
- If public network access is disabled and private endpoints are used, some functionality changes:
- Certain trusted services require enabling a bypass setting.
- Azure DevOps Services can’t access the registry once public network access is disabled.
- Private endpoints aren’t supported with agents managed by Azure DevOps; a self-hosted agent with network line of sight is required.
- Repositories and tags can’t be listed from outside the virtual network by Azure portal, Azure CLI, or other tools.
- If public network access is disabled and private endpoints are used, some functionality changes:
- Scale limits
- Private endpoints: maximum 200 private endpoints per Premium registry.
- Service endpoints: maximum 100 virtual network rules per Premium registry.
For the proposed architecture change:
- Yes, using service endpoints directly from the consuming VNets/subnets is supported for ACR if the consumers are compatible hosts and the registry is Premium.
- Yes, removing the centralized private endpoint and restricting ACR to the required VNets/subnets through service endpoint rules is consistent with the documented service-endpoint model.
- No, private link and service endpoint access should not be kept together for the same VNet-based access path.
For the centralization question:
- The documentation supports creating private endpoints in VNets and describes subnet/IP planning, but it does not state that centralizing one ACR private endpoint for many VNets is a recommended architecture.
- The documentation also does not provide performance guidance tied to traffic volume such as 2 TB/day, VNet peering count, or Azure Firewall traversal.
- Because of that, no documented conclusion can be made here that the private endpoint itself, or the centralized topology, is the cause of latency.
Practical decision based on the documented guidance:
- Choose private endpoints when the priority is strongest network isolation, private IP-based access, or future need for private access from on-premises/VPN/ExpressRoute.
- Choose service endpoints when Azure-only consumers on supported hosts need access through selected VNets/subnets and the preview limitations are acceptable.
In this specific case, the strongest documented reason to keep private endpoints is security and private IP-based access. The strongest documented reason to consider service endpoints is that the consumers are Azure VNets only and service endpoints can restrict access to selected VNets/subnets over the Azure backbone. The documentation does not establish a performance advantage for either option in the described 2 TB/day topology.
References: