Azure Functions and Azure Application Gateway or API Management

Question

I have several Microsoft Azure functions developed. I would like to use a gateway with firewall to make my Azure functions available and protected using one public IP only.

Is there way to use Azure Functions with Azure Application Gateway or API Management?

What would be the best approach in this case?

Solution

Azure API management allows you to provide a single access point for all your customers.

If you've made a HTTP triggered Azure Function (or any SOAP or REST service for that matter), you can use API management to provide a central access point for this function. This allows you to do load balancing / hot swapping / rate limiting / authentication and authorization / IP whitelisting and more.

See here for some more info on HTTP triggered functions: https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-serverless-api

See here for how to create an Open API for your Azure Function: https://docs.microsoft.com/en-us/azure/azure-functions/functions-openapi-definition