Yep, your use case is a fairly common scenario - here are a few options that rely on having Azure Container Instance deployed into an Azure VNet:
Option 1: Azure Bastion + Jump Host
If you want browser access to Neo4j Browser (which uses HTTP/WebSockets):
- Create a VM (Jump Host) inside the same VNet as your container.
- Install a lightweight browser or use
ssh -L
port forwarding from this VM. - Access Neo4j from the VM’s browser locally.
Option 2: Private endpoint + Azure VPN or ExpressRoute
If you have an on-prem network or local dev environment and want to access Neo4j from there:
- Deploy the ACI in a VNet.
- Set up a VPN Gateway or ExpressRoute to your Azure VNet.
- Connect to Neo4j’s private IP over the VPN from your local environment.
Option 3: Use Azure Application Gateway or Azure Firewall with IP Restrictions
If browser access is a must and you can't set up a VPN or jump host:
- Deploy an Application Gateway or Azure Firewall in front of your container.
- Restrict access to only your office IP or specific IP ranges.
- Expose only necessary ports (7474 for HTTP, 7687 for Bolt if needed).
- Use Web Application Firewall (WAF) to add security.
If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.
hth
Marcin