Preparing your Azure environment
This topic explains how to prepare your Azure environment before installing Pexip Infinity. It describes how to set up your Resource Group, Virtual Network and Storage Account in your chosen Azure region, and to prepare an SSH key if you intend to use key-based authentication.
This guide assumes you are starting with a fresh Azure portal.
Note that the images shown in this guide depict an example deployment. Unless explicitly stated, you should use your own resource names and address spaces etc. as appropriate for your own environment. Also, as the Azure portal is regularly updated, some images and labels shown here may not directly match the currently available options.
The diagram below shows how the various resource elements that you need to create within the Azure environment are related to each other. This topic explains how to create the shared Resource Group, Virtual Network and Storage Account. Subsequent topics in this guide explain how the prepared disk image is created, and how the Resource Groups are created for your VM instances for each Pexip node.
This guide provides examples of how to complete the tasks using either the Azure portal, or via PowerShell.
When using PowerShell commands you must first sign in to your Azure subscription with the Connect-AzAccount command and follow the on-screen directions to authenticate.
If necessary you can change the subscription context with the command:
Set-AzContext -SubscriptionId "xxxx-xxxx-xxxx-xxxx"
where xxxx-xxxx-xxxx-xxxx is the ID of the subscription you want to use.
See Running the script via your Windows client for more information about running PowerShell scripts and Azure Resource Manager.
Resource Groups are logical containers for a collection of resources used for your Pexip deployment.
We recommend that all of your shared resources use the same Resource Group. The shared resources that you should place in this Resource Group include:
- Network Security Group
- Virtual Network
- Storage Account
- Prepared disk images (these are used to create the individual VM instances for your Conferencing Nodes and Management Node)
When you deploy your Pexip Infinity nodes, we recommend that each VM instance that you create for your Conferencing Nodes or Management Node is deployed in its own Resource Group. This is not a mandatory requirement but it does allow you to subsequently manage each of your VM instance's resources more easily.
Use the New-AzResourceGroup command:
New-AzResourceGroup -Name <resource group name> -Location <region name>
New-AzResourceGroup -Name pexip_resources -Location centralus
A Virtual Network allows Azure resources to securely communicate with each other, and is where your VM instances will be deployed. See https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview for more information.
$virtualNetwork = New-AzVirtualNetwork -ResourceGroupName pexip_resources -Location centralus -Name pexip_virtual_network -AddressPrefix 10.0.0.0/24
$subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name default -AddressPrefix 10.0.0.0/24 -VirtualNetwork $virtualNetwork
$virtualNetwork | Set-AzVirtualNetwork
A general-purpose storage account provides access to all of the Azure storage services, and is used for storing the prepared Pexip Infinity VHD images and VM boot diagnostics. (We recommend that the Azure VMs use managed disks, and thus the VMs are not associated with a storage account.)
Note that a storage account cannot use Premium storage if it is used for VM boot diagnostics.
For more information on Azure disk types see https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types.
Use the New-AzStorageAccount command:
New-AzStorageAccount -ResourceGroupName <resource group name> -Name <storage account name> -Location <region name> -SkuName Standard_LRS -Kind StorageV2
New-AzStorageAccount -ResourceGroupName pexip_resources -Name pexipastore -Location centralus -SkuName Standard_LRS -Kind StorageV2
If you intend to use an SSH key-based template for deploying your VM instances, you should prepare your SSH keys in advance, and optionally store them in Azure, prior to using the template. (This is because using the Generate new key pair option for the Admin Credential field in the template will generate an error).
You now have a Resource Group, Storage Account and Virtual Network for your Pexip deployment.