你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

定义命名约定

资源的好名称有助于快速识别其类型、其关联的工作负荷、其环境和运行位置的 Azure 区域。 为此,名称应遵循一致的格式( 命名约定),该格式由有关每个资源的重要信息组成。 名称中的信息理想情况下包括标识特定资源实例所需的任何内容。 例如,美国西部区域中生产 SharePoint 工作负荷的公共 IP 地址(PIP)可能是 pip-sharepoint-prod-westus-001

Diagram that shows the components of an Azure resource name.

图 1:Azure 资源名称的组件

构造命名约定时,请标识要在资源名称中捕获的关键信息片段。 不同的信息与不同的资源类型相关,并非所有已建立的命名组件都可用于每种资源类型。 为环境建立一个标准命名约定,该约定易于遵循、简洁且可用于识别与部署的资源相关的信息。

以下列表提供了在构造资源名称时有用的命名组件的示例:

命名组成部分 说明
组织 组织的顶级名称通常用作顶级管理组,或者,在较小的组织中,是命名约定的一部分。 示例: contoso
业务部门或部门 拥有订阅或资源所属工作负荷的公司顶级部门。 在较小的组织中,此组件可能代表单个企业顶级组织元素。 示例:finmktgproductitcorp
资源类型 表示 Azure 资源或资产的类型的缩写。 此组件通常是名称中的前缀或后缀。 有关详细信息,请参阅 Azure 资源类型的建议缩写。 示例:rgvm
项目、应用程序或服务名称 资源所属的项目、应用程序或服务的名称。 示例:navigatoremissionssharepointhadoop
环境 资源支持的工作负荷的开发生命周期阶段。 示例:proddevqastagetest
位置 部署资源的区域或云提供商。 示例:westuseastus2westeuusvaustx
VM 角色 VM 用途的标识符。 示例: db (数据库)、 ws (Web 服务器)、 ps (打印服务器)
实例 特定资源的实例计数,以将其与具有相同命名约定和命名组件的其他资源区分开来。 示例、 01001

注意

尽管 Azure 中的虚拟机(VM)名称可能比 VM 允许的 NetBIOS 名称长,但我们建议保持其一致。 有关详细信息和其他限制,请参阅 计算机名称

命名注意事项

除了定义命名组件之外,还必须考虑列出命名组件的顺序以及应在组件之间显示哪种类型的分隔符(如果有)。 还要考虑与资源类型关联的不同命名规则。

范围

所有 Azure 资源类型都有一个范围,用于定义该资源的级别。 此外,资源必须在其范围内具有唯一的名称。

例如,虚拟网络具有资源组的范围,这意味着只能在特定资源组中命名 vnet-prod-westus-001 一个网络。 其他资源组也可以具有命名 vnet-prod-westus-001的虚拟网络,但每个资源组只能有一个具有该名称的资源组。 子网的范围限定为虚拟网络,因此虚拟网络中的每个子网必须具有不同的名称。

某些资源名称具有全局范围,例如具有公共终结点或虚拟机 DNS 标签的平台即服务(PaaS)的名称。 全局范围内的资源必须具有在整个 Azure 平台中唯一的名称。

Diagram that shows the scope levels for Azure resource names.

图 2:Azure 资源名称的范围级别

Azure 命名规则

Azure 命名规则因资源类型而异。 定义命名约定时,请务必了解资源类型的 Azure 命名规则,以避免混淆和延迟部署。

例如,资源名称具有长度限制。 建议保持命名组件的长度短,以防止超出资源名称长度限制。

注意

开发命名约定时,平衡名称的上下文及其范围和长度限制非常重要。 有关详细信息,请参阅 Azure 资源的命名规则和限制

构造命名约定时,请确定要在资源名称中反映的关键信息。 不同资源类型的相关信息也不同。 下面的列表举例说明了在构造资源名称时有用的信息。

可以将资源名称和命名组件缩写为一种策略,以减少资源名称的长度和复杂性。 缩短名称对于任何命名组件都很有用,但帮助你将资源名称保持在名称长度限制内尤其重要。 例如,Azure 中的 VM 名称可能比 OS 命名限制长。 使 Azure VM 名称比 OS 的命名限制短,有助于创建一致性、在讨论资源时改进通信,并减少在登录到 VM 本身时在Azure 门户工作时的混淆。

