I created VNET in Azure. I put in one subset Azure Private Link which calls Azure Function outside of the VNET and in another one Virtual machine.
When I tried to call private endpoint by private IP I got a 400 exception. And if I try to ping private IP from the VM it doest work.
But by URL it works well.
Is it any way to call it by IP?
I also face the same scenario and it seems it's expected behavior.
First of all, instead of Ping tool(using ICMP protocol) inside Azure VM, you could use PsPing tool(using TCP protocol) to test the networking connectivity.
It indicates the Azure function with port 443 with private endpoint is open and should be abled to accepted connection.
Azure function on Azure app service plan is multi-tenant, the same IP address is used for many web apps. Thus, we can not call each instance with it's IP address via the web browser. If you would like to call it with private IP, as a workaround, you could call it by Postman tool with adding your azure function host as the picture displayed.