定義命名慣例
資源的良好名稱可協助您快速識別其類型、其相關聯的工作負載、其環境,以及其執行所在的 Azure 區域。 若要這樣做,名稱應該遵循一致的格式,即 命名慣例,由每個資源的重要資訊所組成。 在理想情況下,名稱中的資訊包含您需要識別資源特定實例的任何專案。 例如,美國西部區域中生產 SharePoint 工作負載的公用 IP 位址 (PIP) 可能是 pip-sharepoint-prod-westus-001
。
圖表 1:Azure 資源名稱的元件。
建議的命名元件
當您建構命名慣例時,請識別您想要在資源名稱中擷取的主要資訊片段。 不同的資訊與不同的資源類型有關,並非所有已建立的命名元件都可用於每個資源類型。 為您的環境建立易於遵循、簡潔且實用的標準命名慣例,以辨識與已部署資源相關的資訊。
下列清單提供命名元件的範例,這些元件在建構資源名稱時很有用:
命名元件 | 描述 |
---|---|
組織 | 組織的最上層名稱,通常用來作為最高管理群組,或在較小的組織中,屬於命名慣例的一部分。 範例: contoso |
業務單位或部門 | 擁有訂用帳戶或資源所屬工作負載的公司最上層部門。 在較小的組織中,此元件可能代表單一公司最上層組織元素。 範例:fin 、、product mktg 、it 、corp |
資源類型 | 表示 Azure 資源或資產類型的縮寫。 此元件通常是名稱中的前置詞或後綴。 如需詳細資訊,請參閱 Azure 資源類型的建議縮寫。 範例:rg 、vm |
專案、應用程式或服務名稱 | 資源所屬的專案、應用程式或服務名稱。 範例:navigator 、、emissions 、 sharepoint hadoop |
環境 | 資源支援的工作負載開發生命周期階段。 範例:prod 、、qa dev 、stage 、test |
地點 | 部署資源的區域或雲端提供者。 範例:westus 、、westeu eastus2 、usva 、ustx |
VM 角色 | VM 用途的標識碼。 範例: db (資料庫)、 ws (網頁伺服器)、 ps (列印伺服器) |
執行個體 | 特定資源的實例計數,以區別於具有相同命名慣例和命名元件的其他資源。 範例、 、 01 001 |
注意
雖然 Azure 中的虛擬機器 (VM) 名稱可能比 VM 允許的 NetBIOS 名稱還要長,但建議您保持一致。 如需詳細資訊和其他限制,請參閱 計算機名稱。
命名考量
除了定義命名元件之外,您還必須考慮列出命名元件的順序,以及元件之間應該出現何種分隔符類型。 也考慮與資源類型相關聯的不同命名規則。
範圍
所有 Azure 資源類型都有定義該資源層級的範圍。 此外,資源在其範圍內必須有唯一的名稱。
例如,虛擬網路具有資源群組的範圍,這表示特定資源群組中只能有一個名為的網路 vnet-prod-westus-001
。 其他資源群組也可以有名為的 vnet-prod-westus-001
虛擬網路,但每個資源群組只能有一個具有該名稱的虛擬網路。 子網路的範圍設定為虛擬網路,因此虛擬網路中的每個子網路都必須有不同的名稱。
某些資源名稱具有全域範圍,例如具有公用端點或虛擬機 DNS 標籤的平臺即服務 (PaaS) 名稱。 全域範圍中的資源必須具有整個 Azure 平臺中唯一的名稱。
圖表 2:Azure 資源名稱的範圍層級。
Azure 命名規則
Azure 命名規則會根據資源類型而有所不同。 當您定義命名慣例時,請務必瞭解資源類型的 Azure 命名規則,以避免混淆和延遲部署。
例如,資源名稱具有長度限制。 建議您保留命名元件的長度較短,以避免超過資源名稱長度限制。
注意
當您開發命名慣例時,平衡名稱的內容與其範圍和長度限制很重要。 如需詳細資訊,請參閱 Azure 資源的命名規則和限制。
當您建構命名慣例時,請識別您想要反映在資源名稱中的重要資訊片段。 不同的資訊與不同的資源類型有關。 下列清單提供建構資源名稱時很有用的資訊範例。
您可以將資源名稱和命名元件縮寫為策略,以減少資源名稱的長度和複雜度。 縮短名稱對於任何命名元件都很有用,但請務必協助您將資源名稱保留在名稱長度限制內。 例如,Azure 中的 VM 名稱可能比 OS 命名限制還要長。 讓 Azure VM 名稱比 OS 的命名限制短,有助於建立一致性、在討論資源時改善通訊,以及在登入 VM 本身時在 Azure 入口網站 工作時減少混淆。
命名元件 | 描述 |
---|---|
資源類型 | 表示 Azure 資源或資產類型的縮寫。 此元件通常用來做為名稱中的前置詞或後綴。 如需詳細資訊,請參閱 Azure 資源類型的建議縮寫。 範例: rg 、vm |
業務單位 | 擁有資源所屬訂用帳戶或工作負載的公司最上層部門。 在較小的組織中,此元件可能代表單一公司最上層組織元素。 範例: fin 、、product mktg 、it 、corp |
應用程式或服務名稱 | 資源所屬的應用程式、工作負載或服務名稱。 範例: navigator 、、emissions 、 sharepoint hadoop |
訂用帳戶用途 | 包含資源的訂用帳戶用途摘要描述。 通常依環境或特定工作負載細分。 範例: prod 、shared 、client |
環境 | 資源支援的工作負載開發生命周期階段。 範例: prod 、、qa dev 、stage 、test |
區域 | 部署資源的 Azure 區域。 範例: westus 、、westeu eastus2 、usva 、ustx |
注意
當您準備好為資源和資產命名時,請檢閱 Azure 資源類型的建議縮寫。
下一節提供企業雲端部署中常見 Azure 資源類型的範例名稱。
注意
其中一些範例名稱會使用三位數填補設定 (###
),例如 mktg-prod-001
。
當這些資產是在組態管理資料庫 (CMDB)、IT 資產管理工具或傳統會計工具中管理時,填補可改善資產的可讀性和排序。 當已部署的資產集中管理為較大庫存或IT資產組合的一部分時,填補方法會與系統用來管理清查命名的介面一致。
不幸的是,傳統資產填補方法可能會在基礎結構即程序代碼方法中證明有問題,這些方法可能會根據非填補數目逐一查看資產。 這種方法在部署或自動化組態管理工作期間很常見。 這些腳本必須定期去除填補,並將填補的數位轉換成實數,這會減緩腳本開發和運行時間。
選擇適合您組織的方法。 此處顯示的填補說明使用一致方法進行清查編號的重要性,而不是顯示哪一種方法是優越的。 在選擇具有或不含填補的編號配置之前,請先評估哪些專案會影響長期作業:CMDB 和資產管理解決方案或程式碼型庫存管理。 然後,一致地遵循最符合您作業需求的填補選項。
下一節提供企業雲端部署中常見 Azure 資源類型的一些範例名稱。 如需更多範例,請參閱 Azure 命名工具。
注意
下列範例旨在提供命名慣例的視覺效果,但實際慣例會因組織而異。
範例名稱:一般
資產類型 | 範圍 | 格式和範例 |
---|---|---|
管理群組 | 業務單位和/或 environment |
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-app< 或服務名稱> 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< 名稱或應用程式名稱>-<environment-region>><-<###> pip-dc1-shared-eastus2-001 pip-hadoop-prod-westus-001 |
負載平衡器 (外部) | 資源群組 | lbe-app< 名稱或 role-environment-<>><###> lbe-navigator-prod-001 lbe-sharepoint-dev-001 |
網路安全性群組 (NSG) | 子網或 NIC | nsg-policy< 名稱或應用程式名稱>-<###> 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 標籤 | 全球 | <VM> 的 DNS A 記錄。<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<、app or service-environment><> redis-navigator-prod redis-emissions-dev |
範例名稱:儲存體
資產類型 | 範圍 | 格式和範例 |
---|---|---|
儲存體 帳戶(一般用途) | 全球 | st<專案、應用程式或服務><###> stnavigatordata001 stemissionsoutput001 |
Azure StorSimple | 全球 | ssimp<專案、應用程式或服務><環境> ssimpnavigatorprod ssimpemissionsdev |
Azure Container Registry | 全球 | cr<專案、應用程式或服務><環境><###> crnavigatorprod001 |
範例名稱:AI 和機器學習
資產類型 | 範圍 | 格式和範例 |
---|---|---|
Azure AI 搜尋服務 | 全球 | srch-project<、app or service-environment><> srch-navigator-prod srch-emissions-dev |
Azure OpenAI 服務 | 資源群組 | oai-project<、app or service-environment><> oai-navigator-prod oai-emissions-dev |
Azure 機器學習 工作區 | 資源群組 | mlw-project<、app 或服務>環境<> mlw-navigator-prod mlw-emissions-dev |
範例名稱:分析和IoT
資產類型 | 範圍 | 格式和範例 |
---|---|---|
Azure Analysis Services | 全球 | 作為<應用程式名稱><環境> asnavigatorprod asemissionsdev |
Azure Data Factory | 全球 | adf-project<、應用程式或服務>環境<> adf-navigator-prod adf-emissions-dev |
Azure Synapse Analytics 工作區 | 資源群組 | synw-project<、應用程式或服務>環境<> synw-navigator-prod synw-emissions-dev |
Data Lake 儲存體 帳戶 | 全球 | 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 |