命名组成部分 说明
资源类型 表示 Azure 资源或资产的类型的缩写。 此组件通常用作名称中的前缀或后缀。 有关详细信息,请参阅 Azure 资源类型的建议缩写
示例:rgvm
业务部门 拥有资源所属的订阅或工作负荷的公司顶级部门。 在规模较小的组织中,此组成部分可能表示一个企业顶级组织元素。
示例:finmktgproductitcorp
应用程序或服务名称 资源所属的应用程序、工作负荷或服务的名称。
示例:navigatoremissionssharepointhadoop
订阅用途 包含资源的订阅的目的摘要说明。 通常按环境或特定工作负荷细分。
示例:prodsharedclient
环境 资源支持的工作负荷的开发生命周期阶段。
示例:proddevqastagetest
区域 部署资源的 Azure 区域。
示例:westuseastus2westeuusvaustx

注意

准备好为资源和资产命名时,请查看 Azure 资源类型的建议缩写。

以下部分提供了企业云部署中常见 Azure 资源类型的示例名称。

注意

其中一些示例名称使用三位填充方案 (###),例如 mktg-prod-001

当资产在配置管理数据库 (CMDB)、IT 资产管理工具或传统会计工具中进行管理时,填充可提高资产的可读性和排序。 当部署的资产作为 IT 资产更大库存或项目组合的一部分进行集中管理时,填充方法与这些系统用于管理库存命名的接口保持一致。

遗憾的是,传统资产填充方法在基础结构即代码方法中可能会有问题,这些方法可能会基于非填充数字循环访问资产。 此方法在部署或自动配置管理任务期间很常见。 这些脚本必须定期去除填充并将填充的数字转换为实数,这会减慢脚本的开发和运行时间。

选择适合组织的方法。 此处所示的填充说明了使用一致的清单编号方法的重要性,而不是显示哪种方法优越。 在选择带或不填充的编号方案之前,请评估哪些操作会影响长期操作:CMDB 和资产管理解决方案或基于代码的库存管理。 然后,始终遵循最符合运营需求的填充选项。

以下部分提供了企业云部署中常见 Azure 资源类型的一些示例名称。 有关更多示例,请参阅 Azure 命名工具和命名和标记跟踪模板

注意

以下示例旨在提供命名约定的可视化效果,但实际约定因组织而异。

示例名称:常规

资产类型 范围 格式和示例
管理组 业务部门和/或
环境
mg-business< unit>[-<environment>]

  • mg-mktg
  • mg-hr
  • mg-corp-prod
  • mg-fin-client
  • 订阅 帐户/企业协议 <业务单位>订阅<用途> -<###>

  • mktg-prod-001
  • corp-shared-001
  • fin-client-001
  • 资源组 订阅 rg-app< 或服务名称><-订阅用途> -<###>

  • rg-mktgsharepoint-prod-001
  • rg-acctlookupsvc-shared-001
  • rg-ad-dir-services-shared-001
  • API 管理服务实例 全局 apim-<应用或服务名称>

    apim-navigator-prod
    托管的标识 资源组 id-app 或服务名称-<environment-region<> name>-<<>###>

  • id-appcn-keda-prod-eastus2-001
  • 示例名称:网络

    资产类型 范围 格式和示例
    虚拟网络 资源组 vnet-subscription< purpose-region>><-<###>

  • vnet-shared-eastus2-001
  • vnet-prod-westus-001
  • vnet-client-eastus2-001
  • 子网 虚拟网络 snet-subscription< purpose-region>><-<###>

  • snet-shared-eastus2-001
  • snet-prod-westus-001
  • snet-client-eastus2-001
  • 网络接口 (NIC) 资源组 nic-<##>-<vm name-subscription<> purpose>-<###>

  • nic-01-dc1-shared-001
  • nic-02-vmhadoop1-prod-001
  • nic-02-vmtest1-client-001
  • 公共 IP 地址 资源组 pip-<vm 名称或应用名称>-<环境>-<区域>-<###>

  • pip-dc1-shared-eastus2-001
  • pip-hadoop-prod-westus-001
  • 负载均衡器(外部) 资源组 lbe-app< 名称或角色><环境> -<###>

  • lbe-navigator-prod-001
  • lbe-sharepoint-dev-001
  • 网络安全组 (NSG) 子网或 NIC nsg-<策略名称或应用名称>-<###>

  • nsg-weballow-001
  • nsg-rdpallow-001
  • nsg-sqlallow-001
  • nsg-dnsblocked-001
  • 本地网关 虚拟网关 lgw-subscription< purpose-region>><-<###>

  • lgw-shared-eastus2-001
  • lgw-prod-westus-001
  • lgw-client-eastus2-001
  • 虚拟网络网关 虚拟网络 vgw-subscription< purpose-region>><-<###>

  • vgw-shared-eastus2-001
  • vgw-prod-westus-001
  • vgw-client-eastus2-001
  • VPN 连接 资源组 vcn-subscription1< purpose-region1-to-subscription2>>><< purpose-region2->>><

  • vcn-shared-eastus2-to-shared-westus
  • vcn-prod-eastus2-to-prod-westus
  • 路由表 资源组 rt-route< 表名称>

  • rt-navigator
  • rt-sharepoint
  • DNS 标签 全局 <DNS A record for VM>.<region>.cloudapp.azure.com

  • dc1.westus.cloudapp.azure.com
  • web1.eastus2.cloudapp.azure.com
  • 示例名称:计算和 Web

    资产类型 范围 格式和示例
    虚拟机 资源组 vm-vm< role-environment>><-<###>

  • vm-sql-test-001
  • vm-hadoop-prod-001
  • Web 应用 全局 app-project<、app or service-environment>>-<<##>.azurewebsites.net

  • app-navigator-prod-001.azurewebsites.net
  • app-accountlookup-dev-001.azurewebsites.net
  • 函数应用 全局 func-project<、app or service-environment>>-<<##>.azurewebsites.net

  • func-navigator-prod-001.azurewebsites.net
  • func-accountlookup-dev-001.azurewebsites.net
  • 示例名称:数据库

    资产类型 范围 格式和示例
    Azure SQL 数据库 Azure SQL Server sqldb-project<、应用或服务>环境<>

  • sqldb-users-prod
  • sqldb-users-dev
  • Azure Cosmos DB 数据库 全局 cosmos-project<、应用或服务>环境<>

  • cosmos-navigator-prod
  • cosmos-emissions-dev
  • Azure Cache for Redis 实例 全局 redis-project<、应用或服务>环境<>

  • redis-navigator-prod
  • redis-emissions-dev
  • 示例名称:存储

    资产类型 范围 格式和示例
    存储帐户(常规用途) 全局 st<项目、应用或服务><###>

  • stnavigatordata001
  • stemissionsoutput001
  • Azure StorSimple 全局 ssimp<项目、应用或服务><环境>

  • ssimpnavigatorprod
  • ssimpemissionsdev
  • Azure 容器注册表 全局 cr<项目、应用或服务><环境><###>

  • crnavigatorprod001
  • 示例名称:AI 和机器学习

    资产类型 范围 格式和示例
    Azure AI 搜索 全局 srch-project<、应用或服务>环境<>

  • srch-navigator-prod
  • srch-emissions-dev
  • Azure OpenAI 服务 资源组 oai-project<、应用或服务>环境<>

  • oai-navigator-prod
  • oai-emissions-dev
  • Azure 机器学习工作区 资源组 mlw-project<、应用或服务>环境<>

  • mlw-navigator-prod
  • mlw-emissions-dev
  • 示例名称:Analytics 和 IoT

    资产类型 范围 格式和示例
    Azure Analysis Services 全局 作为<应用名称><环境>

  • asnavigatorprod
  • asemissionsdev
  • Azure 数据工厂 全局 adf-project<、应用或服务>环境<>

  • adf-navigator-prod
  • adf-emissions-dev
  • Azure Synapse Analytics 工作区 资源组 synw-project<、应用或服务>环境<>

  • synw-navigator-prod
  • synw-emissions-dev
  • Data Lake Storage 帐户 全局 dls<项目、应用或服务><环境>

  • dlsnavigatorprod
  • dlsemissionsdev
  • IoT 中心 全局 iot-project<、应用或服务>环境<>

  • iot-navigator-prod
  • iot-emissions-dev
  • 示例名称:集成

    资产类型 范围 格式和示例
    服务总线命名空间 全局 sbns-project<、app or service-environment.servicebus.windows.net><>

  • sbns-navigator-prod.servicebus.windows.net
  • sbns-emissions-dev.servicebus.windows.net
  • 服务总线队列 服务总线 sbq-project<、应用或服务>

  • sbq-navigator
  • 服务总线主题 服务总线 sbt-project<、应用或服务>

  • sbt-navigator