An Azure service that provides an event-driven serverless compute platform.
Flex Consumption plan function apps support outbound virtual network integration and are designed to route outbound traffic through the integrated subnet when configured, including for private endpoint scenarios.
From the documented behavior:
- Flex Consumption explicitly supports Virtual network integration (outbound) and Private endpoints (inbound) as part of its networking feature set.
- For Flex Consumption, outbound traffic is routed through shared gateways dedicated to the subnet used for VNet integration. Up to 27 shared gateways (27 IPs) are used per subnet, regardless of how many apps are integrated.
- The subnet must be dedicated, delegated to
Microsoft.App/environments, and at least/27in size (with/27recommended for a single app and/26for multiple apps). Using a smaller subnet or multiple apps on a/27reduces available outbound network capacity but does not change the expectation that outbound traffic is routed via the VNet integration.
There is no statement in the referenced documentation that Flex Consumption workers are allowed to bypass VNet integration and send outbound traffic directly from public IPs when VNet integration is configured. The documented model for Flex Consumption is that outbound traffic from function app instances is routed through the shared gateways in the integrated subnet.
The behavior described (some executions using a public outbound IP and being rejected by a private‑endpoint‑only Cognitive Service) is therefore not documented as expected behavior and is not described as a limitation of Flex Consumption in the provided material. Flex Consumption is documented as supporting private networking via VNet integration, not as a “non‑private only” plan.
Given the documentation:
- Flex Consumption is intended to be usable with private networking (VNet integration and private endpoints).
- There is no documented requirement to move to Premium solely to “guarantee” that some workers are VNet‑integrated while others are not; instead, Flex Consumption’s outbound model is that traffic is routed via the integrated subnet’s shared gateways.
If this behavior persists with a correctly configured, dedicated, and properly sized subnet, it aligns with a service issue rather than a documented, by‑design limitation.
For further troubleshooting and escalation:
- Verify the subnet used for VNet integration meets Flex Consumption requirements:
- Dedicated subnet.
- Delegation:
Microsoft.App/environments. - Size: at least
/27,/26recommended for multiple apps.
- Use the Network troubleshooter for the Function App (Diagnostic and solve problems → Network troubleshooter) to validate:
- VNet integration status.
- Private IP assignment to instances.
- DNS configuration and connectivity to dependencies.
- If configuration is valid and the issue continues, this should be treated as a service‑side bug and escalated via Azure Support.
References: