Create Azure Front Door in front of Azure API Management

Last updated: 29/04/2020

This sample demonstrates how to use Azure Front Door as a global load balancer in front of Azure API Management.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
location Location for the Azure resources.
virtualNetwork Specifies the Virtual Network configuration.
workspaceName Name of the Log Analytics workspace
workspaceSku Pricing tier: PerGB2018 or legacy tiers (Free, Standalone, PerNode, Standard or Premium) which are not available to all customers.
appInsightsName The name of your Application Insights resource used by API Management.
apimServiceName The name of your API Management service.
apimPublisherEmail The email address of the owner of the service
apimPublisherName The name of the publisher.
apimSku The pricing tier of this API Management service. Only Developer and Premium are supported when deploying into a shared VNET.
apimCapacity Number of deployed units of the SKU.
frontDoorName Name of the Azure Front Door which is globally unique. Min length: 5. Max length: 64
frontDoorEnforceCertificateNameCheck Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. - Enabled or Disabled
frontDoorFrontendEndpoint This parameter contains the name and properties of the frontend endpoint.
frontDoorBackendPool This parameter contains the name and properties of the Application Gateway Backend Pool
frontDoorRoutingRule This parameter contains the name and properties of the routing rule.
frontDoorHealthProbeSettings This parameter contains the name and properties of the health probe settings.
deployWaf Specifies whether to deploy a global WAF policy in Front Door.
wafPolicyName The name of the WAF policy
wafMode Describes if it is in detection mode or prevention mode at policy level.
allowTrafficOnlyFromFrontDoor Specifies whether to allow traffic to API Management public endpoints only from Front Door.

Use the template

PowerShell

New-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-front-door-api-management/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deployment
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-front-door-api-management/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface