0
votes

We have a bunch of function apps in Azure which are accessed via an API Management Service layer.

In the API Management Service Layer we have created inbound policies to white list certain IP addresses.

We would like to call one function app from another through the API Management Service, but are getting blocked by the IP address. I'm unable to find the IP address that is getting blocked.

We've white listed the external IP address of the API Management Service and all of our external facing IP addresses.

Has anyone experienced something similar? How can I tell what IP address is being called and how can we ensure that this IP address won't change if its an 'Azure one'.

2

2 Answers

1
votes

Why are you calling one function app from another function app and using the API Management to mediate the call? I would recommend you to follow the best practices in terms of calling one function to other, so if you are able to manage the trigger, just use an Event grid trigger, and send an event from Function X to the Event Grid Topic and then have a subscription in the topic for Function Y. In this scenario, you will have retry mechanisms out of the box, dead letter, etc. So you do not need to worry about the reliability of your calls. In case you cannot use Event Grid Trigger on your functions, and you need to use HTTP trigger, then call directly from Function X to Function Y, and implement a retry mechanism in that call, i would say.

0
votes

I've found the answer:

Click on the Function App Go to Platform features Go to Properties

It will list the current IP address and all the potential IP addresses that it may change to. This is different on each region.

These can then be white listed.