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
Copy file name to clipboardExpand all lines: articles/firewall/deploy-bicep.md
+12-13Lines changed: 12 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,23 +1,22 @@
1
1
---
2
2
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.
# 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."
12
11
---
13
12
14
13
# Quickstart: Deploy Azure Firewall with Availability Zones - Bicep
15
14
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.
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.
21
20
22
21
The firewall is in the *AzureFirewallSubnet* subnet, and has an application rule collection with a single rule that allows access to `www.microsoft.com`.
23
22
@@ -37,7 +36,7 @@ The Bicep file used in this quickstart is from [Azure Quickstart Templates](http
@@ -50,8 +49,8 @@ Multiple Azure resources are defined in the Bicep file:
50
49
51
50
## Deploy the Bicep file
52
51
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.
55
54
56
55
# [CLI](#tab/CLI)
57
56
@@ -70,9 +69,9 @@ Multiple Azure resources are defined in the Bicep file:
70
69
---
71
70
72
71
> [!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**.
74
73
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.
76
75
77
76
## Review deployed resources
78
77
@@ -96,7 +95,7 @@ To learn about the syntax and properties for a firewall in a Bicep file, see [Mi
96
95
97
96
## Clean up resources
98
97
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.
Copy file name to clipboardExpand all lines: articles/firewall/deploy-terraform.md
+27-26Lines changed: 27 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,26 +1,25 @@
1
1
---
2
2
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.
5
4
author: duongau
5
+
ms.author: duau
6
6
ms.service: azure-firewall
7
7
ms.topic: quickstart
8
+
ms.date: 03/28/2026
8
9
ms.custom: devx-track-terraform
9
-
ms.date: 10/15/2023
10
-
ms.author: duau
11
-
content_well_notification:
10
+
content_well_notification:
12
11
- AI-contribution
13
12
ai-usage: ai-assisted
14
13
# 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."
15
14
---
16
15
17
16
# Quickstart: Deploy Azure Firewall with Availability Zones - Terraform
18
17
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.
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.
24
23
25
24
The firewall is in the *AzureFirewallSubnet* subnet and has an application rule collection with a single rule that allows access to `www.microsoft.com`.
26
25
@@ -31,36 +30,38 @@ For more information about Azure Firewall, see [Deploy and configure Azure Firew
31
30
In this article, you learn how to:
32
31
33
32
> [!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)
51
50
52
51
## Prerequisites
53
52
54
53
-[Install and configure Terraform](/azure/developer/terraform/quickstart-configure)
55
54
56
55
## Implement the Terraform code
57
56
57
+
58
58
> [!NOTE]
59
59
> 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).
60
60
>
61
61
> See more [articles and sample code showing how to use Terraform to manage Azure resources](/azure/terraform)
62
62
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.
64
65
65
66
1. Create a file named `providers.tf` and insert the following code:
66
67
@@ -127,4 +128,4 @@ In this article, you learn how to:
# 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.
12
11
---
13
12
14
13
# Quickstart: Create an Azure Firewall and IP Groups - Bicep
15
14
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.
@@ -43,8 +42,8 @@ Multiple Azure resources are defined in the Bicep file:
43
42
44
43
## Deploy the Bicep file
45
44
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.
48
47
49
48
# [CLI](#tab/CLI)
50
49
@@ -62,12 +61,12 @@ Multiple Azure resources are defined in the Bicep file:
62
61
63
62
---
64
63
65
-
You'll be prompted to enter the following values:
64
+
Enter the following values when prompted:
66
65
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.
69
68
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.
71
70
72
71
## Review deployed resources
73
72
@@ -85,13 +84,14 @@ az resource list --resource-group exampleRG
85
84
Get-AzResource -ResourceGroupName exampleRG
86
85
```
87
86
87
+
88
88
---
89
89
90
90
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).
91
91
92
92
## Clean up resources
93
93
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.
0 commit comments