Skip to content

Commit 174e36a

Browse files
Link check and Acrolinx.
1 parent 513601b commit 174e36a

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

articles/azure-functions/ip-addresses.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: IP addresses in Azure Functions
33
description: Learn how to find inbound and outbound IP addresses for function apps, and what causes them to change.
44

55
ms.topic: conceptual
6-
ms.date: 06/08/2023
6+
ms.date: 05/05/2025
77
---
88

99
# IP addresses in Azure Functions
@@ -19,7 +19,7 @@ IP addresses are associated with function apps, not with individual functions. I
1919

2020
## Function app inbound IP address
2121

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:
2323

2424
```command
2525
nslookup <APP_NAME>.azurewebsites.net
@@ -29,19 +29,19 @@ In this example, replace `<APP_NAME>` with your function app name. If your app u
2929

3030
## <a name="find-outbound-ip-addresses"></a>Function app outbound IP addresses
3131

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.
3333

3434
> [!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.
3636
3737
To find the outbound IP addresses available to a function app:
3838

3939
# [Azure portal](#tab/portal)
4040

4141
1. Sign in to the [Azure Resource Explorer](https://resources.azure.com).
42-
2. Select **subscriptions > {your subscription} > providers > Microsoft.Web > sites**.
43-
3. In the JSON panel, find the site with an `id` property that ends in the name of your function app.
44-
4. See `outboundIpAddresses` and `possibleOutboundIpAddresses`.
42+
1. Select **subscriptions > {your subscription} > providers > Microsoft.Web > sites**.
43+
1. In the JSON panel, find the site with an `id` property that ends in the name of your function app.
44+
1. See `outboundIpAddresses` and `possibleOutboundIpAddresses`.
4545

4646
# [Azure CLI](#tab/azurecli)
4747

@@ -60,10 +60,10 @@ $functionApp.PossibleOutboundIPAddress
6060

6161
---
6262

63-
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).
6464

6565
> [!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.
6767
6868
## Data center outbound IP addresses
6969

@@ -101,21 +101,21 @@ The inbound IP address **might** change when you:
101101
- Delete the last function app in a resource group and region combination, and re-create it.
102102
- Delete a TLS binding, such as during [certificate renewal](../app-service/configure-ssl-certificate.md#renew-an-expiring-certificate).
103103

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.
105105

106106
## Outbound IP address changes
107107

108108
The relative stability of the outbound IP address depends on the hosting plan.
109109

110110
### Consumption and Premium plans
111111

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).
113113

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.
115115

116116
### Dedicated plans
117117

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:
119119

120120
* Take any action that can change the inbound IP address.
121121
* 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
126126

127127
1. Scale your App Service plan up or down between Standard and Premium v2 pricing tiers.
128128

129-
2. Wait 10 minutes.
129+
1. Wait 10 minutes.
130130

131-
3. Scale back to where you started.
131+
1. Scale back to where you started.
132132

133133
## IP address restrictions
134134

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).
136136

137137
## Dedicated IP addresses
138138

139139
There are several strategies to explore when your function app requires static, dedicated IP addresses.
140140

141141
### Virtual network NAT gateway for outbound static IP
142142

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).
144144

145145
### App Service Environments
146146

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).
148148

149149
To find out if your function app runs in an App Service Environment:
150150

151151
# [Azure portal](#tab/portal)
152152

153153
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**.
157157

158158
# [Azure CLI](#tab/azurecli)
159159

0 commit comments

Comments
 (0)