Skip to content

Commit e9be7e9

Browse files
committed
updated based on reviewer comments
thank you for the feedback, updated content based on comments
1 parent 3c1bb15 commit e9be7e9

3 files changed

Lines changed: 62 additions & 58 deletions

File tree

articles/private-link/availability.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ Azure Private Link enables you to access Azure PaaS Services (for example, Azure
1616

1717
> [!IMPORTANT]
1818
> Azure Private Link is now generally available. Both Private Endpoint and Private Link service (service behind standard load balancer) are generally available. For known limitations, see [Private Endpoint](private-endpoint-overview.md#limitations) and [Private Link Service](private-link-service-overview.md#limitations).
19-
> A new feature, Private Link Service Direct Connect, which allows connection to any routable destination IP address is now in public preview. For more information and known limitations, see [Private Link Service Direct Connect](configure-private-link-service-direct-connect.md)
19+
20+
> [!NOTE]
21+
> The feature Private Link Service Direct Connect, which allows you to connect to any privately routable destination IP address, is now in public preview. For more information and known limitations, see [Private Link Service Direct Connect](configure-private-link-service-direct-connect.md)
2022
2123
## Service availability
2224

articles/private-link/configure-private-link-service-direct-connect.md

Lines changed: 58 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
---
2-
title: Configure Private Link Service Direct Connect
3-
description: Learn about Azure Private Link Service Direct Connect.
2+
title: Configure Private Link service Direct Connect
3+
titleSuffix: Azure Private Link
4+
description: Learn about Azure Private Link service Direct Connect.
45
services: private-link
56
author: altheapm
67
ms.service: azure-private-link
7-
ms.topic: concept-article
8+
ms.topic: how-to
89
ms.date: 07/14/2025
910
ms.author: altheabata
1011
ms.reviewer: altheabata
11-
# Customer intent: "As a service provider, I want to configure an Azure Private Link Service for my application to any privately routable destination address, so that I can enable secure private access for consumers from their virtual networks."
12+
ms.custom: references_regions
13+
# Customer intent: "As a service provider, I want to configure an Azure Private Link service for my application to any privately routable destination address, so that I can enable secure private access for consumers from their virtual networks."
1214
---
1315

14-
# Create a Private Link Service Direct Connect
16+
# Configure Private Link service Direct Connect
1517

16-
Customers can now connect a Private Link Service to any privately routable destination IP address.
18+
Customers can now connect a Private Link service to any privately routable destination IP address.
1719

18-
Azure Private Link Service allows service providers to make their applications available to their customers privately and securely by placing them behind a standard load balancer. Private Link Service Direct Connect expands on this capability and allows customers to directly connect a private link service to any privately routable destination IP address. This configuration is particularly useful for scenarios that provide private connectivity to applications that require direct IP-based routing, such as database connections or custom applications.
20+
Azure Private Link service allows service providers to make their applications available to their customers privately and securely by placing them behind a standard load balancer. Private Link service Direct Connect expands on this capability and allows customers to directly connect a private link service to any privately routable destination IP address. This configuration is particularly useful for scenarios that provide private connectivity to applications that require direct IP-based routing, such as database connections or custom applications.
1921

20-
This article explains Private Link Service Direct Connect and how to create it using Azure PowerShell, Azure CLI, or Terraform.
22+
This article explains Private Link service Direct Connect and how to create it using Azure PowerShell, Azure CLI, or Terraform.
2123

2224
> [!NOTE]
2325
> This feature is in public preview and is available in select regions. Review all considerations before enabling it for your subscription.
@@ -28,13 +30,13 @@ This article explains Private Link Service Direct Connect and how to create it u
2830
- Azure PowerShell installed locally or use Azure Cloud Shell. For more information, see [Install Azure PowerShell](/powershell/azure/install-azure-powershell).
2931
- Azure CLI installed locally or use Azure Cloud Shell. For more information, see [Install the Azure CLI](/cli/azure/install-azure-cli).
3032
- For Terraform: [Install and configure Terraform](/azure/developer/terraform/quickstart-configure).
31-
- Enable the feature flag Microsoft.Network/AllowPrivateLinkServiceUDR in your subscription. Follow the instructions to register via Azure CLI or PowerShell: [Enable Azure preview features](/azure/azure-resource-manager/management/preview-features).
33+
- Enable the feature flag Microsoft.Network/AllowPrivateLinkserviceUDR in your subscription. Follow the instructions to register via Azure CLI or PowerShell: [Enable Azure preview features](/azure/azure-resource-manager/management/preview-features).
3234
- A virtual network with a subnet.
3335
- A routable IP address to set as the destination IP address.
3436

35-
## What is Private Link Service Direct Connect?
37+
## What is Private Link service Direct Connect?
3638

37-
Private Link Service (PLS) Direct Connect allows you to:
39+
Private Link service (PLS) Direct Connect allows you to:
3840

3941
- **Route traffic directly** to a specific, privately routable destination IP address within your virtual network.
4042
- **Bypass load balancer requirements** for scenarios that need direct IP connectivity.
@@ -51,13 +53,13 @@ Private Link Service (PLS) Direct Connect allows you to:
5153

5254
## Key requirements
5355

54-
1. **Provide a minimum of 2 IP configurations**: For this feature, at least 2 IP configurations in multiples of 2 are required for high availability.
55-
1. **Specify a static destination IP address**: The target IP must be reachable within your virtual network.
56-
1. **Disable the privateLinkServiceNetworkPolicies property** on the subnet: This property is not needed for this feature.
56+
- **Provide a minimum of 2 IP configurations**: For this feature, at least 2 IP configurations in multiples of 2 are required for high availability.
57+
- **Specify a static destination IP address**: The target IP must be reachable within your virtual network.
58+
- **Disable the privateLinkserviceNetworkPolicies property** on the subnet: This property is not needed for this feature.
5759

5860
## Limitations
5961

60-
Note these limitations when using Private Link Service Direct Connect:
62+
Note these limitations when using Private Link service Direct Connect:
6163

6264
- **Minimum 2 IP configurations required**: At least 2 IP addresses, or multiples of 2 (up to 8) are required to deploy a PLS Direct Connect.
6365
- **Maximum of 10 PLS per subscription**: There is a hardware limitation of 10 PLS per region per subscription.
@@ -68,15 +70,15 @@ Note these limitations when using Private Link Service Direct Connect:
6870

6971
## Considerations
7072

71-
- **No migration support**: Deploying this feature requires a new Private Link Service. Migration of existing private link services isn't supported.
72-
- **Available client support**: Use PowerShell, CLI, or Terraform to deploy this new Private Link Service. Portal client support is pending.
73+
- **No migration support**: Deploying this feature requires a new Private Link service. Migration of existing private link services isn't supported.
74+
- **Available client support**: Use PowerShell, CLI, or Terraform to deploy this new Private Link service. Portal client support is pending.
7375
- **IP forwarding is enabled**: If there is a policy on the subscription that disables IP forwarding, the policy must be disabled to allow proper configuration.
7476

75-
## Create a Private Link Service Direct Connect
77+
## Create a Private Link service Direct Connect
7678

7779
# [PowerShell](#tab/powershell)
7880

79-
Use this script to create a Private Link Service Direct Connect using Azure PowerShell:
81+
Use this script to create a Private Link service Direct Connect using Azure PowerShell:
8082

8183
```powershell
8284
# Define variables
@@ -91,13 +93,13 @@ $destinationIP = "10.0.1.100"
9193
New-AzResourceGroup -Name $resourceGroupName -Location $location
9294
9395
# Create virtual network (corrected parameter name)
94-
$subnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix "10.0.1.0/24" -PrivateLinkServiceNetworkPoliciesFlag "Disabled"
96+
$subnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix "10.0.1.0/24" -PrivateLinkserviceNetworkPoliciesFlag "Disabled"
9597
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroupName -Location $location -AddressPrefix "10.0.0.0/16" -Subnet $subnet
9698
9799
# Get subnet reference
98100
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $subnetName
99101
100-
# Create IP configurations for Private Link Service (minimum 2 or in multiples of 2 required)
102+
# Create IP configurations for Private Link service (minimum 2 or in multiples of 2 required)
101103
$ipConfig1 = @{
102104
Name = "ipconfig1"
103105
PrivateIpAllocationMethod = "Dynamic"
@@ -112,22 +114,22 @@ $ipConfig2 = @{
112114
Primary = $false
113115
}
114116
115-
# Create Private Link Service Direct Connect
116-
$pls = New-AzPrivateLinkService `
117+
# Create Private Link service Direct Connect
118+
$pls = New-AzPrivateLinkservice `
117119
-Name $plsName `
118120
-ResourceGroupName $resourceGroupName `
119121
-Location $location `
120122
-IpConfiguration @($ipConfig1, $ipConfig2) `
121123
-DestinationIPAddress $destinationIP
122124
123-
Write-Output "Private Link Service created successfully!"
124-
Write-Output "Private Link Service ID: $($pls.Id)"
125+
Write-Output "Private Link service created successfully!"
126+
Write-Output "Private Link service ID: $($pls.Id)"
125127
Write-Output "Destination IP Address: $destinationIP"
126128
```
127129

128130
# [Azure CLI](#tab/cli)
129131

130-
Use this script to create a Private Link Service Direct Connect using Azure CLI:
132+
Use this script to create a Private Link service Direct Connect using Azure CLI:
131133

132134
```azurecli
133135
# Define variables
@@ -149,14 +151,14 @@ az network vnet create \
149151
--subnet-name $subnetName \
150152
--subnet-prefix 10.0.1.0/24
151153
152-
# Disable Private Link Service network policies on subnet
154+
# Disable Private Link service network policies on subnet
153155
az network vnet subnet update \
154156
--resource-group $resourceGroupName \
155157
--vnet-name $vnetName \
156158
--name $subnetName \
157159
--disable-private-link-service-network-policies true
158160
159-
# Create Private Link Service Direct Connect
161+
# Create Private Link service Direct Connect
160162
az network private-link-service create \
161163
--resource-group $resourceGroupName \
162164
--name $plsName \
@@ -183,13 +185,13 @@ az network private-link-service create \
183185
}
184186
]'
185187
186-
echo "Private Link Service created successfully!"
188+
echo "Private Link service created successfully!"
187189
echo "Destination IP Address: $destinationIP"
188190
```
189191

190192
# [Terraform](#tab/terraform)
191193

192-
Use this Terraform configuration to create a Private Link Service Direct Connect:
194+
Use this Terraform configuration to create a Private Link service Direct Connect:
193195

194196
```hcl
195197
# Configure the Azure Provider
@@ -230,18 +232,18 @@ resource "azurerm_virtual_network" "vnet" {
230232
address_space = ["10.0.0.0/16"]
231233
}
232234
233-
# Create subnet for Private Link Service
235+
# Create subnet for Private Link service
234236
resource "azurerm_subnet" "pls_subnet" {
235237
name = "pls-subnet"
236238
resource_group_name = azurerm_resource_group.rg.name
237239
virtual_network_name = azurerm_virtual_network.vnet.name
238240
address_prefixes = ["10.0.1.0/24"]
239241
240-
# Required for Private Link Service Direct Connect
242+
# Required for Private Link service Direct Connect
241243
private_link_service_network_policies_enabled = false
242244
}
243245
244-
# Create Private Link Service Direct Connect
246+
# Create Private Link service Direct Connect
245247
resource "azurerm_private_link_service" "pls" {
246248
name = "${random_pet.rg_name.id}-pls"
247249
location = azurerm_resource_group.rg.location
@@ -264,14 +266,14 @@ resource "azurerm_private_link_service" "pls" {
264266
}
265267
}
266268
267-
# Output the Private Link Service details
269+
# Output the Private Link service details
268270
output "private_link_service_id" {
269-
description = "ID of the Private Link Service"
271+
description = "ID of the Private Link service"
270272
value = azurerm_private_link_service.pls.id
271273
}
272274
273275
output "private_link_service_alias" {
274-
description = "Alias of the Private Link Service"
276+
description = "Alias of the Private Link service"
275277
value = azurerm_private_link_service.pls.alias
276278
}
277279
@@ -288,9 +290,9 @@ output "resource_group_name" {
288290

289291
---
290292

291-
## Create a Private Endpoint to test connectivity
293+
## Create a private endpoint to test connectivity
292294

293-
After creating your Private Link Service Direct Connect, create a Private Endpoint to test the connectivity:
295+
After creating your Private Link service Direct Connect, create a Private Endpoint to test the connectivity:
294296

295297
# [PowerShell](#tab/powershell-pe)
296298

@@ -300,7 +302,7 @@ $peResourceGroupName = "rg-pe-test"
300302
$peVnetName = "pe-vnet"
301303
$peSubnetName = "pe-subnet"
302304
$privateEndpointName = "pe-to-pls"
303-
$privateLinkServiceId = "/subscriptions/your-subscription-id/resourceGroups/rg-pls-destinationip/providers/Microsoft.Network/privateLinkServices/pls-directconnect"
305+
$privateLinkserviceId = "/subscriptions/your-subscription-id/resourceGroups/rg-pls-destinationip/providers/Microsoft.Network/privateLinkservices/pls-directconnect"
304306
305307
# Create resource group for PE
306308
New-AzResourceGroup -Name $peResourceGroupName -Location $location
@@ -313,12 +315,12 @@ $peVnet = New-AzVirtualNetwork -Name $peVnetName -ResourceGroupName $peResourceG
313315
$peSubnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $peVnet -Name $peSubnetName
314316
315317
# Create Private Endpoint
316-
$privateLinkServiceConnection = @{
318+
$privateLinkserviceConnection = @{
317319
Name = "connection-to-pls"
318-
PrivateLinkServiceId = $privateLinkServiceId
320+
PrivateLinkserviceId = $privateLinkserviceId
319321
}
320322
321-
$privateEndpoint = New-AzPrivateEndpoint -Name $privateEndpointName -ResourceGroupName $peResourceGroupName -Location $location -Subnet $peSubnet -PrivateLinkServiceConnection $privateLinkServiceConnection
323+
$privateEndpoint = New-AzPrivateEndpoint -Name $privateEndpointName -ResourceGroupName $peResourceGroupName -Location $location -Subnet $peSubnet -PrivateLinkserviceConnection $privateLinkserviceConnection
322324
323325
Write-Output "Private Endpoint created: $($privateEndpoint.Name)"
324326
```
@@ -331,7 +333,7 @@ peResourceGroupName="rg-pe-test"
331333
peVnetName="pe-vnet"
332334
peSubnetName="pe-subnet"
333335
privateEndpointName="pe-to-pls"
334-
privateLinkServiceId="/subscriptions/your-subscription-id/resourceGroups/rg-pls-destinationip/providers/Microsoft.Network/privateLinkServices/pls-with-destinationip"
336+
privateLinkserviceId="/subscriptions/your-subscription-id/resourceGroups/rg-pls-destinationip/providers/Microsoft.Network/privateLinkservices/pls-with-destinationip"
335337
336338
# Create resource group for PE
337339
az group create --name $peResourceGroupName --location $location
@@ -357,7 +359,7 @@ az network private-endpoint create \
357359
--name $privateEndpointName \
358360
--vnet-name $peVnetName \
359361
--subnet $peSubnetName \
360-
--private-connection-resource-id $privateLinkServiceId \
362+
--private-connection-resource-id $privateLinkserviceId \
361363
--connection-name "connection-to-pls"
362364
363365
echo "Private Endpoint created: $privateEndpointName"
@@ -411,32 +413,32 @@ output "private_endpoint_ip" {
411413

412414
## Verify the configuration
413415

414-
After creating both the Private Link Service and Private Endpoint, verify the configuration:
416+
After creating both the Private Link service and Private Endpoint, verify the configuration:
415417

416-
### Check Private Link Service status
418+
### Check Private Link service status
417419

418420
# [PowerShell](#tab/verify-powershell)
419421

420422
```powershell
421-
# Get Private Link Service details
422-
$pls = Get-AzPrivateLinkService -Name $plsName -ResourceGroupName $resourceGroupName
423+
# Get Private Link service details
424+
$pls = Get-AzPrivateLinkservice -Name $plsName -ResourceGroupName $resourceGroupName
423425
424-
Write-Output "Private Link Service: $($pls.Name)"
426+
Write-Output "Private Link service: $($pls.Name)"
425427
Write-Output "Provisioning State: $($pls.ProvisioningState)"
426428
Write-Output "Destination IP: $($pls.DestinationIPAddress)"
427429
Write-Output "IP Configurations: $($pls.IpConfigurations.Count)"
428430
429431
# Check Private Endpoint connections
430432
$connections = $pls.PrivateEndpointConnections
431433
foreach ($connection in $connections) {
432-
Write-Output "PE Connection: $($connection.Name) - Status: $($connection.PrivateLinkServiceConnectionState.Status)"
434+
Write-Output "PE Connection: $($connection.Name) - Status: $($connection.PrivateLinkserviceConnectionState.Status)"
433435
}
434436
```
435437

436438
# [Azure CLI](#tab/verify-cli)
437439

438440
```azurecli
439-
# Get Private Link Service details
441+
# Get Private Link service details
440442
az network private-link-service show \
441443
--name $plsName \
442444
--resource-group $resourceGroupName \
@@ -446,7 +448,7 @@ az network private-link-service show \
446448
az network private-link-service show \
447449
--name $plsName \
448450
--resource-group $resourceGroupName \
449-
--query "privateEndpointConnections[].{name:name, status:privateLinkServiceConnectionState.status}"
451+
--query "privateEndpointConnections[].{name:name, status:privateLinkserviceConnectionState.status}"
450452
```
451453

452454
---
@@ -500,15 +502,15 @@ terraform destroy -auto-approve
500502

501503
The feature flag isn't visible on portal. How do I register for the feature?
502504

503-
- Register the feature flag Microsoft.Network/AllowPrivateLinkServiceUDR via Azure CLI or PowerShell, see this for how-to: [Set up preview features in Azure subscription - Azure Resource Manager | Microsoft Learn](/azure/azure-resource-manager/management/preview-features).
505+
- Register the feature flag Microsoft.Network/AllowPrivateLinkserviceUDR via Azure CLI or PowerShell, see this for how-to: [Set up preview features in Azure subscription - Azure Resource Manager | Microsoft Learn](/azure/azure-resource-manager/management/preview-features).
504506

505-
Does the property privateLinkServiceNetworkPolicies ever need to be set to True, such as by GA?
507+
Does the property privateLinkserviceNetworkPolicies ever need to be set to True, such as by GA?
506508

507-
- The property privateLinkServiceNetworkPolicies is not needed for this feature, so set it to false.
509+
- The property privateLinkserviceNetworkPolicies is not needed for this feature, so set it to false.
508510

509511
## Next steps
510512

511513
- [Azure Private Link overview](/azure/private-link/private-link-overview)
512-
- [Azure Private Link Service overview](/azure/private-link/private-link-service-overview)
514+
- [Azure Private Link service overview](/azure/private-link/private-link-service-overview)
513515
- [Create a private endpoint using Terraform](/azure/private-link/create-private-endpoint-terraform)
514516
- [Troubleshoot Azure Private Link connectivity problems](/azure/private-link/troubleshoot-private-link-connectivity)

articles/private-link/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
- name: Create a Private Link service - ARM template
5151
href: create-private-link-service-template.md
5252
displayName: Azure Resource Manager
53-
- name: Configure Private Link Service Direct Connect
53+
- name: Configure Private Link service Direct Connect
5454
href: configure-private-link-service-direct-connect.md
5555
- name: Disable SNAT for traffic through NVA
5656
href: private-link-disable-snat.md

0 commit comments

Comments
 (0)