NetworkConfiguration.SubnetId Property

Definition

Gets or sets the ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join.

public string SubnetId { get; set; }
member this.SubnetId : string with get, set
Public Property SubnetId As String

Property Value

Remarks

The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. For pools created via VirtualMachineConfiguration only only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported, but for pools created with CloudServiceConfiguration both ARM and classic virtual networks are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a VirtualMachineConfiguration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a CloudServiceConfiguration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.

Applies to