Creating VM instances in Azure for your Pexip nodes
To deploy a Pexip Infinity Management Node or a Conferencing Node within Azure you must create an Azure VM instance and then use that instance to host that Pexip node.
This section describes how to create a VM instance from a prepared disk image. You must create a separate VM instance for each Pexip node.
Note that you must deploy the Management Node in your Pexip Infinity platform (either on-premises or in Azure) before deploying any Conferencing Nodes. You must also have prepared your Azure environment.
Creating a VM instance
You follow the same basic procedure for creating a VM instance in Azure regardless of whether you are creating the Management Node or a Conferencing Node. The main differences are the VM Image Resource ID and VM size that you need to use.
To create the VM instance:
-
Create a new resource group to hold the instance.
We recommend that each VM instance (i.e. the Management Node and each Conferencing Node) is deployed in its own resource group.
- Go to and select .
- Select your Subscription and enter your Resource group name, such as pexmgr for the Management Node, or pexconf01, pexconf02 etc. for a Conferencing Node.
- Select your Region, and then select .
- On the page, select .
The equivalent example PowerShell commands are:
New-AzResourceGroup -Name pexmgr -Location <region name>
New-AzResourceGroup -Name pexconf01 -Location <region name>
-
Deploy the instance into the new resource group. This procedure describes how to do this via the Azure portal using an ARM template provided by Pexip:
- Decide which ARM template to use from the table below, and then use the "launch in Azure Portal" link to launch the template (after signing in to Azure if necessary).
- Enter the Basics by selecting your Subscription, Resource group and Location (region).
-
Complete the Settings (these are based on the template's parameters):
Name Description Vm Image ID The Resource ID of the Azure image (which is in the style /subscriptions/mysubscriptionid/resourceGroups/myressourcegroup/providers/Microsoft.Compute/images/myimage).
This resource ID can be obtained from the Azure portal by selecting your Management Node or Conferencing Node image, going to , and then copying the displayed Resource ID.
used for shared resources, and then selecting either yourSelecting the image resource ID
Dns Domain Name Label The domain name label (i.e. hostname) for the Virtual Machine.
When deploying an instance with a public IP address, this label must be the host part only — the name must not contain any periods.
Ip Address The statically-assigned private IP address for the Virtual Machine.
This must be within the IP range of your Virtual Network. Note that the first and last IP addresses of each subnet are reserved for protocol conformance, along with the x.x.x.1-x.x.x.3 addresses of each subnet, which are used for Azure services.
Admin Credential For password-based authentication templates, this is the password for logging into the Virtual Machine. Note that Azure requires a strong password (such as a mix of upper case, lower case and numeric characters).
For SSH key-based templates, this is the public SSH key for logging into the Virtual Machine (e.g. ssh-rsa AAA.... user@host). Do not use the Generate new key pair option (as this will generate an error) but instead use an existing public key or a key already stored in Azure.
Vm Size The size of the Virtual Machine (typically F4s v2 for a Management Node or F8s v2 for a Transcoding Conferencing Node). You can change the Size later from within the Azure portal (Virtual Machine settings), if required. See Recommended instance types and call capacity guidelines for more information.
Azure regularly updates the instance types that can be deployed in each region. Therefore, you may receive a "The requested size for resource <name> is currently not available in location <region> zones" style error when deploying a node. See Troubleshooting instance size errors for help in resolving these errors.
Diagnostics Storage Account Name The name of the storage account to use for boot diagnostics. This can be the same storage account that is used to hold the prepared disk images. Note that this storage account cannot use Premium storage. Network Name The name of the Virtual Network to connect to. Network Subnet Name The name of the Virtual Network subnet in which to place the Virtual Machine. Network Security Group Name The name of the Network Security Group to apply to the Virtual Machine. Network Resource Group The name of the Resource Group containing the Virtual Network and Network Security Group. - Review and confirm the Terms and Conditions.
- Select to deploy the instance.
-
It can sometimes take several minutes for your instance to be created and start running. You can use the Azure portal to monitor the status of your new instance.
If the instance deployment fails, review the Azure event diagnostics to help identify the problem.
-
You can now complete the deployment of the Pexip node.
See either Deploying a Management Node in Azure or Deploying a Conferencing Node in Azure as appropriate.
To deploy a template via PowerShell commands, follow this model:
$Credential=ConvertTo-SecureString <password/key> –asplaintext –force
New-AzResourceGroupDeployment -ResourceGroupName <resource group name> -TemplateUri <template URL> -vmImageID "<VM disk image Resource ID>" -dnsDomainNameLabel pexmgr -ipAddress "<private IP address>" -adminCredential $Credential -vmSize <VM size> -diagnosticsStorageAccountName <storage account name> -networkName <virtual network name> -networkSubnetName <Virtual Network subnet name> -networkSecurityGroupName <security group name> -networkResourceGroup <resource group name>
For example, for a Management Node using the template for password-based authentication and a public IP address:
$Credential=ConvertTo-SecureString Abcd_2468 –asplaintext –force
New-AzResourceGroupDeployment -ResourceGroupName pexmgr -TemplateUri https://pexipas.blob.core.windows.net/templates/20220112/virtual-machine-password-static-public-ip.json -vmImageID "/subscriptions/1bc-etc-9yz/resourceGroups/pexip_resources/providers/Microsoft.Compute/images/pexip-infinity-22-3-0-50323-0-0-management-node-image" -dnsDomainNameLabel pexmgr -ipAddress "10.0.0.5" -adminCredential $Credential -vmSize Standard_F4s_v2 -diagnosticsStorageAccountName pexipastore -networkName pexip_virtual_network -networkSubnetName default -networkSecurityGroupName PexSecGroup -networkResourceGroup pexip_resources
Azure Resource Manager (ARM) templates for deploying a VM instance
Pexip provides ARM templates which may be used to deploy a VM instance into a resource group (as described above). These templates may be used from PowerShell or the Azure CLI. Alternatively, you can use the templates to deploy an instance via the Azure Portal.
The templates allow you to choose whether to deploy an instance with either password-based or SSH-key based authentication, and either with or without a public address. Every template enables boot diagnostics for the Virtual Machine instance.
When you deploy this template, Microsoft is able to identify the installation of Pexip software with the Azure resources that are deployed. Microsoft is able to correlate the Azure resources that are used to support the software. Microsoft collects this information to provide the best experiences with their products and to operate their business. The data is collected and governed by Microsoft's privacy policies, which can be found at https://www.microsoft.com/trustcenter. Please contact your Pexip authorized support representative if you do not want to share with Microsoft the telemetry of the VMs that are running Pexip software.
Pick the template most suitable for your needs. Every template can be used to launch either a Management Node or a Conferencing Node instance.
Name | Authentication | Public IP address | Template URL | Resources created |
---|---|---|---|---|
virtual-machine-password-static-public-ip | Password based | Yes (static) |
https://pexipas.blob.core.windows.net/templates/20230124/virtual-machine-password-static-public-ip.json |
|
virtual-machine-password-no-public-ip | Password based | No |
https://pexipas.blob.core.windows.net/templates/20230124/virtual-machine-password-no-public-ip.json |
|
virtual-machine-sshkey-static-public-ip | SSH key based | Yes (static) |
https://pexipas.blob.core.windows.net/templates/20230124/virtual-machine-sshkey-static-public-ip.json |
|
virtual-machine-sshkey-no-public-ip | SSH key based | No |
https://pexipas.blob.core.windows.net/templates/20230124/virtual-machine-sshkey-no-public-ip.json |
|
Prior to 2020, the ARM templates and guidelines provided by Pexip for deploying VM instances used unmanaged disks in a storage account with standard performance. The current ARM templates use managed disks. VMs deployed with a mix of managed and unmanaged disks can co-exist in your Pexip Infinity deployment, however you may want to convert any previously deployed VMs to use managed disks with premium performance. For more information see Converting VM instances to managed disks and to premium performance.
Azure US Government Cloud
If you use Azure US Government Cloud you have to follow a modified procedure and make some changes to the ARM templates to ensure that you are using the correct environment:
- Manually download the required ARM template from the template URL shown in the table above (do not use the provided "launch in Azure portal" hyperlink).
-
Modify the ARM template to refer to the correct storage URI for US Government cloud:
Change .blob.core.windows.net to .blob.core.usgovcloudapi.net
- Upload the modified template as a "Custom Template" in your US Government Cloud environment. You can then use this template to create your instances.
Troubleshooting instance size errors
Azure regularly updates the instance types that can be deployed in each region. Therefore, you may receive a "The requested size for resource <name> is currently not available in location <region> zones" style error when deploying a node.
To resolve these types of errors you can edit the Pexip ARM template to add in a supported instance type for that region:
-
Obtain a list of available compute resources for your region:
-
Run a PowerShell command in the format Get-AzComputeResourceSku | where {$_.Locations -icontains "<region name>"}
For example: Get-AzComputeResourceSku | where {$_.Locations -icontains "uksouth"}
This will output a list of resources, including VirtualMachines, for example:
- Identify a resource name that is not tagged as "NotAvailableForSubscription" in your region.
-
-
Edit the Pexip ARM template and add in the resource that you have identified above:
- Start to deploy the instance, using the "launch in Azure Portal" link to launch the template as usual.
-
Select
. -
In the vmSize section, add in the name of resource that you have identified above.
Ensure that you maintain the correct style and structure of the list:
- Select .
You can now continue to deploy your node.
-
Complete the Settings as described above, but for Vm Size select the name of the resource you added to the template.
You can change the Size later from within the Azure portal (Virtual Machine settings), if required.