It is no surprise that we commonly face repetitive and time-consuming tasks. For example, you might want to create multiple storage accounts. You would have to follow the same steps multiple times to get your job done. This is why Microsoft supports its Azure services with multiple ways of automating most of the tasks that can be implemented in Azure. In this Azure Powershell tutorial, we will learn how to automate redundant tasks on Azure cloud.
This article is an excerpt from the book, Hands-On Networking with Azure, written by Mohamed Waly.
PowerShell is commonly used with most Microsoft products, and Azure is no less important than any of these products.
You can use Azure PowerShell cmdlets to manage Azure Networking tasks, however, you should be aware that Microsoft Azure has two types of cmdlets, one for the ASM model, and another for the ARM model.
The main difference between cmdlets of the ASM model and the ARM model is, there will be an RM added to the cmdlet of the current portal.
For example, if you want to create an ASM virtual network, you would use the following cmdlet:
But for the ARM model, you would use the following:
By default, you can use Azure PowerShell cmdlets in Windows PowerShell, but you will have to install its module first.
Installing the Azure PowerShell module
There are two ways of installing the Azure PowerShell module on Windows:
- Download and install the module from the following link: https://www.microsoft.com/web/downloads/platform.aspx
- Install the module from PowerShell Gallery
Installing the Azure PowerShell module from PowerShell Gallery
The following are the required steps to get Azure PowerShell installed:
- Open PowerShell in an elevated mode.
- To install the Azure PowerShell module for the current portal run the following cmdlet Install-Module AzureRM. If your PowerShell requires a NuGet provider you will be asked to agree to install it, and you will have to agree for the installation policy modification, as the repository is not available on your environment, as shown in the following screenshot:
Creating a virtual network in Azure portal using PowerShell
To be able to run your PowerShell cmdlets against Azure successfully, you need to log in first to Azure using the following cmdlet:
Then, you will be prompted to enter the credentials of your Azure account. Voila! You are logged in and you can run Azure PowerShell cmdlets successfully.
To create an Azure VNet, you first need to create the subnets that will be attached to this virtual network. Therefore, let’s get started by creating the subnets:
$NSubnet = New-AzureRMVirtualNetworkSubnetConfig –Name NSubnet -AddressPrefix 192.168.1.0/24 $GWSubnet = New-AzureRMVirtualNetworkSubnetConfig –Name GatewaySubnet -AddressPrefix 192.168.2.0/27
Now you are ready to create a virtual network by triggering the following cmdlet:
New-AzureRMVirtualNetwork -ResourceGroupName PacktPub -Location WestEurope -Name PSVNet -AddressPrefix 192.168.0.0/16 -Subnet $NSubnet,$GWSubnet
Congratulations! You have your virtual network up and running with two subnets associated to it, one of them is a gateway subnet.
Adding address space to a virtual network using PowerShell
To add an address space to a virtual network, you need to retrieve the virtual network first and store it in a variable by running the following cmdlet:
$VNet = Get-AzureRMVirtualNetwork -ResourceGroupName PacktPub -Name PSVNet
Then, you can add the address space by running the following cmdlet:
Finally, you need to save the changes you have made by running the following cmdlet:
Set-AzureRmVirtualNetwork -VirtualNetwork $VNet
Azure CLI is an open source, cross-platform that supports implementing all the tasks you can do in Azure portal, with commands.
Azure CLI comes in two flavors:
- Azure CLI 2.0: Which supports only the current Azure portal
- Azure CLI 1.0: Which supports both portals
Throughout this book, we will be using Azure CLI 2.0, so let’s get started with its installation.
Installing Azure CLI 2.0
Perform the following steps to install Azure CLI 2.0:
- Download Azure CLI 2.0, from the following link: https://azurecliprod.blob.core.windows.net/msi/azure-cli-2.0.22.msi
- Once downloaded, you can start the installation:
- Once you click on Install, it will start to validate your environment to
check whether it is compatible with it or not, then it starts the
- Once the installation completes, you can click on Finish, and you are good to go:
- Once done, you can open cmd, and write az to access Azure CLI commands:
Creating a virtual network using Azure CLI 2.0
To create a virtual network using Azure CLI 2.0, you have to follow these steps:
- Log in to your Azure account using the following command az login, you have to open the URL that pops up on the CLI, and then enter the following code:
- To create a new virtual network, you need to run the following command:
az network vnet create --name CLIVNet --resource-group PacktPub --location westeurope --address-prefix 192.168.0.0/16 --subnet-name s1 --subnet-prefix 192.168.1.0/24
Adding a gateway subnet to a virtual network using Azure CLI 2.0
To add a gateway subnet to a virtual network, you need to run the following command:
az network vnet subnet create --address-prefix 192.168.7.0/27 --name GatewaySubnet --resource-group PacktPub --vnet-name CLIVNet
Adding an address space to a virtual network using Azure CLI 2.0
To add an address space to a virtual network, you can run the following command:
az network vnet update address-prefixes –add <Add JSON String>
Remember that you will need to add a JSON string that describes the address space.
To summarize, we learned how to automate cloud tasks using PowerShell and Azure CLI. Check out the book Hands-On Networking with Azure, to learn how to build large-scale, real-world apps using Azure networking solutions.