Skip to content

Commit 99e4bc6

Browse files
committed
editorial changes
1 parent 6e6056b commit 99e4bc6

File tree

1 file changed

+36
-31
lines changed

1 file changed

+36
-31
lines changed
Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: 'Quickstart: Create an Azure WAF v2 by using an Azure Resource Manager template'
33
titleSuffix: Azure Application Gateway
4-
description: Learn how to use an Azure Resource Manager quickstart template (ARM template) to create a Web Application Firewall v2 on Azure Application Gateway.
4+
description: Use an Azure Resource Manager template (ARM template) to create a Web Application Firewall v2 on Azure Application Gateway.
55
services: web-application-firewall
66
author: vhorne
77
ms.service: web-application-firewall
@@ -12,63 +12,68 @@ ms.custom: subject-armqs, devx-track-azurepowershell, mode-arm, template-quickst
1212
# Customer intent: As a cloud administrator, I want to quickly deploy a Web Application Firewall v2 on Azure Application Gateway for production environments or to evaluate WAF v2 functionality.
1313
---
1414

15-
# Quickstart: Create an Azure WAF v2 on Application Gateway using an ARM template
15+
# Quickstart: Create an Azure Web Application Firewall v2 by using an ARM template
1616

17-
In this quickstart, you use an Azure Resource Manager template (ARM template) to create an Azure Web Application Firewall v2 on Application Gateway.
17+
In this quickstart, you use an Azure Resource Manager template (ARM template) to create an Azure Web Application Firewall (WAF) v2 on Azure Application Gateway.
1818

1919
[!INCLUDE [About Azure Resource Manager](../../../includes/resource-manager-quickstart-introduction.md)]
2020

2121
[!INCLUDE [updated-for-az](../../../includes/updated-for-az.md)]
2222

23-
If your environment meets the prerequisites and you're familiar with using ARM templates, select the **Deploy to Azure** button. The template will open in the Azure portal.
23+
If your environment meets the prerequisites and you're familiar with using ARM templates, you can select the **Deploy to Azure** button to open the template in the Azure portal.
2424

25-
[![Deploy to Azure](../../media/template-deployments/deploy-to-azure.svg)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fdemos%2Fag-docs-wafv2%2Fazuredeploy.json)
25+
[![Deploy to Azure button.](../../media/template-deployments/deploy-to-azure.svg)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fdemos%2Fag-docs-wafv2%2Fazuredeploy.json)
2626

2727
## Prerequisites
2828

29-
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
29+
- An Azure account with an active subscription. If you don't have one, you can [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
3030

3131
## Review the template
3232

33-
This template creates a simple Web Application Firewall v2 on Azure Application Gateway. This includes a public IP frontend IP address, HTTP settings, a rule with a basic listener on port 80, and a backend pool. A WAF policy with a custom rule is created to block traffic to the backend pool based on an IP address match type.
33+
This template creates a simple Web Application Firewall v2 on Azure Application Gateway. The template creates a public IP frontend IP address, HTTP settings, a rule with a basic listener on port 80, and a backend pool. A WAF policy with a custom rule blocks traffic to the backend pool based on an IP address match type.
3434

