An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.
Hi Karthik,
Thanks for sharing the detailed setup and the troubleshooting you’ve already done, that really helps narrow things down.
What you’re trying to achieve (using the failover listener as a single datasource endpoint so that it always resolves to the current primary) is a valid design in general. However, in this specific case with Azure SQL Managed Instance and Azure AI Search, the limitation you’re hitting is due to networking rather than datasource configuration.
The failover listener for Managed Instance is exposed within a VNet context and follows VNet-level access rules. Services like Azure Functions can connect successfully because they are either VNet-integrated or deployed within the same network boundary. Azure AI Search, on the other hand, runs outside of your VNet unless explicitly configured otherwise, and it does not have native support to reach the Managed Instance failover listener endpoint in this scenario.
From the behavior you observed, where the public endpoint on port 3342 works but the listener endpoint does not — this confirms that the issue is network reachability and not related to how the datasource or indexer is defined. Even if both services are in the same subscription, network access is not implicitly shared, which is why the function works while the indexer fails.
Given this, using the failover endpoint as a single datasource for Azure AI Search is not a supported or reliable approach with Managed Instance today. The current design with separate datasources and indexers per region is the correct and stable pattern in this setup.
To address the failover gap you mentioned (where indexers need to be manually triggered), a practical solution is to automate this step. You can use an Azure Function or automation workflow that detects or is triggered during failover and then runs the appropriate indexer corresponding to the new primary region. This ensures your index remains up to date without manual intervention.
I understand this adds some operational overhead, but given the networking constraints with Managed Instance, this is the most reliable approach at the moment.
If you’d like, I can also help you design a simple automation flow for triggering the correct indexer during failover.