Skip to content

Commit 92a3ace

Browse files
authored
Merge pull request #302652 from brianlehr/patch-92
Update default-outbound-access.md
2 parents 1df67f2 + c7e22bb commit 92a3ace

File tree

1 file changed

+34
-60
lines changed

1 file changed

+34
-60
lines changed

articles/virtual-network/ip-services/default-outbound-access.md

Lines changed: 34 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Default outbound access in Azure
2+
title: Default Outbound Access in Azure
33
titleSuffix: Azure Virtual Network
44
description: Learn about default outbound access in Azure.
55
author: mbender-ms
@@ -13,68 +13,55 @@ ms.date: 06/11/2025
1313

1414
# Default outbound access in Azure
1515

16-
In Azure, virtual machines created in a virtual network without explicit outbound connectivity defined are assigned a default outbound public IP address. This IP address enables outbound connectivity from the resources to the Internet. This access is referred to as default outbound access.
16+
In Azure, when a virtual machine (VM) is deployed in a virtual network without an explicitly defined outbound connectivity method, it's automatically assigned an outbound public IP address. This IP address enables outbound connectivity from the resources to the Internet and to other public endpoints within Microsoft. This access is referred to as default outbound access.
1717

1818
Examples of explicit outbound connectivity for virtual machines are:
1919

20-
* Created within a subnet associated to a NAT gateway.
21-
20+
* Deployed in a subnet associated to a NAT gateway.
2221
* Deployed in the backend pool of a standard load balancer with outbound rules defined.
23-
2422
* Deployed in the backend pool of a basic public load balancer.
25-
2623
* Virtual machines with public IP addresses explicitly associated to them.
2724

2825
:::image type="content" source="./media/default-outbound-access/explicit-outbound-options.png" alt-text="Diagram of explicit outbound options.":::
2926

30-
## How is default outbound access provided?
27+
## How and when default outbound access is provided
3128

32-
The public IPv4 address used for the access is called the default outbound access IP. This IP is implicit and belongs to Microsoft. This IP address is subject to change and it's not recommended to depend on it for production workloads.
33-
34-
## When is default outbound access provided?
35-
36-
If you deploy a virtual machine in Azure and it doesn't have explicit outbound connectivity, it's assigned a default outbound access IP.
29+
If a Virtual Machine (VM) is deployed without an explicit outbound connectivity method, Azure assigns it a default outbound public IP address. This IP, known as the default outbound access IP, is owned by Microsoft and may change without notice. It isn't recommended for production workloads.
3730

3831
:::image type="content" source="./media/default-outbound-access/decision-tree-load-balancer-thumb.png" alt-text="Diagram of decision tree for default outbound access." lightbox="./media/default-outbound-access/decision-tree-load-balancer.png":::
3932

