Using a custom VNET with the Teams Connector
If you need more control over the Teams Connector VNET, you can deploy and use your own customized VNET instead of the VNET that is created by a default Teams Connector installation.
However, your VNET must still meet the requirements of the Teams Connector environment, and thus you must use a script provided by Pexip to deploy your custom VNET.
Creating the custom VNET
You must use the create_vnet_deployment.ps1 script from the Teams Connector ZIP file to deploy your customized VNET.
This script ensures that the VNET meets all the required criteria and prerequisites for use with the Teams Connector.
These are the parameters of the create_vnet_deployment.ps1 script:
Parameter | Mandatory | Description |
---|---|---|
ResourceGroupName | Yes |
The name of the resource group to use. Example: "pexip-TeamsConn-blue-static-RG" |
VnetName | No | The name of the VNET. If omitted the name is generated in the format "pexip-tc-{uid}-VNET". |
VnetAddressPrefixes | No |
An array of virtual network address prefixes. Default: @("10.0.0.0/23") |
VmssSubnetAddressPrefix | No |
Specifies the subnet for the VMSS. Default: "10.0.0.0/24". |
FuncSubnetAddressPrefix | No |
Specifies the subnet for Azure functions. Default: "10.0.1.0/28". |
Tags | No |
Optional tags (name-value pairs) to apply to Azure resources and resource groups ($tags in the variable script). Example: @{"ResourceOwner"="user@domain"; "CostCenter"="Video Services";} |
Note that:
- The VNET must be in the same subscription as your Teams Connector.
- We recommend that you assign the $resourceGroupName variable in the following example script to use the static resource group for the VNET (i.e. $PxTeamsConnStaticResourceGroupName in the variables initialization script). It will be created if it does not already exist.
- You should run your variables initialization script to set the $PxAzureLocation and $PxSubscriptionId variables.
- You should create the VNET in advance of deploying the Teams Connector.
- The NSG attached to the VNET is not customizable and is created during the deployment of the Teams Connector.
Using your own preferred subnet ranges, you could run the create_vnet_deployment.ps1 script as:
# Name of the resource group to use. We recommend using the static resource group i.e. $PxTeamsConnStaticResourceGroupName
# in the variable script. For example "pexip-TeamsConn-blue-static-RG"
# The resource group is created if it does not already exist
$resourceGroupName = ""
# Azure Region (must be a supported region) in lowercase: uses $PxAzureLocation in the variable script
# Optional tags (name-value pairs) to apply to Azure resources and resource groups ($tags in the variable script)
# For example $tags= @{"ResourceOwner"="user@domain"; "CostCenter"="Video Services";}
$tags = @{}
Connect-AzAccount
Set-AzContext -SubscriptionId $PxSubscriptionId
$exists = Get-AzResourceGroup -Name $resourceGroupName -Location $PxAzureLocation -ErrorAction SilentlyContinue
if (!$exists) {
New-AzResourceGroup -Name $resourceGroupName -Location $PxAzureLocation -Tag $tags
} else {
Write-Host "The resource group $($exists.ResourceGroupName) already exists."
}
# Make sure to call this script from the expanded TeamsConnector ZIP folder
# You can assign a custom VNET name by providing a -VnetName parameter, otherwise "pexip-tc-{uid}-VNET" is used
./create_vnet_deployment.ps1 -ResourceGroupName $resourceGroupName -VnetAddressPrefixes @("10.20.0.0/23") -VmssSubnetAddressPrefix "10.20.0.0/24" -FuncSubnetAddressPrefix "10.20.1.0/28" -Tags $tags
# Example of script output:
# Deploying VNET
# Deployed VNET: "pexip-tc-{uid}-VNET"
# Deployed VNET resource ID: {VNET resource ID}
Blue-green deployments
When you are following (or planning to follow) a blue-green deployment strategy, you should set up a VNET in the static resource group of both the blue and green environments.
Using the custom VNET
When you deploy the Teams Connector you reference the VNET by setting $PxExistingVNETResourceId in the variables script to the VNET’s resource ID:
- Use the output of the create_vnet_deployment.ps1 script — line "Deployed VNET resource ID: {VNET resource ID}".
- The resource ID can also be retrieved from .
The resource ID is then passed as the -ExistingVNETResourceId parameter in the create_vmss_deployment.ps1 script. The Teams Connector VMs being deployed are then attached to this custom VNET instead of the default VNET.
Note that if the custom VNET is deployed into the static resource group, the deployment script will use this custom VNET automatically (without the need to specify the -ExistingVNETResourceId parameter).