We have private AKS cluster create under a virtual network (MC resource group). We also have an APIM crated under the same virtual network. A few services are deployed in K8 and exposed via internal loadbalancer of K8. when we do kubectl get svc get a cluster IP and an external IP. I've used the external IP to connect to APIM. but its failing with the following error
Unable to download specified file. Please ensure the URL is valid and the file is publicly accessible.
The error of unable to download ...
might be from the URL of the IP address, because when the field is filled with a azure blob storage url, no errors should come.
I think you can try to add api instance by uploading json file from localhost.
Also, Add a new Inbound Security Rule in the Network Security Groups.
In that, select Service Tag, the following dropdown change the label in Source service tag. From this dropdown, you there is an option for ApiManagement.
You have to allow select IP from the dropdown list and type the IP of the API Management Service.
For more information to resolve this error, refer here and also this SO Thread.