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 URI and VM size that you need to use.

To create the VM instance:

  1. In the same storage account that contains the prepared disk images, create a new storage container to hold the instance disk:

    1. Go to Storage accounts, select your existing storage account, select Containers, then select + Container.
    2. Enter a Name such as pexmgr (for the Management Node container) or pexconf01, pexconf02 etc (for a Conferencing Node container).
    3. Specify a Public access level of Container.
    4. Select OK.

    Container for the Management Node

    Container for a Conferencing Node

  2. Create a new resource group to hold the instance.

    Each VM instance (i.e. the Management Node and each Conferencing Node) must be deployed in its own storage container and its own resource group.

    1. Go to Resource Groups and select + Add.
    2. Enter your Resource group name, such as pexmgr (for the Management Node container) or pexconf01, pexconf02 etc (for a Conferencing Node container).
    3. Select your Subscription and your Resource group location, and then select Create.

    Resource Group for the Management Node

    Resource Group for a Conferencing Node

  3. Deploy the instance into the new storage container and resource group. This procedure describes how to do this via the Azure portal using an ARM template provided by Pexip:

    1. 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).
    2. Enter the Basics by selecting your Subscription and Resource group.
    3. Complete the Settings (these are based on the template's parameters):

      Name Description
      Vm Image URI

      The URI of the prepared VM disk image (e.g. https://mystorageaccount.blob.core.windows.net/vm-images/my-machine-image.vhd).

      This should refer to either the Management Node or Conferencing Node prepared disk image, depending on which type of node you want to install.

      This URI can be obtained from the Azure portal by selecting Storage account > Containers > vm-images and then selecting either your Management Node or Conferencing Node image, and then copying the displayed URL.

      Management Node image URI

      Conferencing Node image URI

      Storage Container Name The name of the storage container you created earlier to hold the instance disk.
      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).

      Vm Size

      The size of the Virtual Machine (typically Standard A3 for a Management Node or F8 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.

      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.
    4. Review and confirm the Terms and Conditions.
    5. Select Purchase to deploy the instance.

    Management Node VM deployment

    Conferencing Node VM deployment

  4. 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.

  5. 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.

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.

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/20180924/virtual-machine-password-static-public-ip.json

(launch in Azure Portal)

  • Public IP address
  • Network interface
  • Virtual Machine
virtual-machine-password-no-public-ip Password based No

https://pexipas.blob.core.windows.net/templates/20180924/virtual-machine-password-no-public-ip.json

(launch in Azure Portal)

  • Network interface
  • Virtual Machine
virtual-machine-sshkey-static-public-ip SSH key based Yes (static)

https://pexipas.blob.core.windows.net/templates/20180924/virtual-machine-sshkey-static-public-ip.json

(launch in Azure Portal)

  • Public IP address
  • Network interface
  • Virtual Machine
virtual-machine-sshkey-no-public-ip SSH key based No

https://pexipas.blob.core.windows.net/templates/20180924/virtual-machine-sshkey-no-public-ip.json

(launch in Azure Portal)

  • Network interface
  • Virtual Machine

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:

  1. Obtain a list of available compute resources for your region:

    1. Run a PowerShell command in the format Get-AzureRmComputeResourceSku | where {$_.Locations -icontains "<region name>"}

      For example: Get-AzureRmComputeResourceSku | where {$_.Locations -icontains "uksouth"}

      This will output a list of resources, including VirtualMachines, for example:

    2. Identify a resource name that is not tagged as "NotAvailableForSubscription", such as Standard_F2s_v2 in this example.
  2. Edit the Pexip ARM template and add in the resource that you have identified above:

    1. Start to deploy the instance into the new storage container and resource group, using the "launch in Azure Portal" link to launch the template as usual.
    2. Select Edit template.

    3. In the vmSize section, add in the name of resource that you have identified above, for example Standard_F2s_v2.

      Ensure that you maintain the correct style and structure of the list, for example:

    4. Select Save.

    You can now continue to deploy your node.

  3. 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.