In this Azure tutorial, we will discuss Microsoft Azure naming conventions. Apart from this, we will also discuss on the below topics
- Naming a Resource in Azure
- Re-commanded prefix For Azure Resources
- Naming rules and restrictions for Azure resources
Table of Contents
- Microsoft Azure naming conventions
- Naming a Resource in Azure
- Re-commanded prefix For Azure Resources
- Naming rules and restrictions for Azure resources
- Servers
- Service
- Service / APIs
- service/certificates
- service/groups
- service/users
- locks
- profiles
- profiles/endpoints
- certificateOrders
- accounts
- diskEncryptionSets
- disks
- images
- snapshots
- Virtual Machines
- virtualMachineScaleSets
- container groups
- registries
- managed clusters
- hubs
- hubs/connectors
- hubs/links
- hubs/views
- associations
- jobs
- workspaces
- factories
- accounts/storage accounts
- services
- IotHubs
- database accounts
- domains
- clusters
- Webservices
- public IP addresses
- virtual networks
Microsoft Azure naming conventions
It is always best practice to follow the Microsoft Azure naming conventions while you are naming any of the Azure objects or Azure components.
Naming a Resource in Azure
It is always better to follow the Microsoft Azure naming conventions while naming a resource in Azure
- When naming the resource, the name should contain some meaningful information.
- For example, if we are naming a public IP resource for a development workload, the name should be pip-SharePoint-prod-centralus-005.
- As you will see, the information is very clear here. The name contains public IP(pip) with the environment details(prod) and Region details(central us), etc.
- In Azure, the resource name must be unique within its scope.
- There are some restrictions on the length of the resource names.
Re-commanded prefix For Azure Resources
There are some prefixes recommended as part of Microsoft Azure naming conventions before the name of the Azure resources
Virtual network
- The name should start with the prefix vnet-
- The format for the name of the virtual network is vnet-<Subscription type>-<Region>-<###>
- For example vnet-prod-centralus-003
- As you will see here, the information is very clear vnet is the virtual network, prod is for the production environment, centralus is the region you belong to.
Subnet
- The name should start with the prefix snet-
- The format for the name of the Subnet is snet-<subscription>-<subregion>-<###>
- For example snet-prod-centralus-003
Publicip
- The name should start with prefix pip-
- The format for the name of the Publicip is pip-<vm name or app name>-<Environment>-<subregion>-<###>
- For example pip-SharePoint-prod-centralus-005
Network security group
- The name should start with prefix nsg-
- The format for the name of the Network security group is nsg-<policy name or app name>-<###>
- For example nsg-sqlallow-001
Virtual network gateway
- The name should start with the prefix vgw-
- The format for the name of the virtual network gateway is vgw-<Subscription type>-<Region>-<###>
- For example vgw-prod-centralus-001
Virtual machine
- The name should start with the prefix vm-
- The format for the name of the Virtual machine is vm<policy name or app name><###>
- For example vmsharepoint001
VM storage account
- The name should start with the prefix stvm-
- The format for the name of the VM storage account is stvm<performance type><app name or prod name><region><###>
- For example stvmstplmcentralus2003
Web app
- The name should start with the prefix app-
- The format for the name of the Web app is app-<App Name>-<Environment>-<###>.[{azurewebsites.net}]
- For example app-sharepoint-prod-001.azurewebsites.net
Notification Hubs
- The name should start with the prefix ntf-
- The format for the name of the Notification Hubs is ntf-<App Name>-<Environment>
- For example ntf-sharepoint-dev
MySQL database
- The name should start with the prefix mysql-
- The format for the name of the MySQL database is mysql-<App Name>-<Environment>
- For example mysql-sharepoint-dev
Storage account
- The name should start with prefix st-
- The format for the name of the Storage account is st<storage name><###>
- For example stsharepoint001
Azure Cognitive Services
- The name should start with prefix cog-
- The format for the name of the Azure Cognitive Services is cog-<App Name>-<Environment>
- For example cog-sharepoint-dev
Azure Machine Learning workspace
- The name should start with the prefix mlw-
- The format for the name of the Azure Machine Learning workspace is mlw-<App Name>-<Environment>
- For example mlw-sharepoint-dev
Azure Data Factory
- The name should start with prefix adf-
- The format for the name of the Azure Data Factory is adf-<App Name><Environment>
- For example adf-sharepoint-dev
Event hub
- The name should start with prefix evh-
- The format for the name of the Event hub is evh-<App Name>-<Environment>
- For example evh-sharepoint-prod
IoT hub
- The name should start with the prefix iot-
- The format for the name of the IoT hub is iot-<App Name>-<Environment>
- For example iot-sharepoint-dev
Service Bus
- The name should start with the prefix iot-
- The format for the name of the Service Bus is sb-<App Name>-<Environment>.[{servicebus.windows.net}]
- For example sb-sharepoint-dev
Naming rules and restrictions for Azure resources
Below are some Naming rules and restrictions as part of Microsoft Azure naming conventions
Servers
- The name should be within 3 to 63 characters.
- Should start with a lowercase letter.
- The name should contain lowercase letters and numbers.
Service
- The name should be within 1 to 50 characters.
- It should contain alphanumeric characters.
- The name should start with a letter.
Service / APIs
- The name should be within 1 to 256 characters
- You can not use *#&+:<>? special characters.
service/certificates
- The name should be within 1 to 256 characters
- You can not use *#&+:<>? special characters.
service/groups
- The name should be within 1 to 256 characters
- You can not use *#&+:<>? special characters.
service/users
- The name should be within 1 to 256 characters
- You can not use *#&+:<>? special characters.
locks
- The name should be within 1 to 90 characters
- It can contain Alphanumerics, periods, underscores, hyphens, and parentheses but can’t end in a period.
profiles
- The name should be within 1 to 260 characters
- The name should start and end with an alphanumeric. It can contain alphanumeric and hyphens.
profiles/endpoints
- The name should be within 1 to 50 characters
- The name should start and end with an alphanumeric. It can contain alphanumeric and hyphens.
certificateOrders
- The name should be within 3 to 30 characters
- The name should contain alphanumeric.
accounts
- The name should be within 2 to 64 characters
- The name should start and end with an alphanumeric. It can contain alphanumeric and hyphens.
diskEncryptionSets
- The name should be within 1 to 80 characters
- The name should contain alphanumerics and underscores.
disks
- The name should be within 1 to 80 characters
- The name should contain alphanumeric and underscores.
images
- The name should be within 1 to 80 characters
- The name should Start with alphanumeric. End with alphanumeric or underscore.
- It should contain alphanumerics, underscores, periods, and hyphens.
snapshots
- The name should be within 1 to 80 characters
- The name should Start with alphanumeric. End with alphanumeric or underscore.
- It should contain alphanumeric, underscores, periods, and hyphens.
Virtual Machines
- The name should be within 1 to 15 (Windows) and 1 to 64 (Linux)
- The name can’t start with an underscore. Can’t end with a period or hyphen.
- You Can’t use \/””[]:|<>+=;,?*@& special characters
virtualMachineScaleSets
- The name should be within 1 to 15 (Windows) and 1 to 64 (Linux)
- The name can’t start with an underscore. Can’t end with a period or hyphen.
- You Can’t use \/””[]:|<>+=;,?*@& special characters
container groups
- The name should be within 1 to 63 characters
- The name can’t start or end with a hyphen. Consecutive hyphens aren’t allowed.
- It should contain lowercase letters, numbers, and hyphens.
registries
- The name should be within 5 to 50 characters
- The name should contain alphanumeric.
managed clusters
- The name should start and end with an alphanumeric.
- It should contain alphanumerics, underscores, and hyphens.
- The name should be within 1 to 63 characters
hubs
- The name should be within 1 to 64 characters
- The name should start with a letter and should contain alphanumeric.
hubs/connectors
- The name should be within 1 to 128 characters
- The name should start with a letter containing alphanumeric and underscores.
hubs/links
- The name should be within 1 to 512 characters
- The name should start with a letter containing alphanumeric and underscores.
hubs/views
- The name should be within 1 to 512 characters
- The name should start with a letter containing alphanumeric and underscores.
associations
- The name should be within 1 to 180 characters
- The name can’t end with a period or space.
- You can’t use %&\?/ special characters.
jobs
- The name should be within 3 to 24 characters
- The name should contain alphanumeric, hyphens, underscores, and periods.
workspaces
- The name should be within 3 to 30 characters
- The name should contain alphanumeric, underscores, and hyphens
factories
- The name should be within 3 to 63 characters
- The name should start and end with an alphanumeric.
- It should contain alphanumeric and hyphens.
accounts/storage accounts
- The name should be within 3 to 60 characters
- The name should contain alphanumerics, hyphens, and underscores
services
- The name should be within 2 to 62 characters
- The name should start with an alphanumeric.
- It should contain alphanumerics, hyphens, periods, and underscores.
IotHubs
- The name should be within 3 to 50 characters
- The name can’t end with a hyphen.
- It should contain alphanumeric and hyphens.
database accounts
- The name should be within 3 to 44 characters
- The name should start with a lowercase letter or number.
- It should contain lowercase letters, numbers, and hyphens.
domains
- The name should be within 3 to 50 characters
- The name should contain alphanumeric and hyphens.
clusters
- The name should be within 6 to 50 characters
- The name should start with a letter. End with a letter or number.
- It should contain alphanumeric and hyphens.
Webservices
- The name should be within 1 to 260 characters
- The name can’t end with a space.
- You can not use <>*%&:?+/\ special characters.
public IP addresses
- The name should be within 1 to 80 characters
- The name should contain alphanumeric, underscores, periods, and hyphens.
- It should Start with an alphanumeric and end with an alphanumeric or underscore.
virtual networks
- The name should be within 2 to 64 characters
- The name should contain alphanumerics, underscores, periods, and hyphens.
- It should start with an alphanumeric and end with an alphanumeric or underscore.
Conclusion
In this Azure tutorial, We discussed
- Naming a Resource in Azure
- Re-commanded prefix For Azure Resources
- Naming rules and restrictions for Azure resources
- Microsoft Azure naming conventions
I am Bijay, a Microsoft MVP (10 times) having more than 17 years of experience in the software industry. During my IT career, I got a chance to share my expertise in SharePoint and Microsoft Azure, like Azure VM, Azure Active Directory, Azure PowerShell, etc. I hope you will learn from these Azure tutorials. Read more