Hello Pratima Patil,
Your setup is almost there, but there’s one important catch. While your Event Grid Domain has a private endpoint in Vnet B (DBcore-vnet) for secure inbound communication, outbound communication (like delivering events to your webhook in Vnet A) works a bit differently. Event Grid always sends events outbound using public endpoints, even if the domain itself is accessed via private networking. This means your current setup won’t let the Event Grid Domain directly communicate with the private webhook in Vnet A.
Basically, for everything to work right, your private webhook endpoint needs to be reachable by Event Grid's public IPs. There are a few different ways you can set that up.
- If your endpoint is open to the public, just setting up IP allowlisting for Event Grid's IP range is the easiest way to go.
- You could use Azure API Management to create a secure connection between Event Grid and your private webhook. (This is not the best solution in terms of cost.)
- Another way is to create an Azure Function or Logic App inside your private network that gets the events and passes them on to your webhook. (This is not the best solution in term of effort but It works if you need to keep the traffic in your internal network)
In short, with your current setup, the Event Grid Domain won’t fully be able to reach the private webhook, since outbound traffic doesn’t use private networking. You’ll need one of the above workarounds to get this.
References:
- https://learn.microsoft.com/en-us/azure/event-grid/
- https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview
- https://learn.microsoft.com/en-us/azure/event-grid/end-point-validation-cloud-events-schema
If the information helped address your question, please Accept the answer.
Luis