These steps are to be done on an empty subscription preferably.
You might be messy in real life, its fine, I am messy too, but in Azure organization and clear objectives are key. So, in the Azure Portal, create the following RGs: (you don’t need to create the ones marked with NO today)
Using your OrgName/Domain Name:
| RG Name | Use | Azure Region | Create Today? |
|---|---|---|---|
| OrgName.CoreServers | To Store DCs and other core servers | East 2 | YES |
| OrgName.Servers | For Other servers connected to AD | East 2 | YES |
| OrgName.Networking | For Network stuff, VNet and NSGs for example | East 2 | YES |
| OrgName.Clients | If you ever create client vms, then they go here | East 2 | NO |
| OrgName.DBs | In the future, you might want to have BDs for demos. They go here | East 2 | NO |
| OrgName.Security | Security Stuff here, including Sentinel | East 2 | NO |
| OrgName.Purview | Purview objects in Azure will go here | East 2 | NO |
| OrgName.AnyOther… | In the future, any other should continue the name convention | East 2 | NO |
The benefit of having this setup is simply organization, permissions managements and to show off to customers that you heard from a guy who have been rebuilding labs for as long as Azure exists, that this makes it simpler once its running.
Azure Regions on the RG means not much more than simply a form of templating creation of stuff inside of them. Region is still critical to check when creating stuff
Also, Azure will create some RGs by itself in each region you use, as they are automatic and will recreate nonetheless, so we will ignore them.
Go to the OrgName.Networking RG and then hit create, and search for Virtual Network:
make sure to select Virtual Network and not the Gateway

Add each of the following subnets, in order (all not noted leave defaults). All with Subnet Purpose “Default”:
| Name | Range | Size |
|---|---|---|
| R0.CoreServers | .100 | 28 |
| R1.Servers | .100 | 27 |
| R2.Apps | .100 | 26 |
| R3.HybridClients | .101 | 27 |
| R3.Clients | .101 | 27 |
The reason we want to create them in order is so Azure Portal will calculate the starting IP for the next subnet. This is not a subnetting course, took me a while to learn about it, but you can do so too: Subnetting Reference.
Each of these subnets have a reason to exists, even the last network we added (192.168.102.0/24):
All of these follows the onion/rings of sensitivity concept. NSGs next will make this more intuitive.
By default, Azure provides our network with NAT and free traffic flow outwards (towards Internet), and no traffic inwards. But we don’t want defaults in security. In the Networking RG, go and create a Network Security Group.

This will use a single NSG, later you should create more and specifically create rules that might restrict more, and even more important, you should never go to sleep with RDP Open towards your network. RDP stands for Ransomware Deployment Protocol just as much as Remote Desktop Protocol.