Skip to content

Commit 2daec3f

Browse files
authored
Merge pull request #313842 from duongau/firewall-freshness-review-564969-P3
Azure Firewall IaC quickstart articles - freshness review (P3)
2 parents 3d26d49 + 9b9a17e commit 2daec3f

7 files changed

Lines changed: 123 additions & 129 deletions

articles/firewall/deploy-bicep.md

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
---
22
title: 'Quickstart: Create an Azure Firewall with Availability Zones - Bicep'
3-
description: In this quickstart, you deploy Azure Firewall using Bicep. The virtual network has one VNet with three subnets. Two Windows Server virtual machines, a jump box, and a server are deployed.
4-
services: firewall
3+
description: In this quickstart, you deploy Azure Firewall using Bicep. The virtual network has one virtual network with three subnets. Two Windows Server virtual machines, a jump box, and a server are deployed.
54
author: duongau
5+
ms.author: duau
66
ms.service: azure-firewall
77
ms.topic: quickstart
8+
ms.date: 03/28/2026
89
ms.custom: subject-armqs, mode-arm, devx-track-bicep
9-
ms.date: 06/28/2022
10-
ms.author: duau
1110
# Customer intent: "As a cloud administrator, I want to deploy an Azure Firewall using Bicep in a virtual network with multiple subnets, so that I can manage network security effectively and ensure high availability across Availability Zones."
1211
---
1312

1413
# Quickstart: Deploy Azure Firewall with Availability Zones - Bicep
1514

16-
In this quickstart, you use Bicep to deploy an Azure Firewall in three Availability Zones.
15+
In this quickstart, use Bicep to deploy an Azure Firewall in three Availability Zones.
1716

1817
[!INCLUDE [About Bicep](~/reusable-content/ce-skilling/azure/includes/resource-manager-quickstart-bicep-introduction.md)]
1918

20-
The Bicep file creates a test network environment with a firewall. The network has one virtual network (VNet) with three subnets: *AzureFirewallSubnet*, *ServersSubnet*, and *JumpboxSubnet*. The *ServersSubnet* and *JumpboxSubnet* subnet each have a single, two-core Windows Server virtual machine.
19+
The Bicep file creates a test network environment with a firewall. The network has one virtual network with three subnets: *AzureFirewallSubnet*, *ServersSubnet*, and *JumpboxSubnet*. The *ServersSubnet* and *JumpboxSubnet* subnets each have a single, two-core Windows Server virtual machine.
2120

2221
The firewall is in the *AzureFirewallSubnet* subnet, and has an application rule collection with a single rule that allows access to `www.microsoft.com`.
2322

