When using the Microsoft internal load balancer (ILB), I would like to create a pool for VMs that reside in a VNET that is a different than the VNET where the ILB is located. The UI would seem to support this as I can select any VNET in my environment when creating the pool. Yet, when I create this pool, I receive the following error that would imply this is not allowed.
NetworkInterfaceAndInternalLoadBalancerMustUseSameVnet
{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"code\": \"NetworkInterfaceAndInternalLoadBalancerMustUseSameVnet\",\r\n \"message\": \"Network interface /subscriptions/2f46d973-XXXX-XXXX-80a7-7222a103acb4/resourceGroups/ihde_operations/providers/Microsoft.Network/networkInterfaces/op-vm-ftp1463 uses internal load balancer /subscriptions/2f46d973-cea1-XXXX-XXXX-7222a103acb4/resourceGroups/ihde_dev/providers/Microsoft.Network/loadBalancers/dev-lb-CSL-Internal but does not use the same VNET (/subscriptions/2f46d973-cea1-4856-80a7-7222a103acb4/resourceGroups/IHDE_DEV/providers/Microsoft.Network/virtualNetworks/VNET_BACKEND) as the load balancer.\",\r\n \"details\": []\r\n }\r\n}"}]}
As a side note, the public version of the load balancer does support this this scenario without any issues.
Per this doc.
For an internal Load Balancer, It enables load balancing of VMs in a virtual network to a set of VMs that reside within the same virtual network. So you could not create a pool for VMs that reside in a VNET that is a different than the VNET where the ILB is located.