Skip navigation

Create API Management in Internal VNet with App Gateway

Last updated: 07/07/2021

This template demonstrates how to Create a instance of Azure API Management on a private network protected by Azure Application Gateway.

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
base-name This will be used to derive names for all of your resources
log-analytics-workspace-id The resource ID for an existing Log Analytics workspace
location Location in which resources will be created
apim-sku The edition of Azure API Management to use. This must be an edition that supports VNET Integration. This selection can have a significant impact on consumption cost and 'Developer' is recommended for non-production use.
apim-capacity The number of Azure API Management capacity units to provision. For Developer edition, this must equal 1.
app-gateway-capacity The number of Azure Application Gateway capacity units to provision. This setting has a direct impact on consumption cost and is recommended to be left at the default value of 1
vnet-address-prefix The address space (in CIDR notation) to use for the VNET to be deployed in this solution. If integrating with other networked components, there should be no overlap in address space.
app-gateway-subnet-prefix The address space (in CIDR notation) to use for the subnet to be used by Azure Application Gateway. Must be contained in the VNET address space.
apim-subnet-prefix The address space (in CIDR notation) to use for the subnet to be used by Azure API Management. Must be contained in the VNET address space.
apim-publisher-name Descriptive name for publisher to be used in the portal
apim-publisher-email Email adddress associated with publisher

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/quickstarts/microsoft.apimanagement/api-management-create-with-internal-vnet-application-gateway/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/quickstarts/microsoft.apimanagement/api-management-create-with-internal-vnet-application-gateway/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface