Definiowanie konwencji nazewnictwa
Dobra nazwa zasobu ułatwia szybkie identyfikowanie jego typu, skojarzonego obciążenia, środowiska i regionu świadczenia usługi Azure, w którym działa. W tym celu nazwy powinny być zgodne ze spójnym formatem — konwencją nazewnictwa — która składa się z ważnych informacji o każdym zasobie. Informacje w nazwach najlepiej zawierają informacje potrzebne do identyfikowania określonych wystąpień zasobów. Na przykład publiczny adres IP (PIP) dla produkcyjnego obciążenia programu SharePoint w regionie Zachodnie stany USA może mieć wartość pip-sharepoint-prod-westus-001
.
Diagram 1. Składniki nazwy zasobu platformy Azure.
Zalecane składniki nazwy
Podczas konstruowania konwencji nazewnictwa zidentyfikuj kluczowe informacje, które mają zostać przechwycone w nazwie zasobu. Różne informacje są istotne dla różnych typów zasobów, a nie wszystkie ustalone składniki nazewnictwa mogą być używane dla każdego typu zasobu. Ustanów standardową konwencję nazewnictwa dla środowiska, która jest łatwa do naśladowania, zwięzła i przydatna do rozpoznawania informacji istotnych dla wdrożonego zasobu.
Poniższa lista zawiera przykłady składników nazewnictwa przydatnych podczas tworzenia nazw zasobów:
Składnik nazwy | opis |
---|---|
Organizacja | Nazwa najwyższego poziomu organizacji, zwykle używana jako górna grupa zarządzania lub, w mniejszych organizacjach, część konwencji nazewnictwa. Przykład: contoso |
Jednostka biznesowa lub dział | Dział najwyższego poziomu firmy, który jest właścicielem subskrypcji lub obciążenia, do którego należy zasób. W mniejszych organizacjach ten składnik może reprezentować jeden firmowy, najwyższy poziom elementu organizacyjnego. Przykłady: fin , , product mktg , , it corp |
Typ zasobu | Skrót reprezentujący typ zasobu lub zasobu platformy Azure. Ten składnik jest często prefiksem lub sufiksem w nazwie. Aby uzyskać więcej informacji, zobacz Zalecane skróty typów zasobów platformy Azure. Przykłady: rg , vm |
Nazwa projektu, aplikacji lub usługi | Nazwa projektu, aplikacji lub usługi, do którego należy zasób. Przykłady: navigator , , emissions , sharepoint hadoop |
Środowisko | Etap cyklu życia programowania dla obciążenia obsługiwanego przez zasób. Przykłady: prod , , qa dev , , stage test |
Lokalizacja | Region lub dostawca usług w chmurze, w którym wdrożono zasób. Przykłady: westus , , westeu eastus2 , , usva ustx |
Rola maszyny wirtualnej | Identyfikator przeznaczenia maszyny wirtualnej. Przykłady: db (baza danych), ws (serwer internetowy), ps (serwer wydruku) |
Wystąpienie | Liczba wystąpień dla określonego zasobu, aby odróżnić je od innych zasobów, które mają tę samą konwencję nazewnictwa i składniki nazewnictwa. Przykłady, 01 , 001 |
Uwaga
Mimo że nazwy maszyn wirtualnych na platformie Azure mogą być dłuższe niż dozwolona nazwa NetBIOS maszyny wirtualnej, zalecamy ich spójność. Aby uzyskać więcej informacji i innych ograniczeń, zobacz Nazwy komputerów.
Zagadnienia dotyczące nazewnictwa
Oprócz definiowania składników nazewnictwa należy również wziąć pod uwagę kolejność, w jakiej składniki nazewnictwa są wymienione i jakiego typu ograniczniki (jeśli istnieją) powinny być wyświetlane między składnikami. Uwzględnij również różne reguły nazewnictwa skojarzone z typami zasobów.
Scope
Wszystkie typy zasobów platformy Azure mają zakres, który definiuje poziom tego zasobu. Ponadto zasób musi mieć unikatową nazwę w swoim zakresie.
Na przykład sieć wirtualna ma zakres grupy zasobów, co oznacza, że w określonej grupie zasobów może istnieć tylko jedna sieć o nazwie vnet-prod-westus-001
. Inne grupy zasobów mogą również mieć sieci wirtualne o nazwie vnet-prod-westus-001
, ale każda grupa zasobów może mieć tylko jedną z tą nazwą. Podsieci są ograniczone do sieci wirtualnych, więc każda podsieć w sieci wirtualnej musi mieć odrębną nazwę.
Niektóre nazwy zasobów mają zakres globalny, taki jak nazwa platformy jako usługi (PaaS), która ma publiczny punkt końcowy lub etykietę DNS maszyny wirtualnej. Zasób w zakresie globalnym musi mieć nazwę unikatową dla całej platformy Azure.
Diagram 2. Poziomy zakresu nazw zasobów platformy Azure.
Reguły nazewnictwa platformy Azure
Reguły nazewnictwa platformy Azure różnią się w zależności od typu zasobu. Podczas definiowania konwencji nazewnictwa ważne jest, aby zrozumieć reguły nazewnictwa platformy Azure dla typu zasobu, aby uniknąć nieporozumień i opóźnień wdrożeń.
Na przykład nazwy zasobów mają limity długości. Zalecamy zachowanie krótkiej długości składników nazewnictwa, aby zapobiec przekroczeniu limitów długości nazw zasobów.
Uwaga
Równoważenie kontekstu nazwy z jej zakresem i limitem długości jest ważne podczas opracowywania konwencji nazewnictwa. Aby uzyskać więcej informacji, zobacz Naming rules and restrictions for Azure resources (Reguły i ograniczenia nazewnictwa zasobów platformy Azure).
Podczas konstruowania konwencji nazewnictwa zidentyfikuj kluczowe informacje, które mają być odzwierciedlone w nazwie zasobu. Różne informacje są istotne dla różnych typów zasobów. Poniższa lista zawiera przykłady informacji przydatnych podczas konstruowania nazw zasobów.
Nazwy zasobów i składniki nazewnictwa można skrócić jako strategię, aby zmniejszyć długość i złożoność nazw zasobów. Skracanie nazw może być przydatne w przypadku dowolnego ze składników nazewnictwa, ale szczególnie ważne jest, aby ułatwić utrzymanie nazw zasobów w granicach długości nazw. Na przykład nazwa maszyny wirtualnej na platformie Azure może być dłuższa niż ograniczenia nazewnictwa systemu operacyjnego. Utrzymywanie krótszych nazw maszyn wirtualnych platformy Azure niż ograniczenia nazewnictwa systemu operacyjnego pomaga tworzyć spójność, poprawiać komunikację podczas omawiania zasobów i zmniejszać zamieszanie podczas pracy w witrynie Azure Portal podczas logowania się do samej maszyny wirtualnej.
Składnik nazwy | opis |
---|---|
Typ zasobu | Skrót reprezentujący typ zasobu lub zasobu platformy Azure. Ten składnik jest często używany jako prefiks lub sufiks w nazwie. Aby uzyskać więcej informacji, zobacz Zalecane skróty typów zasobów platformy Azure. Przykłady: rg , vm |
Jednostka biznesowa | Wydział firmy najwyższego poziomu będący właścicielem subskrypcji lub obciążenia, do których należy zasób. W mniejszych organizacjach składnik ten może reprezentować pojedynczy korporacyjny element organizacyjny najwyższego poziomu. Przykłady: fin , , product mktg , , it corp |
Nazwa aplikacji lub usługi | Nazwa aplikacji, obciążenia lub usługi, do której należy zasób. Przykłady: navigator , , emissions , sharepoint hadoop |
Cel subskrypcji | Opis podsumowujący przeznaczenie subskrypcji zawierającej zasób. Często podzielone według środowiska lub określonych obciążeń. Przykłady: prod , , shared client |
Środowisko | Etap cyklu życia programowania dla obciążenia obsługiwanego przez zasób. Przykłady: prod , , qa dev , , stage test |
Region | Region świadczenia usługi Azure, w którym wdrożono zasób. Przykłady: westus , , westeu eastus2 , , usva ustx |
Uwaga
Gdy wszystko będzie gotowe do nadania nazw zasobom i zasobom, zapoznaj się z zalecanymi skrótami typów zasobów platformy Azure.
W poniższej sekcji przedstawiono przykładowe nazwy typowych typów zasobów platformy Azure we wdrożeniu w chmurze przedsiębiorstwa.
Uwaga
Niektóre z tych przykładów używają trzycyfrowego schematu wypełnienia (###
), takiego jak mktg-prod-001
.
Uzupełnianie zwiększa czytelność i sortowanie zasobów, gdy te zasoby są zarządzane w bazie danych zarządzania konfiguracją (CMDB), narzędziu do zarządzania zasobami IT lub tradycyjnym narzędziom księgowym. Gdy wdrożony zasób jest zarządzany centralnie w ramach większego spisu lub portfela zasobów IT, podejście dopełniania jest zgodne z interfejsami używanymi przez te systemy do zarządzania nazewnictwem spisu.
Niestety, tradycyjne podejście dopełniania zasobów może okazać się problematyczne w podejściach infrastruktury jako kodu, które mogą iterować za pośrednictwem zasobów na podstawie liczby nieopełnionej. Takie podejście jest typowe podczas wdrażania lub zautomatyzowanych zadań zarządzania konfiguracją. Te skrypty musiałyby rutynowo usuwać dopełnienie i konwertować wyściełaną liczbę na liczbę rzeczywistą, co spowalnia programowanie skryptów i czas wykonywania.
Wybierz podejście odpowiednie dla twojej organizacji. Wypełnienie pokazane tutaj ilustruje znaczenie użycia spójnego podejścia do numerowania spisu, a nie pokazanie, które podejście jest lepsze. Przed wybraniem schematu numerowania, z dopełnianiem lub bez, należy ocenić, co wpłynie na operacje długoterminowe więcej: rozwiązania CMDB i zarządzanie zasobami lub zarządzanie zapasami opartymi na kodzie. Następnie konsekwentnie postępuj zgodnie z opcją dopełnienia, która najlepiej pasuje do Twoich potrzeb operacyjnych.
W poniższej sekcji przedstawiono kilka przykładowych nazw typowych typów zasobów platformy Azure we wdrożeniu w chmurze przedsiębiorstwa. Aby uzyskać więcej przykładów, zobacz narzędzie Azure Naming Tool.
Uwaga
Poniższe przykłady mają na celu przedstawienie wizualizacji konwencji nazewnictwa, ale rzeczywiste konwencje różnią się w zależności od organizacji.
Przykładowe nazwy: Ogólne
Typ składnika majątku | Scope | Formatowanie i przykłady |
---|---|---|
Grupa zarządzania | Jednostka biznesowa i/lub Środowisko usługi |
<jednostka biznesowa> mg[-<environment>] mg-mktg mg-hr mg-corp-prod mg-fin-client |
Subskrypcja | Konto/umowa Enterprise Agreement | <cel> subskrypcji jednostki<> biznesowej—<###> mktg-prod-001 corp-shared-001 fin-client-001 |
Grupa zasobów: | Subskrypcja | rg-app< lub service name-subscription<> purpose>-<###> rg-mktgsharepoint-prod-001 rg-acctlookupsvc-shared-001 rg-ad-dir-services-shared-001 |
Wystąpienie usługi API Management | Globalnie | nazwa aplikacji lub usługi apim<> apim-navigator-prod |
Tożsamość zarządzana | Grupa zasobów | id-app-or< service name-environment-region><<> name-<>###> id-appcn-keda-prod-eastus2-001 |
Przykładowe nazwy: Sieć
Typ składnika majątku | Scope | Formatowanie i przykłady |
---|---|---|
Sieć wirtualna | Grupa zasobów | vnet-subscription< purpose-region-<<>>###> vnet-shared-eastus2-001 vnet-prod-westus-001 vnet-client-eastus2-001 |
Podsieć | Sieć wirtualna | snet-subscription purpose-region>-<<<>###> snet-shared-eastus2-001 snet-prod-westus-001 snet-client-eastus2-001 |
Interfejs sieciowy (NIC) | Grupa zasobów | nic-<##>-vm name-subscription<<> purpose-<>###> nic-01-dc1-shared-001 nic-02-vmhadoop1-prod-001 nic-02-vmtest1-client-001 |
Publiczny adres IP | Grupa zasobów | pip-vm name or app name-environment-region>-<><><<###> pip-dc1-shared-eastus2-001 pip-hadoop-prod-westus-001 |
Moduł równoważenia obciążenia (zewnętrzny) | Grupa zasobów | Nazwa aplikacji lbe< lub środowisko> roli><—<###> lbe-navigator-prod-001 lbe-sharepoint-dev-001 |
Sieciowa grupa zabezpieczeń | Podsieć lub karta sieciowa | Nazwa sieciowej grupy zabezpieczeń< lub nazwa> aplikacji—<###> nsg-weballow-001 nsg-rdpallow-001 nsg-sqlallow-001 nsg-dnsblocked-001 |
Brama sieci lokalnej | Brama wirtualna | lgw-subscription purpose-region>-<<<>###> lgw-shared-eastus2-001 lgw-prod-westus-001 lgw-client-eastus2-001 |
Brama sieci wirtualnej | Sieć wirtualna | vgw-subscription purpose-region>-<<<>###> vgw-shared-eastus2-001 vgw-prod-westus-001 vgw-client-eastus2-001 |
Połączenie sieci VPN | Grupa zasobów | vcn-subscription1 purpose-region1-to-subscription2<>>><< purpose-region2->><> vcn-shared-eastus2-to-shared-westus vcn-prod-eastus2-to-prod-westus |
Tabela tras | Grupa zasobów | nazwa tabeli rt-route<> rt-navigator rt-sharepoint |
Etykieta DNS | Globalnie | <Rekord DNS A dla maszyny wirtualnej>.<region.cloudapp.azure.com> dc1.westus.cloudapp.azure.com web1.eastus2.cloudapp.azure.com |
Przykładowe nazwy: Obliczenia i sieć Web
Typ składnika majątku | Scope | Formatowanie i przykłady |
---|---|---|
Maszyna wirtualna | Grupa zasobów | vm-vm role-environment>—<<<>###> vm-sql-test-001 vm-hadoop-prod-001 |
Aplikacja sieci web | Globalnie | app-project<, app or service-environment>><-<##>.azurewebsites.net app-navigator-prod-001.azurewebsites.net app-accountlookup-dev-001.azurewebsites.net |
Aplikacja funkcji | Globalnie | func-project<, app or service-environment>><-<##>.azurewebsites.net func-navigator-prod-001.azurewebsites.net func-accountlookup-dev-001.azurewebsites.net |
Przykładowe nazwy: Bazy danych
Typ składnika majątku | Scope | Formatowanie i przykłady |
---|---|---|
Azure SQL database | Azure SQL Server | sqldb-project<, app or service-environment><> sqldb-users-prod sqldb-users-dev |
Baza danych usługi Azure Cosmos DB | Globalnie | cosmos-project<, app or service-environment><> cosmos-navigator-prod cosmos-emissions-dev |
Wystąpienie usługi Azure Cache for Redis | Globalnie | redis-project<, app or service-environment><> redis-navigator-prod redis-emissions-dev |
Przykładowe nazwy: Storage
Typ składnika majątku | Scope | Formatowanie i przykłady |
---|---|---|
Konto magazynu (ogólne użycie) | Globalnie | projekt st<, aplikacja lub usługa><###> stnavigatordata001 stemissionsoutput001 |
Azure StorSimple | Globalnie | ssimp<projektu, aplikacji lub środowiska usługi><> ssimpnavigatorprod ssimpemissionsdev |
Azure Container Registry | Globalnie | cr<project, app or service><environment><###> crnavigatorprod001 |
Przykładowe nazwy: sztuczna inteligencja i uczenie maszynowe
Typ składnika majątku | Scope | Formatowanie i przykłady |
---|---|---|
Azure AI Search | Globalnie | srch-project<, app or service-environment><> srch-navigator-prod srch-emissions-dev |
Azure OpenAI Service | Grupa zasobów | oai-project<, app or service-environment><> oai-navigator-prod oai-emissions-dev |
Obszar roboczy usługi Azure Machine Edukacja | Grupa zasobów | mlw-project<, app or service-environment><> mlw-navigator-prod mlw-emissions-dev |
Przykładowe nazwy: Analiza i IoT
Typ składnika majątku | Scope | Formatowanie i przykłady |
---|---|---|
Azure Analysis Services | Globalnie | jako<środowisko nazw><aplikacji> asnavigatorprod asemissionsdev |
Azure Data Factory | Globalnie | adf-project<, app or service-environment><> adf-navigator-prod adf-emissions-dev |
Obszary robocze usługi Azure Synapse Analytics | Grupa zasobów | synw-project<, app or service-environment><> synw-navigator-prod synw-emissions-dev |
Konto usługi Data Lake Storage | Globalnie | projekt dls<, środowisko aplikacji lub usługi><> dlsnavigatorprod dlsemissionsdev |
Iot | Globalnie | iot-project<, app or service-environment><> iot-navigator-prod iot-emissions-dev |
Przykładowe nazwy: Integracja
Typ składnika majątku | Scope | Format i przykłady |
---|---|---|
Przestrzeń nazw usługi Service Bus | Globalnie | sbns-project<, app or service-environment.servicebus.windows.net><> sbns-navigator-prod.servicebus.windows.net sbns-emissions-dev.servicebus.windows.net |
Kolejka usługi Service Bus | Service Bus | sbq-project<, app or service> sbq-navigator |
Temat usługi Service Bus | Service Bus | sbt-project<, app or service> sbt-navigator |