4033
>[!Important]
41-
>On September 30, 2025, default outbound access for new deployments will be retired. For more information, see the [official announcement](https://azure.microsoft.com/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/). We recommend that you use one of the explicit forms of connectivity discussed in the following section.
34+
>After September 30, 2025, new virtual networks will default to using private subnets, meaning that an explicit outbound method must be enabled in order to reach public endpoints on the Internet and within Microsoft. For more information, see the [official announcement](https://azure.microsoft.com/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/). We recommend that you use one of the explicit forms of connectivity discussed in the following section.
4235
4336
## Why is disabling default outbound access recommended?
4437

45-
* Secure by default
46-
47-
* It's not recommended to open a virtual network to the Internet by default using the Zero Trust network security principle.
48-
49-
* Explicit vs. implicit
38+
* Security: Default Internet access contradicts Zero Trust principles.
5039

51-
* It's recommended to have explicit methods of connectivity instead of implicit when granting access to resources in your virtual network.
40+
* Clarity: Explicit connectivity is preferred over implicit access.
5241

53-
* Loss of IP address
42+
* Stability: The default outbound IP isn't customer-owned and may change, leading to potential disruptions.
5443

55-
* Customers don't own the default outbound access IP. This IP might change, and any dependency on it could cause issues in the future.
44+
Some examples of configurations that don't work when using default outbound access:
45+
- Multiple NICs on a VM may yield inconsistent outbound IPs
46+
- Scaling VM Scale Sets can result in changing outbound IPs
47+
- Outbound IPs aren't consistent or contiguous across VMSS instances
5648

57-
Some examples of configurations that won't work when using default outbound access:
58-
- When you have multiple NICs on the same VM, default outbound IPs won't consistently be the same across all NICs.
59-
- When scaling up/down Virtual Machine Scale sets, default outbound IPs assigned to individual instances can change.
60-
- Similarly, default outbound IPs aren't consistent or contiguous across VM instances in a Virtual Machine Scale Set.
49+
Additionally,
50+
* Default outbound access IPs don't support fragmented packets
51+
* Default outbound access IPs don't support ICMP pings
6152

6253
## How can I transition to an explicit method of public connectivity (and disable default outbound access)?
6354

64-
There are multiple ways to turn off default outbound access. The following sections describe the options available to you.
65-
66-
### Utilize the Private Subnet parameter
55+
### Private subnets overview
6756

6857
* Creating a subnet to be Private prevents any virtual machines on the subnet from utilizing default outbound access to connect to public endpoints.
69-
70-
* VMs on a Private subnet can still access the Internet using explicit outbound connectivity.
71-
58+
* VMs on a Private subnet can still access the Internet (or any public endpoints within Microsoft) using explicit outbound connectivity.
7259
> [!NOTE]
73-
> Certain services won't function on a virtual machine in a Private Subnet without an explicit method of egress (examples are Windows Activation and Windows Updates).
60+
> Certain services don't function on a virtual machine in a Private Subnet without an explicit method of egress (examples are Windows Activation and Windows Updates).
7461
75-
#### Add the Private subnet feature
62+
### How to configure private subnets
7663

77-
* From the Azure portal, select the subnet and select the checkbox to enable Private subnet as shown below:
64+
* From the Azure portal, select the subnet and select the checkbox to enable Private subnet as shown:
7865

7966
:::image type="content" source="./media/default-outbound-access/private-subnet-portal.png" alt-text="Screenshot of Azure portal showing Private subnet option.":::
8067

@@ -156,56 +143,43 @@ az network vnet subnet update --resource-group rgname --name subnetname --vnet-n
156143
}
157144
```
158145

159-
#### Private subnet limitations
146+
### Limitations of private subnets
160147

161148
* To activate or update virtual machine operating systems, such as Windows, an explicit outbound connectivity method is required.
162149

163-
* In configurations using User Defined Routes (UDRs), any configured routes with [next hop type `Internet`](../virtual-networks-udr-overview.md#next-hop-types-across-azure-tools) will break in a Private subnet.
150+
* In configurations using User Defined Routes (UDRs), any configured routes with [next hop type `Internet`](../virtual-networks-udr-overview.md#next-hop-types-across-azure-tools) break in a Private subnet.
164151

165152
* A common example is the use of a UDR to steer traffic to an upstream network virtual appliance/firewall, with exceptions for certain Azure Service Tags to bypass inspection.
166153

167154
* A default route for the destination 0.0.0.0/0, with a next hop type of Virtual Appliance applies in the general case.
168155

169-
* One or more routes are configured to [Service Tag destinations](../virtual-networks-udr-overview.md#service-tags-for-user-defined-routes) with next hop type `Internet`, to bypass the NVA/firewall. Unless an [explicit outbound connectivity method](#add-an-explicit-outbound-connectivity-method) is also configured for the source of the connection to these destinations, attempts to connection to these destinations will fail, because default outbound access isn't available.
156+
* One or more routes are configured to [Service Tag destinations](../virtual-networks-udr-overview.md#service-tags-for-user-defined-routes) with next hop type `Internet`, to bypass the NVA/firewall. Unless an explicit outbound connectivity method is also configured for the source of the connection to these destinations, attempts to connection to these destinations fail, because default outbound access isn't available.
170157

171158
* This limitation doesn't apply to the use of Service Endpoints, which use a different next hop type `VirtualNetworkServiceEndpoint`. See [Virtual Network service endpoints](../virtual-network-service-endpoints-overview.md).
172159

173160
* Private Subnets aren't applicable to delegated or managed subnets used for hosting PaaS services. In these scenarios, outbound connectivity is managed by the individual service.
161+
162+
>[!Important]
163+
> When a load balancer backend pool is configured by IP address, it uses default outbound access due to an ongoing known issue. For secure by default configuration and applications with demanding outbound needs, associate a NAT gateway to the VMs in your load balancer's backend pool to secure traffic. See more on existing [known issues](../../load-balancer/whats-new.md#known-issues).
174164
175-
### Add an explicit outbound connectivity method
176-
177-
* Associate a NAT gateway to the subnet of your virtual machine.
165+
### Add an explicit outbound method
178166

167+
* Associate a NAT gateway to the subnet of your virtual machine. Note this is the recommended method for the majority of scenarios.
179168
* Associate a standard load balancer configured with outbound rules.
180-
181169
* Associate a Standard public IP to any of the virtual machine's network interfaces (if there are multiple network interfaces, having a single NIC with a standard public IP prevents default outbound access for the virtual machine).
170+
* Add a Firewall or Network Virtual Appliance (NVA) to your virtual network and point traffic to it using a User Defined Route (UDR).
182171

183172
>[!NOTE]
184-
> There's a NIC-level parameter (defaultOutboundConnectivityEnabled) which tracks if default outbound access is being utilized. When an explicit outbound connectivity method is added to a virtual machine, in order for the parameter to be updated, the virtual machine must be rebooted. The Advisor "Add explicit outbound method to disable default outbound" operates by checking for this parameter- so a stop/deallocate of the virtual machine is required for changes to be reflected and the action to clear.
185-
186-
### Use Flexible orchestration mode for Virtual Machine Scale Sets
173+
> There's a NIC-level parameter (defaultOutboundConnectivityEnabled) which tracks if default outbound access is being utilized. When an explicit outbound connectivity method is added to a virtual machine, in order for the parameter to be updated, the virtual machine must be rebooted. The Advisor "Add explicit outbound method to disable default outbound" operates by checking for this parameter- so a stop/deallocate of the virtual machine is required for changes to be reflected and the action to clear. (This is also true in the reverse; in order for a machine to be given a default outbound IP after having the subnet-level parameter set to false, a stop/deallocate of the virtual machine is required.)
174+
175+
#### Use flexible orchestration mode for Virtual Machine Scale Sets
187176

188177
* Flexible scale sets are secure by default. Any instances created via Flexible scale sets don't have the default outbound access IP associated with them, so an explicit outbound method is required. For more information, see [Flexible orchestration mode for Virtual Machine Scale Sets](/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes#what-has-changed-with-flexible-orchestration-mode)
189-
190-
>[!Important]
191-
> When a load balancer backend pool is configured by IP address, it will use default outbound access due to an ongoing known issue. For secure by default configuration and applications with demanding outbound needs, associate a NAT gateway to the VMs in your load balancer's backend pool to secure traffic. See more on existing [known issues](../../load-balancer/whats-new.md#known-issues).
192-
193-
## If I need outbound access, what is the recommended way?
194-
195-
NAT gateway is the recommended approach to have explicit outbound connectivity. A firewall can also be used to provide this access.
196-
197-
## Constraints
198-
199-
* Default outbound access IP doesn't support fragmented packets.
200-
201-
* Default outbound access IP doesn't support ICMP pings.
202178

203179
## Next steps
204180

205-
For more information on outbound connections in Azure and Azure NAT Gateway, see:
181+
For more information on outbound connections in Azure, see:
206182

207183
* [Source Network Address Translation (SNAT) for outbound connections](../../load-balancer/load-balancer-outbound-connections.md).
208184

209185
* [What is Azure NAT Gateway?](../../nat-gateway/nat-overview.md)
210-
211-
* [Azure NAT Gateway FAQ](../../nat-gateway/faq.yml)

0 commit comments

Comments
 (0)