Hello Kasyap Velavarthipati,
Thank you for posting your question in the Microsoft Q&A forum.
Azure Standard Load Balancer (SLB) does not support HTTP path-based health probes when the backend pool consists of Azure Container Instances (ACI) attached by private IP. This is due to ACI’s use of managed NAT, which prevents the SLB’s HTTP probe from reaching the container’s health endpoint directly.
There can be some key Reasons for Health Probe Failures you need to verify:
- Managed NAT in ACI: ACI uses NAT for inbound traffic, which interferes with the SLB’s ability to perform HTTP health checks.
- TCP Probes Work, HTTP Probes Fail: While TCP probes (port checks) may succeed, HTTP probes fail because the SLB cannot route the probe request to the correct container path.
- No Direct IP-to-Container Mapping: The SLB sends probes to the ACI’s private IP, but ACI’s NAT does not forward HTTP probes to the container’s internal endpoint.
Some recommendations to resolve as below:
- Use TCP Health Probes (instead of HTTP) if a simple port check is sufficient.
- Deploy an Intermediate Service (e.g., API Management, Application Gateway)
- Azure Application Gateway supports path-based routing and HTTP health probes with ACI.
- Azure API Management can also route traffic while performing health checks.
- Consider Azure Kubernetes Service (AKS): If dynamic scaling is needed, AKS integrates better with SLB’s HTTP probes.
If the above answer helped, please do not forget to "Accept Answer" as this may help other community members to refer the info if facing a similar issue. Your contribution to the Microsoft Q&A community is highly appreciated.