In the past, App Service virtual network integration required one subnet for each App Service plan integration. In the case of many App Service plans, subnet management may be an unnecessary administrative burden.
An address space of at least /26 (64 addresses) is required for a subnet used for multi plan subnet join (MPSJ). While all App Service plans that join a certain subnet must be in the same subscription, MPSJ allows you to join a virtual network or subnet in a separate subscription.
You may still want to use individual subnets if you intend to discriminate based on Network Security Group settings, NAT gateway, or other subnet-specific configurations.
When using MPSJ, pay special attention to the subnet size. any instance of any App Service plan requires its own IP address. When scaling up/down, the IP address need remains twice for that specific plan, and when scaling in, the IP addresses may take some time to be released. There is no restriction to how many App Service plans you can connect with a single subnet, however the number of accessible IPs is limited.
You can also enable the feature through the Azure CLI or ARM. To connect via CLI, you need the subnet’s Azure Resource Id.
az resource update --name <app-name> --resource-type "Microsoft.Web/sites" --resource-group <resource-group-name> --set properties.virtualNetworkSubnetId="/subscriptions/<subcription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>"
By default, the Azure portal supports virtual network routing of application outgoing internet traffic; however, if you join using CLI, you must either go to the Azure portal to set it or run this script:
az resource update --name <app-name> --resource-type "Microsoft.Web/sites" --resource-group <resource-group-name> --set properties.vnetRouteAllEnabled=true
Ref- MPSJ Integration