共用方式為


定義命名慣例

定義完善的命名和標記策略會形成有效的 Azure 雲端治理和安全性的基礎。 這些慣例可讓您維護 Azure 資源的清查、追蹤和配置成本,以及快速識別受影響的資源來回應事件。 儘早定義您的命名和標記策略,以確保整個環境的一致性和清晰性。 本文提供建立命名慣例的建議。 如需標記指引,請參閱 定義標記策略

為什麼要使用命名慣例?

Azure 命名慣例是標準化格式,用來將名稱指派給 Azure 資源。 它可確保清楚、一致性,並遵循 Azure 的命名規則,例如長度要求、有效字元和範圍唯一性。 命名慣例必須根據您的特定需求量身打造,因為沒有任何單一命名慣例符合每個環境的需求。

瞭解 Azure 中的資源名稱

Azure 資源名稱是指派給 Azure 資源特定實例的標識碼,例如 Web 應用程式、資料庫或記憶體帳戶。 若要建立一致的命名慣例,您必須瞭解 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 的虛擬網路可以存在於多個資源群組中,但只存在於單一資源群組內一次。
    資源 父資源中的唯一項。 巢狀於另一個資源內的資源必須有唯一的名稱,以避免衝突。 例如,虛擬網路內的子網必須有唯一的名稱,以防止區段重疊。

選擇命名元件

當您建構命名慣例時,請識別您想要在資源名稱中擷取的主要資訊片段。 不同的資訊與不同的資源類型有關,並非所有已建立的命名元件都可用於每個資源類型。 為您的環境建立易於遵循、簡潔且實用的標準命名慣例,以辨識與已部署資源相關的資訊。 下列清單提供命名元件的範例,這些元件在建構資源名稱時很有用:

命名元件 描述
組織 組織的最上層名稱,通常用來作為最高管理群組,或在較小的組織中,屬於命名慣例的一部分。 範例:contoso
業務單位或部門 擁有訂用帳戶或資源所屬工作負載的公司最上層部門。 在較小的組織中,此元件可能代表單一公司最上層組織元素。 範例:finmktgproductitcorp
資源類型 表示 Azure 資源或資產類型的縮寫。 此元件通常是名稱中的前置詞或後綴。 如需詳細資訊,請參閱 Azure 資源類型的建議縮寫。 範例:rgvm
工作負載、應用程式或專案 資源所屬的工作負載、應用程式或項目名稱。 範例:navigatoremissionssharepointhadoop
環境 資源支援的工作負載開發生命周期階段。 範例:proddevqastagetest
區域 部署資源的區域或雲端提供者。 範例:westuseastus2westeuusvaustx
實例 特定資源的實例計數,以區別於具有相同命名慣例和命名元件的其他資源。 範例、01001

開發命名慣例

當您建構命名慣例時,請識別您想要反映在資源名稱中的重要資訊片段。 不同的資訊與不同的資源類型有關。

  1. 標準化元件順序。 除了定義命名元件之外,您也必須考慮列出命名元件的順序。

  2. 選擇使用分隔符或不使用。 若要改善可讀性,請使用連字元 - 來分隔命名元件。 不過,Azure 中並不是每個資源都允許您使用分隔符。 如果您需要所有 Azure 資源名稱的絕對一致性,請勿使用連字元。 對許多客戶而言,使用分隔符的優點超過命名慣例中的一些不一致。

  3. 使用縮寫。 使用 Azure 資源縮寫 ,讓資源名稱保持在長度限制內。

  4. 使用 Azure 命名工具:Azure 命名工具是一種工具,可協助您產生 Azure 資源的名稱。 您可以設定工具以使用您慣用的命名慣例,並產生 Azure 資源的名稱。 如需詳細資訊,請參閱 Azure 命名工具

  5. 請考慮 VM 命名的一致性。 如果您在 Azure 中使用 VM,建議您保持名稱一致,即使 Azure 中的 VM 名稱可能比 VM 允許的 NetBIOS 名稱還要長。 如需詳細資訊和其他限制,請參閱 Active Directory 中電腦、網域、網站和 OU 的 命名慣例 - 電腦名稱

