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

定义命名约定

命名约定提供标准化格式,用于将名称分配给 Azure 资源。 每个组织都需要符合 Azure 要求和特定云采用需求的定制命名约定。 本指南提供了一个基础,您可以对其进行调整以符合您的组织需求。

请参阅示例:示例 Azure 资源名称

了解 Azure 中的资源名称

Azure 资源名称是分配给 Azure 资源的特定实例的标识符,例如 Web 应用、数据库或存储帐户。 若要建立一致的 Azure 命名约定,需要了解 Azure 的工作原理。 下面是需要了解的内容:

  1. 了解名称的持久性。 创建后,无法更改大多数 Azure 资源名称。 仅包含名称中保持不变的信息。 使用标记捕获其他详细信息。

  2. 了解 Azure 命名规则。 每个 Azure 资源都有命名规则。 并非所有 Azure 资源名称都可以遵循相同的模式。 请确保了解正在使用的资源类型的限制。 Azure 名称必须遵循三个一般原则:

    • 名称需要在 Azure 资源范围内唯一(因资源而异)。
    • 名称需要满足长度要求(因资源而异)。
    • 名称只能包含有效字符(因资源而异)。
  3. 了解 Azure 名称范围。 Azure 资源名称在其定义的范围内必须是唯一的。 每个资源类型都有一个特定的范围级别,用于确定名称必须唯一的位置。 了解这些范围级别可确保正确的命名约定并避免冲突。

    Scope 描述 示例:
    全球 在整个 Azure 云服务中是独一无二的。 此范围适用于具有公共 IP 终结点的 PaaS 资源,因为其名称用作初始默认公共 DNS 名称。 例如,命名 app-navigator-prod-001.azurewebsites.net 的 Web 应用必须全局唯一。
    资源组 在资源组中是唯一的。 同一组中的资源不能共享相同的名称,但不同的资源组中可以存在相同的名称。 例如,一个名为 vnet-prod-westus-001 “虚拟网络”的虚拟网络可以存在于多个资源组中,但只能在单个资源组中一次。
    资源 在父资源中是唯一的。 嵌套在另一资源中的资源必须具有唯一的名称以避免冲突。 例如,虚拟网络中的子网必须具有唯一名称,以防止段重叠。

选择命名组件

以下列表提供了命名组件(名称中包含的内容)的示例,这些组件可用于构造 Azure 资源名称:

命名组成部分 描述 示例组件 Azure 资源示例
资源类型 表示 Azure 资源或资产类型的 缩写 rgvmstapp rg-navigator-prod-001vm-web-prod-001
工作负荷、应用程序或项目 资源所属的工作负荷、应用程序或项目的名称。 navigatoremissionssharepointhadoop app-navigator-prodvm-sharepoint-dev-001
环境 生产、开发、质量保证、阶段、测试。 proddevqastagetest app-navigator-prodsqldb-dev
区域 部署资源的 Azure 区域 或云提供商位置。 westuseastus2westeuusvaustx vnet-shared-eastus2-001pip-hadoop-prod-westus-001
实例编号 特定资源的实例计数,以将其与具有相同命名约定和命名组件的其他资源区分开来。 01001 vm-sql-test-001vm-sql-test-002

制定命名规则

若要构造 Azure 命名约定,请标识要反映在资源名称中的关键信息片段。 不同的信息与不同的资源类型相关。

  1. 标准化组件顺序。 除了定义命名组件之外,还必须考虑命名组件列出的顺序。

  2. 选择是否使用分隔符。 若要提高可读性,请使用连字符 - 分隔命名组件。 但是,不是 Azure 中的每个资源都允许使用分隔符。 如果需要在所有 Azure 资源名称中保持绝对一致性,请不要使用连字符。 对于许多客户来说,使用分隔符的好处超过了命名约定中的一些不一致之处。

  3. 使用缩写。 使用 Azure 资源缩写 将资源名称保持在长度限制范围内。

  4. 使用 Azure 命名工具。 Azure 命名工具是一种工具,可帮助你生成 Azure 资源的名称。 将该工具配置为使用首选命名约定,并生成 Azure 资源的名称。 有关详细信息,请参阅 Azure 命名工具

Azure 资源名称示例

定义 Azure 命名约定时,请考虑这些示例。 这些示例基于本文中所述的命名组件和注意事项。

AI 和机器学习