35-
The template used in this quickstart is from [Azure Quickstart Templates](https://azure.microsoft.com/resources/templates/ag-docs-wafv2/).
35+
The template defines the following Azure resources:
3636

37-
:::code language="json" source="~/quickstart-templates/demos/ag-docs-wafv2/azuredeploy.json":::
37+
- [Microsoft.Network/applicationgateways](/azure/templates/microsoft.network/applicationgateways)
38+
- [Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies](/azure/templates/microsoft.network/ApplicationGatewayWebApplicationFirewallPolicies)
39+
- [Microsoft.Network/publicIPAddresses](/azure/templates/microsoft.network/publicipaddresses), one for the application gateway and two for the virtual machines (VMs)
40+
- [Microsoft.Network/networkSecurityGroups](/azure/templates/microsoft.network/networksecuritygroups)
41+
- [Microsoft.Network/virtualNetworks](/azure/templates/microsoft.network/virtualnetworks)
42+
- [Microsoft.Compute/virtualMachines](/azure/templates/microsoft.compute/virtualmachines), two VMs
43+
- [Microsoft.Network/networkInterfaces](/azure/templates/microsoft.network/networkinterfaces), one for each VM
44+
- [Microsoft.Compute/virtualMachine/extensions](/azure/templates/microsoft.compute/virtualmachines/extensions) to configure IIS and the web pages
3845

39-
Multiple Azure resources are defined in the template:
46+
This template is from [Azure Quickstart Templates](https://azure.microsoft.com/resources/templates/ag-docs-wafv2/).
4047

41-
- [**Microsoft.Network/applicationgateways**](/azure/templates/microsoft.network/applicationgateways)
42-
- [**Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies**](/azure/templates/microsoft.network/ApplicationGatewayWebApplicationFirewallPolicies)
43-
- [**Microsoft.Network/publicIPAddresses**](/azure/templates/microsoft.network/publicipaddresses) : one for the application gateway, and two for the virtual machines.
44-
- [**Microsoft.Network/networkSecurityGroups**](/azure/templates/microsoft.network/networksecuritygroups)
45-
- [**Microsoft.Network/virtualNetworks**](/azure/templates/microsoft.network/virtualnetworks)
46-
- [**Microsoft.Compute/virtualMachines**](/azure/templates/microsoft.compute/virtualmachines) : two virtual machines
47-
- [**Microsoft.Network/networkInterfaces**](/azure/templates/microsoft.network/networkinterfaces) : two for the virtual machines
48-
- [**Microsoft.Compute/virtualMachine/extensions**](/azure/templates/microsoft.compute/virtualmachines/extensions) : to configure IIS and the web pages
48+
:::code language="json" source="~/quickstart-templates/demos/ag-docs-wafv2/azuredeploy.json":::
4949

5050
## Deploy the template
5151

5252
Deploy the ARM template to Azure:
5353

54-
1. Select **Deploy to Azure** to sign in to Azure and open the template. The template creates an application gateway, the network infrastructure, and two virtual machines in the backend pool running IIS.
54+
1. Select **Deploy to Azure** to sign in to Azure and open the template. The template creates an application gateway, the network infrastructure, and two VMs in the backend pool running IIS.
5555

56-
[![Deploy to Azure](../../media/template-deployments/deploy-to-azure.svg)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fdemos%2Fag-docs-wafv2%2Fazuredeploy.json)
56+
[![Deploy to Azure button.](../../media/template-deployments/deploy-to-azure.svg)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fdemos%2Fag-docs-wafv2%2Fazuredeploy.json)
5757

58-
2. Select or create your resource group.
59-
3. Select **I agree to the terms and conditions stated above** and then select **Purchase**. The deployment can take 10 minutes or longer to complete.
58+
1. Select or create a resource group.
59+
1. Select **Review + create**, and when validation passes, select **Create**. The deployment can take 10 minutes or longer to complete.
6060

6161
## Validate the deployment
6262

63-
Although IIS isn't required to create the application gateway, it's installed on the backend servers to verify if Azure successfully created a WAF v2 on the application gateway.
63+
Although IIS isn't required, the template installs IIS on the backend servers so you can verify that Azure successfully created a WAF v2 on the application gateway.
6464

6565
Use IIS to test the application gateway:
6666

67-
1. Find the public IP address for the application gateway on its **Overview** page.![Record application gateway public IP address](../../application-gateway/media/application-gateway-create-gateway-portal/application-gateway-record-ag-address.png) Or, you can select **All resources**, enter *myAGPublicIPAddress* in the search box, and then select it in the search results. Azure displays the public IP address on the **Overview** page.
68-
2. Copy the public IP address, and then paste it into the address bar of your browser to browse that IP address.
69-
3. Check the response. A **403 Forbidden** response verifies that the WAF was successfully created and is blocking connections to the backend pool.
70-
4. Change the custom rule to **Allow traffic**.
71-
Run the following Azure PowerShell script, replacing your resource group name:
67+
1. Copy the public IP address for the application gateway from its **Overview** page.
68+
69+
![Screenshot that shows the application gateway public IP address.](../../application-gateway/media/application-gateway-create-gateway-portal/application-gateway-record-ag-address.png)
70+
71+
You can also search for *application gateways* in the Azure search box. The list of application gateways shows the public IP addresses in the **Public IP address** column.
72+
73+
1. Paste the IP address into the address bar of your browser to browse that address.
74+
1. Check the response. A **403 Forbidden** response verifies that the WAF is successfully blocking connections to the backend pool.
75+
1. To change the custom rule to allow traffic, run the following Azure PowerShell script, replacing your resource group name:
76+
7277
```azurepowershell
7378
$rg = "<your resource group name>"
7479
$AppGW = Get-AzApplicationGateway -Name myAppGateway -ResourceGroupName $rg
@@ -80,11 +85,11 @@ Use IIS to test the application gateway:
8085
Set-AzApplicationGateway -ApplicationGateway $AppGW
8186
```
8287

83-
Refresh your browser multiple times and you should see connections to both myVM1 and myVM2.
88+
As you refresh your browser, you should see connections to both myVM1 and myVM2.
8489

8590
## Clean up resources
8691

87-
When you no longer need the resources that you created with the application gateway, delete the resource group. This removes the application gateway and all the related resources.
92+
When you no longer need the resources you created in this quickstart, delete the resource group to remove the application gateway and all its related resources.
8893

8994
To delete the resource group, call the `Remove-AzResourceGroup` cmdlet:
9095

@@ -95,4 +100,4 @@ Remove-AzResourceGroup -Name "<your resource group name>"
95100
## Next steps
96101

97102
> [!div class="nextstepaction"]
98-
> [Tutorial: Create an application gateway with a Web Application Firewall using the Azure portal](application-gateway-web-application-firewall-portal.md)
103+
> [Tutorial: Create an application gateway with a Web Application Firewall by using the Azure portal](application-gateway-web-application-firewall-portal.md)

0 commit comments

Comments
 (0)