範例 Azure 資源名稱

當您定義命名慣例時,請考慮這些範例。 這些範例是以本文所述的命名元件和考慮為基礎。

AI 和機器學習

資產類型 Scope 格式和範例
Azure AI 搜尋 全球 <負載量、應用程式或專案>-<環境>

  • srch-navigator-prod
  • srch-emissions-dev
  • Azure OpenAI 服務 資源群組 oai-<工作負載、應用程式或專案>-<環境>

  • oai-navigator-prod
  • oai-emissions-dev
  • Azure Machine Learning 工作區 資源群組 mlw-<工作負載、應用程式或專案>-<環境>

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

    資產類型 Scope 格式和範例
    Azure Analysis Services 全球 中作為<應用程式名稱,><環境>

  • asnavigatorprod
  • asemissionsdev
  • Azure Data Factory 全球 adf-<工作負載、應用程式或專案>-<環境>

  • adf-navigator-prod
  • adf-emissions-dev
  • Data Lake Storage 帳戶 全球 dls<工作負載、應用程式或專案><環境>

  • dlsnavigatorprod
  • dlsemissionsdev
  • IoT 中樞 全球 iot-<工作負載、應用或專案>-<平台>

  • iot-navigator-prod
  • iot-emissions-dev
  • Compute 和 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 Cache for Redis 實例 全球 redis-<工作負載、應用程式或專案>-<環境>

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

    資產類型 Scope 格式和範例
    API 管理服務實例 全球 apim-<應用程式或服務名稱>

    apim-navigator-prod
    服務總線命名空間 全球 <工作負載、應用程式或專案>-<環境>.servicebus.windows.net

  • sbns-navigator-prod.servicebus.windows.net
  • sbns-emissions-dev.servicebus.windows.net
  • 服務總線佇列 服務匯流排 sbq-<工作負載、應用程式或專案>

  • sbq-navigator
  • 服務總線主題 服務匯流排 sbt-<工作負載、應用程式或專案>

  • sbt-navigator
  • 管理和治理

    資產類型 Scope 格式和範例
    管理群組 業務單位和/或
    環境
    mg-<業務單位>[-<環境>]

  • mg-mktg
  • mg-hr
  • mg-corp-prod
  • mg-fin-client
  • 訂用帳戶 帳戶/企業合約 <業務單位>-<訂用帳戶用途>-<###>

  • mktg-prod-001
  • corp-shared-001
  • fin-client-001
  • 資源群組 訂閱 rg-<應用程式或服務名稱>-<訂用帳戶用途>-<###>

  • rg-mktgsharepoint-prod-001
  • rg-acctlookupsvc-shared-001
  • rg-ad-dir-services-shared-001
  • 網路

    資產類型 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-<##>-<VM 名稱>-<訂閱目的>-<###>

  • 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-<應用程式名稱或角色>-<環境>-<###>

  • 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-<subscription1 用途>>-<region1>-<subscription2 用途>>-<region2>-

  • vcn-shared-eastus2-to-shared-westus
  • vcn-prod-eastus2-to-prod-westus
  • 路由表 資源群組 rt-<路由表名稱>

  • rt-navigator
  • rt-sharepoint
  • DNS 標籤 全球 <VM>的 DNS A 記錄。<區域>.cloudapp.azure.com

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

    資產類型 Scope 格式和範例
    受控識別 資源群組 標識碼-<應用程式或服務名稱>-<環境>-<區域名稱>-<###>

  • id-appcn-keda-prod-eastus2-001
  • 儲存體

    資產類型 Scope 格式和範例
    記憶體帳戶 (一般用途) 全球 st<工作負載、應用程式或專案><###>

  • stnavigatordata001
  • stemissionsoutput001
  • Azure StorSimple 全球 <工作負荷、應用程式或專案><環境>

  • ssimpnavigatorprod
  • ssimpemissionsdev
  • Azure 容器註冊表 全球 cr<工作負載、應用程式或專案><環境><###>

  • crnavigatorprod001
  • 下一步

    下一步是定義標記策略。