资产类型 Scope 格式和示例
Azure AI 搜索 全局 srch-<工作负荷、应用程序或项目>-<环境>

  • srch-navigator-prod
  • srch-emissions-dev
  • Azure OpenAI 服务 资源组 oai-<工作负载、应用程序或项目>-环境<>

  • oai-navigator-prod
  • oai-emissions-dev
  • Azure 机器学习工作区 资源组 mlw-工作负载<、应用程序或项目环境><>

  • mlw-navigator-prod
  • mlw-emissions-dev
  • 分析和 IoT

    资产类型 Scope 格式和示例
    Azure 数据工厂 全局 adf-<工作负荷、应用程序或项目>-<环境>

  • adf-navigator-prod
  • adf-emissions-dev
  • Data Lake Storage 帐户 全局 dls<工作负荷、应用程序或项目><环境>

  • dlsnavigatorprod
  • dlsemissionsdev
  • 物联网 (IoT) 中心 全局 物联网工作负载、应用程序或项目环境><>

  • iot-navigator-prod
  • iot-emissions-dev
  • 计算和 Web

    资产类型 Scope 格式和示例
    虚拟机 资源组 vm-<工作负荷、应用程序或项目>-<环境>-<###>

  • vm-sql-test-001
  • vm-hadoop-prod-001
  • vm-sharepoint-dev-001
  • Web 应用 全局 应用<工作负荷、应用程序或项目>-<环境>-<###>.azurewebsites.net

  • app-navigator-prod-001.azurewebsites.net
  • app-accountlookup-dev-001.azurewebsites.net
  • 函数应用 全局 func-<工作负荷、应用程序或项目>-<环境>-<###>.azurewebsites.net

  • func-navigator-prod-001.azurewebsites.net
  • func-accountlookup-dev-001.azurewebsites.net
  • 数据库

    资产类型 Scope 格式和示例
    Azure SQL 数据库 Azure SQL Server sqldb-<工作负荷、应用程序或项目>-<环境>

  • sqldb-users-prod
  • sqldb-users-dev
  • Azure Cosmos DB 数据库 全局 cosmos-<工作负载、应用程序或项目>-环境<>

  • cosmos-navigator-prod
  • cosmos-emissions-dev
  • Azure Redis 缓存实例 全局 Redis 工作负载<、应用程序或项目环境><>

  • redis-navigator-prod
  • redis-emissions-dev
  • 整合

    资产类型 Scope 格式和示例
    API 管理服务实例 全局 apim-应用<或服务名称>

    apim-navigator-prod
    服务总线命名空间 全局 sbns-<负载、应用程序或项目>-环境<.servicebus.windows.net>

  • sbns-navigator-prod.servicebus.windows.net
  • sbns-emissions-dev.servicebus.windows.net
  • 服务总线队列 服务总线 sbq-<工作负荷、应用程序或项目>

  • sbq-navigator
  • 服务总线主题 服务总线 sbt-<工作负荷、应用程序或项目>

  • sbt-navigator
  • 管理和治理

    资产类型 Scope 格式和示例
    管理组 租户 为管理组 ID 提供全局唯一标识符(GUID)。 显示名称是可编辑的,应表示其中的平台函数或工作负荷类型。
    订阅 Azure 帐户或企业协议 符合 IT 标准的描述性名称。 可以更改显示名称。 示例: (业务单位(可选)(函数或工作负荷)(环境)

  • Marketing Web App Production
  • Connectivity
  • Security
  • 资源组 订阅 rg-工作负载 name/type-工作负载 component (可选)-环境 (可选)

  • rg-webapp-prod
  • rg-webapp-database-dev
  • 网络

    资产类型 Scope 格式和示例
    虚拟网络 资源组 vnet-<订阅用途>-<区域>-<###>

  • vnet-shared-eastus2-001
  • vnet-prod-westus-001
  • vnet-client-eastus2-001
  • 子网 虚拟网络 snet-<订阅目的>-<地区>-<###>

  • snet-shared-eastus2-001
  • snet-prod-westus-001
  • snet-client-eastus2-001
  • 网络接口 (NIC) 资源组 nic-<##>-<虚拟机名称>-<订阅用途>-<###>

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

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

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

  • nsg-weballow-001
  • nsg-rdpallow-001
  • nsg-sqlallow-001
  • nsg-dnsblocked-001
  • 本地网络网关 虚拟网关 lgw-订阅目的>-区域<>-<###>

  • lgw-shared-eastus2-001
  • lgw-prod-westus-001
  • lgw-client-eastus2-001
  • 虚拟网络网关 虚拟网络 vgw-<订阅用途>-<区域>-<###>

  • vgw-shared-eastus2-001
  • vgw-prod-westus-001
  • vgw-client-eastus2-001
  • VPN 连接 资源组 vcn-<订阅1 目的>>-<地区1>-至-<订阅2 目的>>-<地区2>-

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

  • rt-navigator
  • rt-sharepoint
  • DNS 标签 全局 <VM> 的 DNS A 记录:<region>.cloudapp.azure.com

  • dc1.westus.cloudapp.azure.com
  • web1.eastus2.cloudapp.azure.com
  • 安全性

    资产类型 Scope 格式和示例
    托管的标识 资源组 id-<应用或服务名称>-<环境>-<区域名称>-<###>

  • id-appcn-keda-prod-eastus2-001
  • 存储

    资产类型 Scope 格式和示例
    存储帐户(常规用途) 全局 st<工作负荷、应用程序或项目><###>

  • stnavigatordata001
  • stemissionsoutput001
  • Azure 容器注册表 全局 cr<工作负荷、应用程序或项目><环境><###>

  • crnavigatorprod001
  • 下一步

    下一步是定义标记策略。