With the release of a top class SKU for Azure Firewall, many of us turned into enthusiastic about each checking out and migrating to the SKU for brand spanking new options. On the other hand, the migration trail calls for that you just prevent/deallocate your Azure Firewall (AFW), alter the SKU, then get started up once more.
With the outage required, it’s great to have an infrastructure-as-code way to permit for fast checking out upfront/parallel. It’s additionally a profitable piece of effort to have your laws and config documented, as those can also be stored rather separate for your SKU necessities, particularly laws.
This publish will undergo what is needed to have Azure Firewall Top rate able to deploy the usage of Bicep. The repo comprises some naked minimums to finish checking out, however you’ll alter as required by way of merely enhancing and reusing the AFW module to your personal atmosphere. An instance could be including your personal certificates for TLS inspection checking out.
The entire code mentioned on this publish is positioned on Github on this repo.
So I’ve cut up out the take a look at assets into a number of modules, which permits for higher organisation, but additionally permits me to reuse code blocks once I need to. As I’m going, I’m build up a collection of bicep information I will be able to reuse as wanted on different atmosphere with minimum adjustments.
As this publish is set Azure Firewall, shall we’ get started there – afw.bicep

As you’ll see, the Azure Firewall module is rather easy. The remainder of the core community assets required to in truth construct an Azure Firewall are in community.bicep. This module can also be considered as a grouping to your AFW settings.
The Firewall Coverage useful resource – azFWPol – is the place some complexity comes into play, particularly the diversities for Top rate. You could want to imagine conditional deployments right here, should you sought after your code to be versatile relying in your tier. As an example, if Dev, deploy Same old SKU and so on. Despite the fact that SKU is ready throughout the Firewall useful resource – azFW.
Now, you could be asking (when you have seemed on the code!) however the place are my laws? I’ve moved those out to a separate module to permit for simplicity of adjustments. Because of this we will be able to hardly ever have to switch the AFW module, and our edit dangers are decreased.
The module – laws.bicep – merely accommodates a unmarried rule assortment, with a unmarried rule. However the premise is that this, the usage of Bicep, you’ll regulate and report all laws as code, making operation a lot more straightforward. The place it might probably grow to be rather advanced is the place you will have advanced, huge scale rule assortment teams. If so, you might imagine splitting those out into their very own person modules. This relies on your atmosphere.
On the other hand, the wonderful thing about having this setup, and some of the causes in the back of this publish, is as a way to briefly take a look at issues if/when required. This complete construct constantly takes below ten mins deploying to North Europe the usage of Microsoft hosted brokers

And that’s it, the repo accommodates all you wish to have to deploy Azure Firewall Top rate, and edit for your explicit necessities. Excellent good fortune together with your checking out, and as all the time if there are any questions – simply ask!