Skip to content

Commit aa88cfe

Browse files
committed
reformat
1 parent e501fd6 commit aa88cfe

File tree

1 file changed

+69
-69
lines changed

1 file changed

+69
-69
lines changed

articles/app-service/overview-inbound-outbound-ips.md

Lines changed: 69 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,72 @@ nslookup <app-name>.azurewebsites.net
4343

4444
## Get a static inbound IP
4545

46-
Sometimes you might want a dedicated, static IP address for your app. To get a static inbound IP address, you need to [secure a custom DNS name with an IP-based certificate binding](./configure-ssl-bindings.md). If you don't actually need TLS functionality to secure your app, you can even upload a self-signed certificate for this binding. In an IP-based TLS binding, the certificate is bound to the IP address itself, so App Service creates a static IP address to make it happen.
46+
Sometimes you might want a dedicated, static IP address for your app. To get a static inbound IP address, you need to [secure a custom DNS name with an IP-based certificate binding](./configure-ssl-bindings.md). If you don't actually need TLS functionality to secure your app, you can even upload a self-signed certificate for this binding. In an IP-based TLS binding, the certificate is bound to the IP address itself, so App Service creates a static IP address to make it happen.
47+
48+
## When outbound IPs change
49+
50+
Regardless of the number of scaled-out instances, each app has a set number of outbound IP addresses at any given time. Any outbound connection from the App Service app, such as to a back-end database, uses one of the outbound IP addresses as the origin IP address. The IP address to use is selected randomly at runtime, so your back-end service must open its firewall to all the outbound IP addresses for your app.
51+
52+
The set of outbound IP addresses for your app changes when you perform one of the following actions:
53+
54+
- Delete an app and recreate it in a different resource group (deployment unit might change).
55+
- Delete the last app in a resource group _and_ region combination and recreate it (deployment unit might change).
56+
- Scale your app between the lower tiers (**Basic**, **Standard**, and **Premium**), the **PremiumV2** tier, the **PremiumV3** tier, and the **Pmv3** options within the **PremiumV3** tier (IP addresses might be added to or subtracted from the set).
57+
58+
You can find the set of all possible outbound IP addresses your app can use, regardless of pricing tiers, by looking for the `possibleOutboundIpAddresses` property or in the **Additional Outbound IP Addresses** field in the **Properties** page in the Azure portal. See [Find outbound IPs](#find-outbound-ips).
59+
60+
The set of all possible outbound IP addresses can increase over time if App Service adds new pricing tiers or options to existing App Service deployments. For example, if App Service adds the **PremiumV3** tier to an existing App Service deployment, then the set of all possible outbound IP addresses increases. Similarly, if App Service adds new **Pmv3** options to a deployment that already supports the **PremiumV3** tier, then the set of all possible outbound IP addresses increases. Adding IP addresses to a deployment has no immediate effect since the outbound IP addresses for running applications don't change when a new pricing tier or option is added to an App Service deployment. However, if applications switch to a new pricing tier or option that wasn't previously available, then new outbound addresses are used and customers need to update downstream firewall rules and IP address restrictions.
61+
62+
## Find outbound IPs
63+
64+
To find the outbound IP addresses currently used by your app in the Azure portal, select **Properties** in your app's left-hand navigation. They're listed in the **Outbound IP Addresses** field.
65+
66+
You can find the same information by running the following command in the [Cloud Shell](../cloud-shell/quickstart.md).
67+
68+
```azurecli-interactive
69+
az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
70+
```
71+
72+
```azurepowershell
73+
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses
74+
```
75+
76+
To find _all_ possible outbound IP addresses for your app, regardless of pricing tiers, select **Properties** in your app's left-hand navigation. They're listed in the **Additional Outbound IP Addresses** field.
77+
78+
You can find the same information by running the following command in the [Cloud Shell](../cloud-shell/quickstart.md).
79+
80+
```azurecli-interactive
81+
az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
82+
```
83+
84+
```azurepowershell
85+
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).PossibleOutboundIpAddresses
86+
```
87+
88+
For function apps, see [Function app outbound IP addresses](/azure/azure-functions/ip-addresses?tabs=azure-powershell#find-outbound-ip-addresses).
89+
90+
## Get a static outbound IP
91+
92+
You can control the IP address of outbound traffic from your app by using virtual network integration and a virtual network NAT gateway to direct traffic through a static public IP address. [Virtual network integration](./overview-vnet-integration.md) is available on **Basic**, **Standard**, **Premium**, **PremiumV2**, and **PremiumV3** App Service plans. To learn more about this setup, see [NAT gateway integration](./networking/nat-gateway-integration.md).
93+
94+
## IP Address properties in Azure portal
95+
96+
IP Addresses appear in multiple places in Azure portal. The properties page shows you the raw output from `inboundIpAddress`, `possibleInboundIpAddresses`, `outboundIpAddresses`, and `possibleOutboundIpAddresses`. The overview page also shows the same values, but not include the **Possible Inbound IP Addresses**.
97+
98+
Networking overview shows the combination of **Inbound IP Address** and any private endpoint IP addresses in the **Inbound addresses** field. If public network access is disabled, the public IP address isn't shown. The **Outbound addresses** field has a combined list of **(Possible) Outbound IP Addresses**, and if the app is virtual network integrated and is routing all traffic, and the subnet has a NAT gateway attached, the field also includes the IP addresses from the NAT gateway.
99+
100+
:::image type="content" source="./media/overview-inbound-outbound-ips/networking-overview.png" alt-text="Screenshot that shows how IP addresses are shown in the networking overview page.":::
101+
102+
## Service tag
103+
104+
By using the `AppService` service tag, you can define network access for the Azure App Service service without specifying individual IP addresses. The service tag is a group of IP address prefixes that you use to minimize the complexity of creating security rules. When you use service tags, Azure automatically updates the IP addresses as they change for the service. However, the service tag isn't a security control mechanism. The service tag is merely a list of IP addresses.
105+
106+
The `AppService` service tag includes only the inbound IP addresses of multitenant apps. Inbound IP addresses from apps deployed in isolated (App Service Environment) and apps using [IP-based TLS bindings](./configure-ssl-bindings.md) aren't included. Further all outbound IP addresses used in both multitenant and isolated aren't included in the tag.
107+
108+
The tag can be used to allow outbound traffic in a Network security group (NSG) to apps. If the app is using IP-based TLS or the app is deployed in isolated mode, you must use the dedicated IP address instead. As the tag only includes inbound IP addresses, the tag can't be used in access restrictions to limit access to an app from other apps in App Service.
109+
110+
> [!NOTE]
111+
> Service tag helps you define network access, but it shouldn't be considered as a replacement for proper network security measures as it doesn't provide granular control over individual IP addresses.
47112
48113
## Inbound IPv6 support
49114

@@ -79,7 +144,7 @@ You can configure the IP mode behavior using the `IPMode` property:
79144

80145
To update an app to return IPv6 DNS records in the Azure CLI, run the following command.
81146

82-
```azurecli-interactive
147+
```azurecli
83148
# Configure IPv6 only
84149
az resource update --name <app-name> --set properties.ipMode="IPv6" -g <resource-group-name> --resource-type "Microsoft.Web/sites"
85150
@@ -91,9 +156,9 @@ az resource update --ids '/subscriptions/<sub-id>/resourceGroups/<resource-group
91156

92157
To update an app to return IPv6 DNS records in the Azure portal, go to the **Configuration** page for the App Service app and set the **Inbound IP mode** property.
93158

94-
:::image type="content" source="./media/overview-inbound-outbound-ips/ip-mode-configuration.png" alt-text="Screenshot that shows how the inbound IP mode is set in the App Service configuration page.":::
159+
:::image type="content" source="./media/overview-inbound-outbound-ips/ip-mode-configuration.png" alt-text="Screenshot that shows how the inbound IP mode is set in the App Service configuration page.":::
95160

96-
# [Azure Resource Manager Template](#tab/arm-template)
161+
# [Azure Resource Manager template](#tab/arm-template)
97162

98163
To deploy a new app or update an existing app using an Azure Resource Manager (ARM) template, set the `IPMode` to either "IPv6" or "IPv4AndIPv6".
99164

@@ -153,71 +218,6 @@ Consider the following factors when implementing IPv6 support:
153218
- **Outbound traffic**: Remember that outbound connections always use IPv4
154219
- **Client testing**: To ensure propert functionality, test your application with both IPv4 and IPv6 clients
155220

156-
## When outbound IPs change
157-
158-
Regardless of the number of scaled-out instances, each app has a set number of outbound IP addresses at any given time. Any outbound connection from the App Service app, such as to a back-end database, uses one of the outbound IP addresses as the origin IP address. The IP address to use is selected randomly at runtime, so your back-end service must open its firewall to all the outbound IP addresses for your app.
159-
160-
The set of outbound IP addresses for your app changes when you perform one of the following actions:
161-
162-
- Delete an app and recreate it in a different resource group (deployment unit might change).
163-
- Delete the last app in a resource group _and_ region combination and recreate it (deployment unit might change).
164-
- Scale your app between the lower tiers (**Basic**, **Standard**, and **Premium**), the **PremiumV2** tier, the **PremiumV3** tier, and the **Pmv3** options within the **PremiumV3** tier (IP addresses might be added to or subtracted from the set).
165-
166-
You can find the set of all possible outbound IP addresses your app can use, regardless of pricing tiers, by looking for the `possibleOutboundIpAddresses` property or in the **Additional Outbound IP Addresses** field in the **Properties** page in the Azure portal. See [Find outbound IPs](#find-outbound-ips).
167-
168-
The set of all possible outbound IP addresses can increase over time if App Service adds new pricing tiers or options to existing App Service deployments. For example, if App Service adds the **PremiumV3** tier to an existing App Service deployment, then the set of all possible outbound IP addresses increases. Similarly, if App Service adds new **Pmv3** options to a deployment that already supports the **PremiumV3** tier, then the set of all possible outbound IP addresses increases. Adding IP addresses to a deployment has no immediate effect since the outbound IP addresses for running applications don't change when a new pricing tier or option is added to an App Service deployment. However, if applications switch to a new pricing tier or option that wasn't previously available, then new outbound addresses are used and customers need to update downstream firewall rules and IP address restrictions.
169-
170-
## Find outbound IPs
171-
172-
To find the outbound IP addresses currently used by your app in the Azure portal, select **Properties** in your app's left-hand navigation. They're listed in the **Outbound IP Addresses** field.
173-
174-
You can find the same information by running the following command in the [Cloud Shell](../cloud-shell/quickstart.md).
175-
176-
```azurecli-interactive
177-
az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
178-
```
179-
180-
```azurepowershell
181-
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses
182-
```
183-
184-
To find _all_ possible outbound IP addresses for your app, regardless of pricing tiers, select **Properties** in your app's left-hand navigation. They're listed in the **Additional Outbound IP Addresses** field.
185-
186-
You can find the same information by running the following command in the [Cloud Shell](../cloud-shell/quickstart.md).
187-
188-
```azurecli-interactive
189-
az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
190-
```
191-
192-
```azurepowershell
193-
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).PossibleOutboundIpAddresses
194-
```
195-
196-
For function apps, see [Function app outbound IP addresses](/azure/azure-functions/ip-addresses?tabs=azure-powershell#find-outbound-ip-addresses).
197-
198-
## Get a static outbound IP
199-
200-
You can control the IP address of outbound traffic from your app by using virtual network integration and a virtual network NAT gateway to direct traffic through a static public IP address. [Virtual network integration](./overview-vnet-integration.md) is available on **Basic**, **Standard**, **Premium**, **PremiumV2**, and **PremiumV3** App Service plans. To learn more about this setup, see [NAT gateway integration](./networking/nat-gateway-integration.md).
201-
202-
## IP Address properties in Azure portal
203-
204-
IP Addresses appear in multiple places in Azure portal. The properties page shows you the raw output from `inboundIpAddress`, `possibleInboundIpAddresses`, `outboundIpAddresses`, and `possibleOutboundIpAddresses`. The overview page also shows the same values, but not include the **Possible Inbound IP Addresses**.
205-
206-
Networking overview shows the combination of **Inbound IP Address** and any private endpoint IP addresses in the **Inbound addresses** field. If public network access is disabled, the public IP address isn't shown. The **Outbound addresses** field has a combined list of **(Possible) Outbound IP Addresses**, and if the app is virtual network integrated and is routing all traffic, and the subnet has a NAT gateway attached, the field also includes the IP addresses from the NAT gateway.
207-
208-
:::image type="content" source="./media/overview-inbound-outbound-ips/networking-overview.png" alt-text="Screenshot that shows how IP addresses are shown in the networking overview page.":::
209-
210-
## Service tag
211-
212-
By using the `AppService` service tag, you can define network access for the Azure App Service service without specifying individual IP addresses. The service tag is a group of IP address prefixes that you use to minimize the complexity of creating security rules. When you use service tags, Azure automatically updates the IP addresses as they change for the service. However, the service tag isn't a security control mechanism. The service tag is merely a list of IP addresses.
213-
214-
The `AppService` service tag includes only the inbound IP addresses of multitenant apps. Inbound IP addresses from apps deployed in isolated (App Service Environment) and apps using [IP-based TLS bindings](./configure-ssl-bindings.md) aren't included. Further all outbound IP addresses used in both multitenant and isolated aren't included in the tag.
215-
216-
The tag can be used to allow outbound traffic in a Network security group (NSG) to apps. If the app is using IP-based TLS or the app is deployed in isolated mode, you must use the dedicated IP address instead. As the tag only includes inbound IP addresses, the tag can't be used in access restrictions to limit access to an app from other apps in App Service.
217-
218-
> [!NOTE]
219-
> Service tag helps you define network access, but it shouldn't be considered as a replacement for proper network security measures as it doesn't provide granular control over individual IP addresses.
220-
221221
## Next steps
222222

223223
* Learn how to [restrict inbound traffic](./app-service-ip-restrictions.md) by source IP addresses.

0 commit comments

Comments
 (0)