Quickstart: Create an Azure Content Delivery Network profile and endpoint - Bicep
Important
Azure CDN Standard from Microsoft (classic) will be retired on September 30, 2027. To avoid any service disruption, it is important that you migrate your Azure CDN Standard from Microsoft (classic) profiles to Azure Front Door Standard or Premium tier by September 30, 2027. For more information, see Azure CDN Standard from Microsoft (classic) retirement.
Azure CDN from Edgio will be retired on November 4, 2025. You must migrate your workload to Azure Front Door before this date to avoid service disruption. For more information, see Azure CDN from Edgio retirement FAQ.
Get started with Azure Content Delivery Network by using a Bicep file. The Bicep file deploys a profile and an endpoint.
Bicep is a domain-specific language (DSL) that uses declarative syntax to deploy Azure resources. It provides concise syntax, reliable type safety, and support for code reuse. Bicep offers the best authoring experience for your infrastructure-as-code solutions in Azure.
Prerequisites
If you don't have an Azure subscription, create an Azure free account before you begin.
Review the Bicep file
The Bicep file used in this quickstart is from Azure Quickstart Templates.
This Bicep file is configured to create a:
- Profile
- Endpoint
@description('Name of the CDN Profile')
param profileName string
@description('Name of the CDN Endpoint, must be unique')
param endpointName string
@description('Url of the origin')
param originUrl string
@description('CDN SKU names')
@allowed([
'Standard_Akamai'
'Standard_Microsoft'
'Standard_Verizon'
'Premium_Verizon'
])
param CDNSku string = 'Standard_Microsoft'
@description('Location for all resources.')
param location string = resourceGroup().location
resource profile 'Microsoft.Cdn/profiles@2021-06-01' = {
name: profileName
location: location
sku: {
name: CDNSku
}
}
resource endpoint 'Microsoft.Cdn/profiles/endpoints@2021-06-01' = {
parent: profile
name: endpointName
location: location
properties: {
originHostHeader: originUrl
isHttpAllowed: true
isHttpsAllowed: true
queryStringCachingBehavior: 'IgnoreQueryString'
contentTypesToCompress: [
'application/eot'
'application/font'
'application/font-sfnt'
'application/javascript'
'application/json'
'application/opentype'
'application/otf'
'application/pkcs7-mime'
'application/truetype'
'application/ttf'
'application/vnd.ms-fontobject'
'application/xhtml+xml'
'application/xml'
'application/xml+rss'
'application/x-font-opentype'
'application/x-font-truetype'
'application/x-font-ttf'
'application/x-httpd-cgi'
'application/x-javascript'
'application/x-mpegurl'
'application/x-opentype'
'application/x-otf'
'application/x-perl'
'application/x-ttf'
'font/eot'
'font/ttf'
'font/otf'
'font/opentype'
'image/svg+xml'
'text/css'
'text/csv'
'text/html'
'text/javascript'
'text/js'
'text/plain'
'text/richtext'
'text/tab-separated-values'
'text/xml'
'text/x-script'
'text/x-component'
'text/x-java-source'
]
isCompressionEnabled: true
origins: [
{
name: 'origin1'
properties: {
hostName: originUrl
}
}
]
}
}
One Azure resource is defined in the Bicep file:
Deploy the Bicep file
Save the Bicep file as main.bicep to your local computer.
Deploy the Bicep file using either the Azure CLI or Azure PowerShell.
az group create --name exampleRG --location eastus az deployment group create --resource-group exampleRG --template-file main.bicep --parameters profileName=<profile-name> endpointName=<endpoint-name> originUrl=<origin-url>
Note
Replace <profile-name> with the name of the content delivery network profile. Replace <endpoint-name> with a unique content delivery network endpoint name. Replace <origin-url> with the URL of the origin.
When the deployment finishes, you should see a message indicating the deployment succeeded.
Review deployed resources
Use the Azure portal, the Azure CLI, or Azure PowerShell to list the deployed resources in the resource group. Verify that an Endpoint and content delivery network profile were created in the resource group.
az resource list --resource-group exampleRG
Clean up resources
When no longer needed, use the Azure portal, the Azure CLI, or Azure PowerShell to delete the resource group and its resources.
az group delete --name exampleRG
Next steps
In this quickstart, you created a:
- Content delivery network Profile
- Endpoint
To learn more about Azure Content Delivery Network, continue to the article below.