You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-functions/ip-addresses.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: IP addresses in Azure Functions
3
3
description: Learn how to find inbound and outbound IP addresses for function apps, and what causes them to change.
4
4
5
5
ms.topic: conceptual
6
-
ms.date: 06/08/2023
6
+
ms.date: 05/05/2025
7
7
---
8
8
9
9
# IP addresses in Azure Functions
@@ -19,7 +19,7 @@ IP addresses are associated with function apps, not with individual functions. I
19
19
20
20
## Function app inbound IP address
21
21
22
-
Each function app starts out by using a single inbound IP address. When running in a Consumption or Premium plan, additional inbound IP addresses may be added as event-driven scale-out occurs. To find the inbound IP address or addresses being used by your app, use the `nslookup` utility from your local computer, as in the following example:
22
+
Each function app starts out by using a single inbound IP address. When a function app runs in a Consumption or Premium plan, more inbound IP addresses might be added as event-driven scale-out occurs. To find the inbound IP address or addresses being used by your app, use the `nslookup` utility from your local computer, as in the following example:
23
23
24
24
```command
25
25
nslookup <APP_NAME>.azurewebsites.net
@@ -29,19 +29,19 @@ In this example, replace `<APP_NAME>` with your function app name. If your app u
29
29
30
30
## <aname="find-outbound-ip-addresses"></a>Function app outbound IP addresses
31
31
32
-
Each function app has a set of available outbound IP addresses. Any outbound connection from a function, such as to a back-end database, uses one of the available outbound IP addresses as the origin IP address. You can't know beforehand which IP address a given connection will use. For this reason, your back-end service must open its firewall to all of the function app's outbound IP addresses.
32
+
Each function app has a set of available outbound IP addresses. Any outbound connection from a function, such as to a back-end database, uses one of the available outbound IP addresses as the origin IP address. You can't know beforehand which IP address a given connection uses. For this reason, your back-end service must open its firewall to all of the function app's outbound IP addresses.
33
33
34
34
> [!TIP]
35
-
> For some platform-level features such as [Key Vault references](../app-service/app-service-key-vault-references.md), the origin IP might not be one of the outbound IPs, and you should not configure the target resource to rely on these specific addresses. It is recommended that the app instead use a virtual network integration, as the platform will route traffic to the target resource through that network.
35
+
> For some platform-level features such as [Key Vault references](../app-service/app-service-key-vault-references.md), the origin IP might not be one of the outbound IPs, and you shouldn't configure the target resource to rely on these specific addresses. We recommend that the app instead uses a virtual network integration, because the platform routes traffic to the target resource through that network.
36
36
37
37
To find the outbound IP addresses available to a function app:
38
38
39
39
# [Azure portal](#tab/portal)
40
40
41
41
1. Sign in to the [Azure Resource Explorer](https://resources.azure.com).
The set of `outboundIpAddresses` is currently available to the function app. The set of `possibleOutboundIpAddresses` includes IP addresses that will be available only if the function app [scales to other pricing tiers](#outbound-ip-address-changes).
63
+
The set of `outboundIpAddresses` is currently available to the function app. The set of `possibleOutboundIpAddresses` includes IP addresses that are available only if the function app [scales to other pricing tiers](#outbound-ip-address-changes).
64
64
65
65
> [!NOTE]
66
-
> When a function app that runs on the [Consumption plan](consumption-plan.md) or the [Premium plan](functions-premium-plan.md) is scaled, a new range of outbound IP addresses may be assigned. When running on either of these plans, you can't rely on the reported outbound IP addresses to create a definitive allowlist. To be able to include all potential outbound addresses used during dynamic scaling, you'll need to add the entire data center to your allowlist.
66
+
> When a function app that runs on the [Consumption plan](consumption-plan.md) or the [Premium plan](functions-premium-plan.md) is scaled, a new range of outbound IP addresses might be assigned. When running on either of these plans, you can't rely on the reported outbound IP addresses to create a definitive allowlist. To be able to include all potential outbound addresses used during dynamic scaling, you need to add the entire data center to your allowlist.
67
67
68
68
## Data center outbound IP addresses
69
69
@@ -101,21 +101,21 @@ The inbound IP address **might** change when you:
101
101
- Delete the last function app in a resource group and region combination, and re-create it.
102
102
- Delete a TLS binding, such as during [certificate renewal](../app-service/configure-ssl-certificate.md#renew-an-expiring-certificate).
103
103
104
-
When your function app runs in a [Consumption plan](consumption-plan.md) or in a [Premium plan](functions-premium-plan.md), the inbound IP address might also change even when you haven't taken any actions such as the ones [listed above](#inbound-ip-address-changes).
104
+
When your function app runs in a [Consumption plan](consumption-plan.md) or in a [Premium plan](functions-premium-plan.md), the inbound IP address might also change even when you haven't taken any actions such as the ones here.
105
105
106
106
## Outbound IP address changes
107
107
108
108
The relative stability of the outbound IP address depends on the hosting plan.
109
109
110
110
### Consumption and Premium plans
111
111
112
-
Because of autoscaling behaviors, the outbound IP can change at any time when running on a [Consumption plan](consumption-plan.md) or in a [Premium plan](functions-premium-plan.md).
112
+
Because of autoscaling behaviors, the outbound IP can change at any time when running on a [Consumption plan](consumption-plan.md) or in a [Premium plan](functions-premium-plan.md).
113
113
114
-
If you need to control the outbound IP address of your function app, such as when you need to add it to an allow list, consider implementing a [virtual network NAT gateway](#virtual-network-nat-gateway-for-outbound-static-ip) while running in a Premium hosting plan. You can also do this by running in a Dedicated (App Service) plan.
114
+
If you need to control the outbound IP address of your function app, such as when you need to add it to an allowlist, consider implementing a [virtual network NAT gateway](#virtual-network-nat-gateway-for-outbound-static-ip) while running in a Premium hosting plan. You can also do this by running in a Dedicated (App Service) plan.
115
115
116
116
### Dedicated plans
117
117
118
-
When running on Dedicated (App Service) plans, the set of available outbound IP addresses for a function app might change when you:
118
+
When a function app runs on Dedicated (App Service) plans, the set of available outbound IP addresses for a function app might change when you:
119
119
120
120
* Take any action that can change the inbound IP address.
121
121
* Change your Dedicated (App Service) plan pricing tier. The list of all possible outbound IP addresses your app can use, for all pricing tiers, is in the `possibleOutboundIPAddresses` property. See [Find outbound IPs](#find-outbound-ip-addresses).
@@ -126,34 +126,34 @@ Use the following procedure to deliberately force an outbound IP address change
126
126
127
127
1. Scale your App Service plan up or down between Standard and Premium v2 pricing tiers.
128
128
129
-
2. Wait 10 minutes.
129
+
1. Wait 10 minutes.
130
130
131
-
3. Scale back to where you started.
131
+
1. Scale back to where you started.
132
132
133
133
## IP address restrictions
134
134
135
-
You can configure a list of IP addresses that you want to allow or deny access to a function app. For more information, see [Azure App Service Static IP Restrictions](../app-service/app-service-ip-restrictions.md).
135
+
You can configure a list of IP addresses that you want to allow or deny access to a function app. For more information, see [Azure App Service access restrictions](../app-service/app-service-ip-restrictions.md).
136
136
137
137
## Dedicated IP addresses
138
138
139
139
There are several strategies to explore when your function app requires static, dedicated IP addresses.
140
140
141
141
### Virtual network NAT gateway for outbound static IP
142
142
143
-
You can control the IP address of outbound traffic from your functions by using a virtual network NAT gateway to direct traffic through a static public IP address. You can use this topology when running in a [Premium plan](functions-premium-plan.md) or in a [Dedicated (App Service) plan](dedicated-plan.md). To learn more, see [Tutorial: Control Azure Functions outbound IP with an Azure virtual network NAT gateway](functions-how-to-use-nat-gateway.md).
143
+
You can control the IP address of outbound traffic from your functions by using a virtual network NAT gateway to direct traffic through a static public IP address. You can use this topology when running in a [Premium plan](functions-premium-plan.md) or in a [Dedicated hosting plan](dedicated-plan.md). To learn more, see [Tutorial: Control Azure Functions outbound IP with an Azure virtual network NAT gateway](functions-how-to-use-nat-gateway.md).
144
144
145
145
### App Service Environments
146
146
147
-
For full control over the IP addresses, both inbound and outbound, we recommend [App Service Environments](../app-service/environment/intro.md) (the [Isolated tier](https://azure.microsoft.com/pricing/details/app-service/) of App Service plans). For more information, see [App Service Environment IP addresses](../app-service/environment/network-info.md#ip-addresses) and [How to control inbound traffic to an App Service Environment](../app-service/environment/app-service-app-service-environment-control-inbound-traffic.md).
147
+
For full control over the IP addresses, both inbound and outbound, we recommend [App Service Environments](../app-service/environment/intro.md) (the [Isolated tier](https://azure.microsoft.com/pricing/details/app-service/) of App Service plans). For more information, see [App Service Environment overview](../app-service/environment/overview).
148
148
149
149
To find out if your function app runs in an App Service Environment:
150
150
151
151
# [Azure portal](#tab/portal)
152
152
153
153
1. Sign in to the [Azure portal](https://portal.azure.com).
154
-
2. Navigate to the function app.
155
-
3. Select the **Overview** tab.
156
-
4. The App Service plan tier appears under **App Service plan/pricing tier**. The App Service Environment pricing tier is **Isolated**.
154
+
1. Navigate to the function app.
155
+
1. Select the **Overview** tab.
156
+
1. The App Service plan tier appears under **App Service plan/pricing tier**. The App Service Environment pricing tier is **Isolated**.
0 commit comments