@@ -37,7 +36,7 @@ The Bicep file used in this quickstart is from [Azure Quickstart Templates](http
3736

3837
:::code language="bicep" source="~/quickstart-templates/quickstarts/microsoft.network/azurefirewall-with-zones-sandbox/main.bicep":::
3938

40-
Multiple Azure resources are defined in the Bicep file:
39+
The Bicep file defines multiple Azure resources, including:
4140

4241
- [**Microsoft.Storage/storageAccounts**](/azure/templates/microsoft.storage/storageAccounts)
4342
- [**Microsoft.Network/routeTables**](/azure/templates/microsoft.network/routeTables)
@@ -50,8 +49,8 @@ Multiple Azure resources are defined in the Bicep file:
5049

5150
## Deploy the Bicep file
5251

53-
1. Save the Bicep file as `main.bicep` to your local computer.
54-
1. Deploy the Bicep file using either Azure CLI or Azure PowerShell.
52+
1. Save the Bicep file as `main.bicep` on your local computer.
53+
1. Deploy the Bicep file by using either Azure CLI or Azure PowerShell.
5554

5655
# [CLI](#tab/CLI)
5756

@@ -70,9 +69,9 @@ Multiple Azure resources are defined in the Bicep file:
7069
---
7170
7271
> [!NOTE]
73-
> Replace **\<admin-user\>** with the administrator login username for the virtual machine. You'll be prompted to enter **adminPassword**.
72+
> Replace **\<admin-user\>** with the administrator sign-in username for the virtual machine. You're prompted to enter **adminPassword**.
7473
75-
When the deployment finishes, you should see a message indicating the deployment succeeded.
74+
When the deployment finishes, you see a message indicating the deployment succeeded.
7675
7776
## Review deployed resources
7877
@@ -96,7 +95,7 @@ To learn about the syntax and properties for a firewall in a Bicep file, see [Mi
9695

9796
## Clean up resources
9897

99-
When you no longer need them, use the Azure portal, Azure CLI, or Azure PowerShell to remove the resource group, firewall, and all related resources.
98+
When you no longer need the resources, use the Azure portal, Azure CLI, or Azure PowerShell to remove the resource group, firewall, and all related resources.
10099

101100
# [CLI](#tab/CLI)
102101

@@ -117,4 +116,4 @@ Remove-AzResourceGroup -Name exampleRG
117116
Next, you can monitor the Azure Firewall logs.
118117

119118
> [!div class="nextstepaction"]
120-
> [Tutorial: Monitor Azure Firewall logs](./firewall-diagnostics.md)
119+
> [Tutorial: Monitor Azure Firewall logs](./monitor-firewall.md)

articles/firewall/deploy-terraform.md

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
11
---
22
title: 'Quickstart: Create an Azure Firewall with Availability Zones - Terraform'
3-
description: In this quickstart, you deploy Azure Firewall using Terraform. The virtual network has one VNet with three subnets. Two Windows Server virtual machines, a jump box, and a server are deployed.
4-
services: firewall
3+
description: In this quickstart, you deploy Azure Firewall using Terraform. The virtual network has one virtual network with three subnets. Two Windows Server virtual machines, a jump box, and a server are deployed.
54
author: duongau
5+
ms.author: duau
66
ms.service: azure-firewall
77
ms.topic: quickstart
8+
ms.date: 03/28/2026
89
ms.custom: devx-track-terraform
9-
ms.date: 10/15/2023
10-
ms.author: duau
11-
content_well_notification:
10+
content_well_notification:
1211
- AI-contribution
1312
ai-usage: ai-assisted
1413
# Customer intent: "As a cloud engineer, I want to deploy Azure Firewall using Terraform, so that I can create a secure network environment with high availability across multiple zones."
1514
---
1615

1716
# Quickstart: Deploy Azure Firewall with Availability Zones - Terraform
1817

19-
In this quickstart, you use Terraform to deploy an Azure Firewall in three Availability Zones.
18+
In this quickstart, use Terraform to deploy an Azure Firewall in three Availability Zones.
2019

2120
[!INCLUDE [About Terraform](~/azure-dev-docs-pr/articles/terraform/includes/abstract.md)]
2221

23-
The Terraform configuration creates a test network environment with a firewall. The network has one virtual network (VNet) with three subnets: *AzureFirewallSubnet*, *subnet-server*, and *subnet-jump*. The *subnet-server* and *subnet-jump* subnet each have a single two-core Windows Server virtual machine.
22+
The Terraform configuration creates a test network environment with a firewall. The network has one virtual network with three subnets: *AzureFirewallSubnet*, *subnet-server*, and *subnet-jump*. The *subnet-server* and *subnet-jump* subnets each have a single two-core Windows Server virtual machine.
2423

2524
The firewall is in the *AzureFirewallSubnet* subnet and has an application rule collection with a single rule that allows access to `www.microsoft.com`.
2625

@@ -31,36 +30,38 @@ For more information about Azure Firewall, see [Deploy and configure Azure Firew
3130
In this article, you learn how to:
3231

3332
> [!div class="checklist"]
34-
> * Create a random value (to be used in the resource group name) using [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
35-
> * Create an Azure resource group using [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
36-
> * Create an Azure Virtual Network using [azurerm_virtual_network](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network)
37-
> * Create three Azure subnets using [azurerm_subnet](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet)
38-
> * Create an Azure public IP using [azurerm_public_ip](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/public_ip)
39-
> * Create an Azure Firewall Policy using [azurerm_firewall_policy](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/firewall_policy)
40-
> * Create an Azure Firewall Policy Rule Collection Group using [azurerm_firewall_policy_rule_collection_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/firewall_policy_rule_collection_group)
41-
> * Create an Azure Firewall using [azurerm_firewall](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/firewall)
42-
> * Create a network interface using [azurerm_network_interface](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_interface)
43-
> * Create a network security group (to contain a list of network security rules) using [azurerm_network_security_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_security_group)
44-
> * Create an association between the network interface and the network security group using - [azurerm_network_interface_security_group_association](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_interface_security_group_association)
45-
> * Create a route table using [azurerm_route_table](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/route_table)
46-
> * Create an association between the route table and the subnet using - [azurerm_subnet_route_table_association](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet_route_table_association)
47-
> * Create a random value (to be used as the storage name) using [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string)
48-
> * Create a storage account using [azurerm_storage_account](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account)
49-
> * Create a random password for the Windows VM using [random_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password)
50-
> * Create an Azure Windows Virtual Machine using [azurerm_windows_virtual_machine](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_virtual_machine)
33+
> * Create a random value (to use in the resource group name) by using [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
34+
> * Create an Azure resource group by using [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
35+
> * Create an Azure Virtual Network by using [azurerm_virtual_network](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network)
36+
> * Create three Azure subnets by using [azurerm_subnet](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet)
37+
> * Create an Azure public IP by using [azurerm_public_ip](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/public_ip)
38+
> * Create an Azure Firewall Policy by using [azurerm_firewall_policy](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/firewall_policy)
39+
> * Create an Azure Firewall Policy Rule Collection Group by using [azurerm_firewall_policy_rule_collection_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/firewall_policy_rule_collection_group)
40+
> * Create an Azure Firewall by using [azurerm_firewall](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/firewall)
41+
> * Create a network interface by using [azurerm_network_interface](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_interface)
42+
> * Create a network security group (to contain a list of network security rules) by using [azurerm_network_security_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_security_group)
43+
> * Create an association between the network interface and the network security group by using [azurerm_network_interface_security_group_association](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_interface_security_group_association)
44+
> * Create a route table by using [azurerm_route_table](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/route_table)
45+
> * Create an association between the route table and the subnet by using [azurerm_subnet_route_table_association](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet_route_table_association)
46+
> * Create a random value (to use as the storage name) by using [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string)
47+
> * Create a storage account by using [azurerm_storage_account](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account)
48+
> * Create a random password for the Windows VM by using [random_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password)
49+
> * Create an Azure Windows Virtual Machine by using [azurerm_windows_virtual_machine](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_virtual_machine)
5150
5251
## Prerequisites
5352

5453
- [Install and configure Terraform](/azure/developer/terraform/quickstart-configure)
5554

5655
## Implement the Terraform code
5756

57+
5858
> [!NOTE]
5959
> The sample code for this article is located in the [Azure Terraform GitHub repo](https://github.com/Azure/terraform/tree/master/quickstart/201-azfw-with-avzones). You can view the log file containing the [test results from current and previous versions of Terraform](https://github.com/Azure/terraform/tree/master/quickstart/201-azfw-with-avzones/TestRecord.md).
6060
>
6161
> See more [articles and sample code showing how to use Terraform to manage Azure resources](/azure/terraform)
6262
63-
1. Create a directory in which to test the sample Terraform code and make it the current directory.
63+
64+
1. Create a directory to test the sample Terraform code and make it the current directory.
6465

6566
1. Create a file named `providers.tf` and insert the following code:
6667

@@ -127,4 +128,4 @@ In this article, you learn how to:
127128
Next, you can monitor the Azure Firewall logs.
128129

129130
> [!div class="nextstepaction"]
130-
> [Tutorial: Monitor Azure Firewall logs](./firewall-diagnostics.md)
131+
> [Tutorial: Monitor Azure Firewall logs](./monitor-firewall.md)

articles/firewall/quick-create-ipgroup-bicep.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
---
22
title: 'Quickstart: Create an Azure Firewall and IP Groups - Bicep'
33
description: In this quickstart, you learn how to use a Bicep file to create an Azure Firewall and IP Groups.
4-
services: firewall
54
author: duongau
5+
ms.author: duau
66
ms.service: azure-firewall
77
ms.topic: quickstart
8+
ms.date: 03/29/2026
89
ms.custom: subject-bicepqs, mode-arm, devx-track-bicep
9-
ms.date: 08/25/2022
10-
ms.author: duau
1110
# Customer intent: As a cloud engineer, I want to deploy an Azure Firewall using a Bicep file, so that I can easily manage and group IP addresses within firewall rules in my network infrastructure.
1211
---
1312

1413
# Quickstart: Create an Azure Firewall and IP Groups - Bicep
1514

16-
In this quickstart, you use a Bicep file to deploy an Azure Firewall with sample IP Groups used in a network rule and application rule. An IP Group is a top-level resource that allows you to define and group IP addresses, ranges, and subnets into a single object. IP Group is useful for managing IP addresses in Azure Firewall rules. You can either manually enter IP addresses or import them from a file.
15+
In this quickstart, use a Bicep file to deploy an Azure Firewall with sample IP Groups used in a network rule and application rule. An IP Group is a top-level resource that you use to define and group IP addresses, ranges, and subnets into a single object. An IP Group is useful for managing IP addresses in Azure Firewall rules. You can either manually enter IP addresses or import them from a file.
1716

1817
[!INCLUDE [About Bicep](~/reusable-content/ce-skilling/azure/includes/resource-manager-quickstart-bicep-introduction.md)]
1918

@@ -29,7 +28,7 @@ The Bicep file used in this quickstart is from [Azure Quickstart Templates](http
2928

3029
:::code language="bicep" source="~/quickstart-templates/quickstarts/microsoft.network/azurefirewall-create-with-ipgroups-and-linux-jumpbox/main.bicep":::
3130

32-
Multiple Azure resources are defined in the Bicep file:
31+
The Bicep file defines multiple Azure resources:
3332

3433
- [**Microsoft.Network/ipGroups**](/azure/templates/microsoft.network/ipGroups?pivots=deployment-language-bicep)
3534
- [**Microsoft.Storage/storageAccounts**](/azure/templates/microsoft.storage/storageAccounts?pivots=deployment-language-bicep)
@@ -43,8 +42,8 @@ Multiple Azure resources are defined in the Bicep file:
4342

4443
## Deploy the Bicep file
4544

46-
1. Save the Bicep file as **main.bicep** to your local computer.
47-
1. Deploy the Bicep file using either Azure CLI or Azure PowerShell.
45+
1. Save the Bicep file as **main.bicep** on your local computer.
46+
1. Deploy the Bicep file by using either Azure CLI or Azure PowerShell.
4847

4948
# [CLI](#tab/CLI)
5049

@@ -62,12 +61,12 @@ Multiple Azure resources are defined in the Bicep file:
6261
6362
---
6463
65-
You'll be prompted to enter the following values:
64+
Enter the following values when prompted:
6665
67-
- **Admin Username**: Type username for the administrator user account
68-
- **Admin Password**: Type an administrator password or key
66+
- **Admin Username**: Enter a username for the administrator user account.
67+
- **Admin Password**: Enter an administrator password or key.
6968
70-
When the deployment finishes, you should see a message indicating the deployment succeeded.
69+
When the deployment finishes, you see a message indicating the deployment succeeded.
7170
7271
## Review deployed resources
7372
@@ -85,13 +84,14 @@ az resource list --resource-group exampleRG
8584
Get-AzResource -ResourceGroupName exampleRG
8685
```
8786

87+
8888
---
8989

9090
To learn about the Bicep syntax and properties for a firewall in a Bicep file, see [Microsoft.Network azureFirewalls template reference](/azure/templates/microsoft.network/azurefirewalls?pivots=deployment-language-bicep).
9191

9292
## Clean up resources
9393

94-
When you no longer need them, use the Azure portal, Azure CLI, or Azure PowerShell to remove the resource group, firewall, and all related resources.
94+
When you no longer need the resources, use the Azure portal, Azure CLI, or Azure PowerShell to remove the resource group, firewall, and all related resources.
9595

9696
# [CLI](#tab/CLI)
9797

0 commit comments

Comments
 (0)