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
This article describes how to secure outbound traffic from your applications hosted in Azure Spring Apps. The article provides an example of a user-defined route (UDR) instance. UDR is an advanced feature that lets you fully control egress traffic. You can use UDR in scenarios such as disallowing an Azure Spring Apps auto-generated public IP.
18
+
This article describes how to secure outbound traffic from your applications hosted in Azure Spring Apps. The article provides an example of a user-defined route. A user-defined route is an advanced feature that lets you fully control egress traffic. You can use a user-defined route in scenarios such as disallowing an Azure Spring Apps autogenerated public IP address.
19
19
20
20
## Prerequisites
21
21
22
-
- All prerequisites for deploying Azure Spring Apps in a virtual network. For more information, see [Deploy Azure Spring Apps in a virtual network](how-to-deploy-in-azure-virtual-network.md).
23
-
- API version of `2022-09-01 preview` or greater
24
-
-[Azure CLI version 1.1.7 or later](/cli/azure/install-azure-cli).
25
-
-You should be familiar with information in the following articles:
22
+
- All prerequisites for [deploying Azure Spring Apps in a virtual network](how-to-deploy-in-azure-virtual-network.md)
23
+
-An API version of `2022-09-01 preview` or later
24
+
-[Azure CLI version 1.1.7 or later](/cli/azure/install-azure-cli)
25
+
-Familiarity with information in the following articles:
26
26
-[Deploy Azure Spring Apps in a virtual network](how-to-deploy-in-azure-virtual-network.md)
27
-
-[Customer responsibilities for running Azure Spring Apps in VNET](vnet-customer-responsibilities.md)
28
-
-[Customize Azure Spring Cloud egress with a User-Defined Route](concept-outbound-type.md)
27
+
-[Customer responsibilities for running Azure Spring Apps in a virtual network](vnet-customer-responsibilities.md)
28
+
-[Customize Azure Spring Apps egress with a user-defined route](concept-outbound-type.md)
29
29
30
-
## Create a VNet instance using a user-defined route
30
+
## Create a virtual network by using a user-defined route
31
31
32
-
The following illustration shows an example of an Azure Spring Apps VNet instance using a user-defined route.
32
+
The following illustration shows an example of an Azure Spring Apps virtual network that uses a user-defined route (UDR).
#DO NOT CHANGE FWSUBNET_NAME - This is currently a requirement for Azure Firewall.
48
+
#Do not change FWSUBNET_NAME. This is currently a requirement for Azure Firewall.
49
49
FWSUBNET_NAME="AzureFirewallSubnet"
50
50
FWNAME="${PREFIX}-fw"
51
51
FWPUBLICIP_NAME="${PREFIX}-fwpublicip"
@@ -58,20 +58,20 @@ ASA_NAME="${PREFIX}-instance"
58
58
59
59
### Create a virtual network with multiple subnets
60
60
61
-
This section shows you how to provision a virtual network with three separate subnets: one for the user apps, one for service runtime, and one for the firewall.
61
+
This section shows you how to provision a virtual network with three separate subnets: one for the user apps, one for the service runtime, and one for the firewall.
62
62
63
-
First create a resource group, as shown in the following example.
63
+
First create a resource group, as shown in the following example:
64
64
65
65
```azurecli
66
-
# Create resource group.
66
+
# Create a resource group.
67
67
68
68
az group create --name $RG --location $LOC
69
69
```
70
70
71
-
Then create a virtual network with three subnets to host the ASA instance and the Azure Firewall, as shown in the following example.
71
+
Then create a virtual network with three subnets to host the Azure Spring Apps and Azure Firewall instances, as shown in the following example:
72
72
73
73
```azurecli
74
-
# Dedicated virtual network with ASA app subnet.
74
+
# Dedicated virtual network with an Azure Spring Apps app subnet.
75
75
76
76
az network vnet create \
77
77
--resource-group $RG \
@@ -81,15 +81,15 @@ az network vnet create \
81
81
--subnet-name $ASA_APP_SUBNET_NAME \
82
82
--subnet-prefix 10.42.1.0/24
83
83
84
-
# Dedicated subnet for ASA service runtime subnet.
84
+
# Dedicated subnet for the Azure Spring Apps service runtime subnet.
85
85
86
86
az network vnet subnet create \
87
87
--resource-group $RG \
88
88
--vnet-name $VNET_NAME \
89
89
--name $ASA_SERVICE_RUNTIME_SUBNET_NAME\
90
90
--address-prefix 10.42.2.0/24
91
91
92
-
# Dedicated subnet for Azure Firewall. (Firewall name cannot be changed.)
92
+
# Dedicated subnet for Azure Firewall. (Firewall name can't be changed.)
93
93
94
94
az network vnet subnet create \
95
95
--resource-group $RG \
@@ -98,12 +98,12 @@ az network vnet subnet create \
98
98
--address-prefix 10.42.3.0/24
99
99
```
100
100
101
-
### Create and set up an Azure Firewall with a user-defined route
101
+
### Set up an Azure Firewall instance with a user-defined route
102
102
103
-
Use the following command to create and set up an Azure Firewall with a user-defined route and configure Azure Firewall outbound rules. The firewall lets you configure granular egress traffic rules from an Azure Spring Apps instance.
103
+
Use the following command to create and set up an Azure Firewall instance with a user-defined route, and to configure Azure Firewall outbound rules. The firewall lets you configure granular egress traffic rules from Azure Spring Apps.
104
104
105
105
> [!IMPORTANT]
106
-
> If your cluster or application creates a large number of outbound connections directed to the same or small subset of destinations, you might require more firewall frontend IPs to avoid reaching the maximum ports per front-end IP. For more information on how to create an Azure firewall with multiple IPs, see [Quickstart: Create an Azure Firewall with multiple public IP addresses - ARM template](../firewall/quick-create-multiple-ip-template.md). Create a standard SKU public IP resource that will be used as the Azure Firewall front-end address.
106
+
> If your cluster or application creates a large number of outbound connections directed to the same destination or to a small subset of destinations, you might require more firewall front-end IP addresses to avoid reaching the maximum ports per front-end IP address. For more information on how to create an Azure Firewall instance with multiple IP addresses, see [Quickstart: Create an Azure Firewall instance with multiple public IP addresses - ARM template](../firewall/quick-create-multiple-ip-template.md). Create a Standard SKU public IP resource that will be used as the Azure Firewall front-end address.
107
107
108
108
```azurecli
109
109
az network public-ip create \
@@ -112,10 +112,10 @@ az network public-ip create \
112
112
--sku "Standard"
113
113
```
114
114
115
-
The following example shows how to install the Azure Firewall preview CLI extension and deploy Azure Firewall.
115
+
The following example shows how to install the Azure Firewall preview CLI extension and deploy Azure Firewall:
116
116
117
117
```azurecli
118
-
# Install Azure Firewall preview CLI extension.
118
+
# Install the Azure Firewall preview CLI extension.
119
119
120
120
az extension add --name azure-firewall
121
121
@@ -127,13 +127,13 @@ az network firewall create \
127
127
--enable-dns-proxy true
128
128
```
129
129
130
-
The following example shows how to assign the IP address you created to the firewall front end.
130
+
The following example shows how to assign the IP address that you created to the firewall front end.
131
131
132
132
> [!NOTE]
133
-
> Setting up the public IP address to the Azure Firewall may take a few minutes. To leverage FQDN on network rules, enable DNS proxy. When enabled, the firewall will listen on port 53 and forward DNS requests to the specified DNS server. The firewall can then translate the FQDN automatically.
133
+
> Setting up the public IP address to the Azure Firewall instance might take a few minutes. To use a fully qualified domain name (FQDN) on network rules, enable a DNS proxy. After you enable the proxy, the firewall will listen on port 53 and forward DNS requests to the specified DNS server. The firewall can then translate the FQDN automatically.
134
134
135
135
```azurecli
136
-
# Configure firewall IP config.
136
+
# Configure the firewall IP address.
137
137
138
138
az network firewall ip-config create \
139
139
--resource-group $RG \
@@ -143,10 +143,10 @@ az network firewall ip-config create \
143
143
--vnet-name $VNET_NAME
144
144
```
145
145
146
-
When the operation has completed, save the firewall front-end IP address for configuration later, as shown in the following example.
146
+
When the operation is finished, save the firewall's front-end IP address for configuration later, as shown in the following example:
147
147
148
148
```azurecli
149
-
# Capture firewall IP address for later use.
149
+
# Capture the firewall IP address for later use.
150
150
151
151
FWPUBLIC_IP=$(az network public-ip show \
152
152
--resource-group $RG \
@@ -162,12 +162,12 @@ FWPRIVATE_IP=$(az network firewall show \
162
162
163
163
### Create a user-defined route with a hop to Azure Firewall
164
164
165
-
Azure automatically routes traffic between Azure subnets, virtual networks, and on-premises networks. If you want to change Azure's default routing, create a route table.
165
+
Azure automatically routes traffic between Azure subnets, virtual networks, and on-premises networks. If you want to change the default routing in Azure, create a route table.
166
166
167
-
The following example shows how to create a route table to be associated with a specified subnet. The route table defines the next hop, as in the Azure Firewall you created. Each subnet can have one route table associated with it, or could have no associated route table.
167
+
The following example shows how to create a route table to be associated with a specified subnet. The route table defines the next hop, as in the Azure Firewall instance that you created. Each subnet can have one route table associated with it, or it might have no associated route table.
168
168
169
169
```azurecli
170
-
# Create UDR and add a route for Azure Firewall.
170
+
# Create a user-defined route and add a route for Azure Firewall.
171
171
172
172
az network route-table create \
173
173
--resource-group $RG -l $LOC \
@@ -191,9 +191,9 @@ az network route-table route create \
191
191
--next-hop-ip-address $FWPRIVATE_IP
192
192
```
193
193
194
-
### Adding firewall rules
194
+
### Add firewall rules
195
195
196
-
The following example shows hot to add rules to your firewall. For more information, see [Customer responsibilities for running Azure Spring Apps in VNET](vnet-customer-responsibilities.md).
196
+
The following example shows how to add rules to your firewall. For more information, see [Customer responsibilities for running Azure Spring Apps in a virtual network](vnet-customer-responsibilities.md).
197
197
198
198
```azurecli
199
199
# Add firewall network rules.
@@ -241,10 +241,10 @@ az network firewall application-rule create \
241
241
242
242
### Associate route tables with subnets
243
243
244
-
To associate the cluster with the firewall, the dedicated subnet for the cluster's subnet must reference the route table you created. App and service runtime subnets must be associated with corresponding route tables. The following example shows how to associate a route table with a subnet.
244
+
To associate the cluster with the firewall, make sure that the dedicated subnet for the cluster references the route table that you created. App and service runtime subnets must be associated with corresponding route tables. The following example shows how to associate a route table with a subnet:
245
245
246
246
```azurecli
247
-
# Associate route table with next hop to Firewall to the Azure Spring Apps subnet.
247
+
# Associate the route table with a next hop to the firewall for the Azure Spring Apps subnet.
248
248
249
249
az network vnet subnet update \
250
250
--resource-group $RG \
@@ -259,9 +259,9 @@ az network vnet subnet update
259
259
--route-table $SERVICE_RUNTIME_ROUTE_TABLE_NAME
260
260
```
261
261
262
-
### Add a role for an Azure Spring Apps RP
262
+
### Add a role for an Azure Spring Apps relying party
263
263
264
-
The following example shows how to add a role for an Azure Spring Apps RP.
264
+
The following example shows how to add a role for an Azure Spring Apps relying party:
265
265
266
266
```azurecli
267
267
VIRTUAL_NETWORK_RESOURCE_ID=$(az network vnet show \
@@ -276,9 +276,9 @@ az role assignment create \
276
276
--assignee e8de9221-a19c-4c81-b814-fd37c6caf9d2
277
277
```
278
278
279
-
### Create a UDR Azure Spring Apps instance
279
+
### Create an Azure Spring Apps instance with user-defined routing
280
280
281
-
The following example shows how to create a UDR Azure Spring Apps instance.
281
+
The following example shows how to create an Azure Spring Apps instance with user-defined routing:
282
282
283
283
```azurecli
284
284
az spring create \
@@ -290,9 +290,9 @@ az spring create \
290
290
--outbound-type userDefinedRouting
291
291
```
292
292
293
-
You can now access the public IP of the firewall from the internet. The firewall will route traffic into Azure Spring Apps subnets according to your routing rules.
293
+
You can now access the public IP address of the firewall from the internet. The firewall will route traffic into Azure Spring Apps subnets according to your routing rules.
294
294
295
295
## Next steps
296
296
297
297
-[Troubleshooting Azure Spring Apps in virtual networks](troubleshooting-vnet.md)
298
-
-[Customer responsibilities for running Azure Spring Apps in VNET](vnet-customer-responsibilities.md)
298
+
-[Customer responsibilities for running Azure Spring Apps in a virtual network](vnet-customer-responsibilities.md)
0 commit comments