Skip to content

Commit d831134

Browse files
Merge pull request #308712 from seligj95/vnetrouting
App Service vnet routing update for new api version
2 parents 033bd71 + 5b4ba61 commit d831134

1 file changed

Lines changed: 53 additions & 12 deletions

File tree

articles/app-service/configure-vnet-integration-routing.md

Lines changed: 53 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This how-to article walks you through configuring routing on a regi
44
author: seligj95
55
ms.author: jordanselig
66
ms.topic: how-to
7-
ms.date: 09/02/2025
7+
ms.date: 11/24/2025
88
ms.service: azure-app-service
99
---
1010

@@ -18,61 +18,102 @@ Your app is already integrated using the regional virtual network integration fe
1818

1919
## Configure application routing
2020

21-
Application routing defines what traffic is routed from your app and into the virtual network. We recommend that you use the `vnetRouteAllEnabled` site setting to enable routing of all traffic. Using the configuration setting allows you to audit the behavior with [a built-in policy](https://portal.azure.com/#view/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Ff5c0bfb3-acea-47b1-b477-b0edcdf6edc1). The `WEBSITE_VNET_ROUTE_ALL` app setting can be used, and you can enable all traffic routing with either setting.
21+
Application routing defines what traffic is routed from your app and into the virtual network. You can configure routing at two levels:
22+
23+
- **All traffic routing** (`outboundVnetRouting.allTraffic`): Routes all outbound traffic from your app through the virtual network integration, including application traffic and configuration traffic (such as container image pulls, content share access, and backup operations).
24+
- **Application traffic only** (`outboundVnetRouting.applicationTraffic`): Routes only application-generated traffic through the virtual network integration, while configuration traffic continues to use the public route by default (unless individually configured in the configuration routing section).
25+
26+
We recommend that you use the `outboundVnetRouting.allTraffic` property to enable routing of all traffic. Using this property allows you to audit the behavior with [a built-in policy](https://www.azadvertizer.net/azpolicyadvertizer/a691eacb-474d-47e4-b287-b4813ca44222.html).
27+
28+
> [!NOTE]
29+
> The legacy `vnetRouteAllEnabled` site setting and `WEBSITE_VNET_ROUTE_ALL` app setting are still supported for backwards compatibility.
2230
2331
### Configure in the Azure portal
2432

25-
Follow these steps to disable outbound internet traffic routing in your app through the portal.
33+
Follow these steps to configure application traffic routing in your app through the portal.
2634

27-
:::image type="content" source="./media/configure-vnet-integration-routing/vnetint-route-all-enabled.png" alt-text="Screenshot that shows enabling outbound internet traffic.":::
35+
:::image type="content" source="./media/configure-vnet-integration-routing/vnetint-route-all-enabled.png" alt-text="Screenshot that shows enabling outbound application traffic.":::
2836

2937
1. Go to **Networking** > **Virtual network integration** in your app portal.
30-
1. Uncheck the **Outbound internet traffic** setting.
38+
1. Configure the **Outbound internet traffic** setting:
39+
- **Checked**: Routes application traffic through the virtual network (sets `outboundVnetRouting.applicationTraffic=true`).
40+
- **Unchecked**: Application traffic uses the default route.
41+
42+
1. To route configuration traffic (container image pull, content storage, backup/restore), use the **Configuration routing** checkboxes or configure via Azure CLI.
3143

3244
:::image type="content" source="./media/configure-vnet-integration-routing/vnetint-route-all-disabling.png" alt-text="Screenshot that shows disabling outbound internet traffic.":::
3345

3446
1. Select **Apply** to confirm.
3547

48+
> [!NOTE]
49+
> The portal doesn't provide a direct way to configure `outboundVnetRouting.allTraffic`. To route all traffic (application and configuration) through the virtual network, use the Azure CLI.
50+
3651
### Configure with the Azure CLI
3752

38-
You can also configure **Outbound internet traffic** by using the Azure CLI.
53+
You can also configure outbound traffic routing by using the Azure CLI.
54+
55+
**Route all traffic (application and configuration) through the virtual network:**
56+
57+
```azurecli-interactive
58+
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.outboundVnetRouting.allTraffic=true
59+
```
60+
61+
**Route only application traffic through the virtual network:**
62+
63+
```azurecli-interactive
64+
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.outboundVnetRouting.applicationTraffic=true
65+
```
66+
67+
**Disable all traffic routing through the virtual network:**
3968

4069
```azurecli-interactive
41-
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.vnetRouteAllEnabled=[true|false]
70+
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.outboundVnetRouting.allTraffic=false
4271
```
4372

4473
## Configure configuration routing
4574

4675
When you're using virtual network integration, you can configure how parts of the configuration traffic are managed. By default, configuration traffic goes directly over the public route, but for the mentioned individual components, you can actively configure it to be routed through the virtual network integration.
4776

77+
> [!NOTE]
78+
> If you enable `outboundVnetRouting.allTraffic=true`, all configuration traffic is automatically routed through the virtual network, and the individual configuration routing settings aren't needed. The individual settings described in the following section are useful when you want to route only specific configuration traffic through the virtual network while keeping `outboundVnetRouting.applicationTraffic=true` or when selectively routing configuration components.
79+
4880
### Container image pull
4981

5082
Routing container image pull over virtual network integration can be configured using the Azure CLI.
5183

5284
```azurecli-interactive
53-
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.vnetImagePullEnabled=[true|false]
85+
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.outboundVnetRouting.imagePullTraffic=true
5486
```
5587

56-
We recommend that you use the site property to enable routing image pull traffic through the virtual network integration. Using the configuration setting allows you to audit the behavior with Azure Policy. The existing `WEBSITE_PULL_IMAGE_OVER_VNET` app setting with the value `true` can still be used, and you can enable routing through the virtual network with either setting.
88+
We recommend that you use the `outboundVnetRouting.imagePullTraffic` property to enable routing image pull traffic through the virtual network integration. Using this property allows you to audit the behavior with Azure Policy.
89+
90+
> [!NOTE]
91+
> For backwards compatibility, the legacy `vnetImagePullEnabled` property and the `WEBSITE_PULL_IMAGE_OVER_VNET` app setting with the value `true` are still supported.
5792
5893
### Content share
5994

6095
Routing content share over virtual network integration can be configured using the Azure CLI. In addition to enabling the feature, you must also ensure that any firewall or Network Security Group configured on traffic from the subnet allow traffic to port 443 and 445.
6196

6297
```azurecli-interactive
63-
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.vnetContentShareEnabled=[true|false]
98+
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.outboundVnetRouting.contentShareTraffic=true
6499
```
65100

66-
We recommend that you use the site property to enable content share traffic through the virtual network integration. Using the configuration setting allows you to audit the behavior with Azure Policy. The existing `WEBSITE_CONTENTOVERVNET` app setting with the value `1` can still be used, and you can enable routing through the virtual network with either setting.
101+
We recommend that you use the `outboundVnetRouting.contentShareTraffic` property to enable content share traffic through the virtual network integration. Using this property allows you to audit the behavior with Azure Policy.
102+
103+
> [!NOTE]
104+
> For backwards compatibility, the legacy `vnetContentShareEnabled` property and the `WEBSITE_CONTENTOVERVNET` app setting with the value `1` are still supported.
67105
68106
### Backup/restore
69107

70108
Routing backup traffic over virtual network integration can be configured using the Azure CLI. Database backup isn't supported over the virtual network integration.
71109

72110
```azurecli-interactive
73-
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.vnetBackupRestoreEnabled=[true|false]
111+
az resource update --resource-group <group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.outboundVnetRouting.backupRestoreTraffic=true
74112
```
75113

114+
> [!NOTE]
115+
> For backwards compatibility, the legacy `vnetBackupRestoreEnabled` property is still supported.
116+
76117
## Next steps
77118

78119
- [Enable virtual network integration](./configure-vnet-integration-enable.md)

0 commit comments

Comments
 (0)