권장되는 명명 구성 요소
•
명명 규칙을 구성할 때 리소스 이름에 캡처하려는 정보의 주요 부분을 식별한다.
•
다른 정보는 다양한 리소스 종류와 관련이 있으며 각 리소스 종류에 대해 설정된 모든 명명 구성 요소를 사용할 수 있는 것은 아니다.
•
배포된 리소스와 관련된 정보를 인식하기 쉽고 간결하며 유용한 환경에 대한 표준 명명 규칙을 설정한다.
다음 목록에서는 리소스 이름을 생성할 때 유용한 명명 구성 요소의 예를 제공한다.
명명 구성 요소 | 묘사 |
조직 | 일반적으로 최상위 관리 그룹 또는 소규모 조직에서 명명 규칙의 일부로 활용되는 조직의 최상위 이름. 예: contoso |
사업부 또는 부서 | 리소스가 속한 구독 또는 워크로드를 소유한 회사의 최상위 부서. 소규모 조직에서 이 구성 요소는 단일 회사 최상위 조직 요소를 나타낼 수 있다. 예: fin, mktg, product, it, corp |
리소스 종류 | Azure 리소스 또는 자산의 유형을 나타내는 약어입니다. 이 구성 요소는 종종 이름에 접두사 또는 접미사. 자세한 내용은Azure 리소스 종류에 대한 권장 약어 참조. 예: rg, vm |
워크로드, 애플리케이션 또는 프로젝트 | 리소스가 속한 워크로드, 애플리케이션 또는 프로젝트의 이름. 예: navigator, emissions, sharepoint, hadoop |
환경 | 리소스가 지원하는 워크로드에 대한 개발 수명 주기의 단계. 예: prod, dev, qa, stage, test |
지역 | 리소스가 배포되는 지역 또는 클라우드 공급자. 예: westus, eastus2, westeu, usva, ustx |
인스턴스 | 명명 규칙 및 명명 구성 요소가 동일한 다른 리소스와 구분하기 위해 특정 리소스에 대한 인스턴스 개수. 예: 01, 001 |
이름 선정 시 고려할 사항
•
명명 구성 요소를 정의하는 것 외에도 명명 구성 요소가 나열되는 순서와 구성 요소 사이에 표시되어야 하는 구분 기호 유형(있는 경우)도 고려해야 한다.
•
또한 리소스 유형과 연결된 다양한 명명 규칙을 고려합니다.
범위
•
모든 Azure 리소스 유형에는 해당 리소스의 수준을 정의하는 범위가 있다.
•
또한 리소스의 범위 내에서 고유한 이름이 있어야 한다.
•
Azure 리소스 이름에 대한 범위 수준:
◦
글로벌: 모든 Azure에서 고유하다.
예제: 해당 이름이 초기 기본 공용 DNS 이름이기 때문에 모든 Azure에서 공용 IP 엔드포인트가 있는 PaaS 리소스의 이름이다.
◦
리소스 그룹: 리소스 그룹 내에서 고유하다.
예: 리소스 그룹의 모든 가상 네트워크에는 해당 리소스 그룹 내에서 라우팅할 고유한 이름이 있어야 한다.
◦
리소스: 부모 리소스 내에서 고유하다.
예: 가상 네트워크 내의 모든 서브넷에는 세그먼트가 겹치지 않도록 고유한 이름이 있어야 한다.
다이어그램 2: Azure 리소스 이름의 범위 수준
가상 네트워크에는 리소스 그룹의 범위가 있다.
→ 즉, 특정 리소스 그룹에는 vnet-prod-westus-001이라는 네트워크가 하나만 있을 수 있다.
•
다른 리소스 그룹에는 vnet-prod-westus-001가상 네트워크가 있을 수도 있지만 각 리소스 그룹에는 해당 이름의 가상 네트워크만 있을 수 있다.
•
서브넷은 가상 네트워크로 범위가 지정되므로 가상 네트워크 내의 각 서브넷에는 고유한 이름이 있어야 한다.
•
일부 리소스 이름에는 퍼블릭 엔드포인트 또는 가상 머신 DNS 레이블이 있는 PaaS(Platform as a Service)의 이름과 같은 전역 범위가 있다.
•
전역 범위의 리소스에는 전체 Azure 플랫폼에서 고유한 이름이 있어야 한다.
Azure 명명 규칙
•
Azure 명명 규칙은 리소스 종류에 따라 다르다.
•
혼동과 지연을 방지하려면 각 리소스 종류에 대한 명명 규칙을 이해하는 것이 중요하다.
리소스 종류에 따라 리소스 이름은 길이 제한이 다를 수 있다.
리소스 이름 길이 제한을 초과하지 않도록 이름 구성 요소의 길이를 짧거나 약어로 지정하는 것이 좋다.
•
명명 규칙을 생성할 때 리소스 이름에 반영하려는 정보의 주요 부분을 식별한다.
•
다양한 정보는 다양한 리소스 종류와 관련이 있다.
권장 사항
•
명명 규칙 및 제한 이해
◦
이름 지정 규칙을 개발할 때 이름 컨텍스트와 범위 및 길이 제한의 균형을 맞추는 것이 중요.
→ Azure 리소스에 대한 명명 규칙 및 제한 참조.
•
권장 리소스 약어 사용
◦
약어는 리소스 이름을 길이 제한 내에서 유지하고 읽기 쉽게 만드는 데 도움이 될 수 있다.
→ Azure 리소스 종류에 대한 권장 약어 참조.
•
VM에 대한 명명 일관성 고려
◦
Azure에서 VM을 사용하는 경우 Azure의 VM 이름이 허용된 VBIOS 이름보다 길더라도 이름을 일관되게 유지하는 것이 좋다.
→ 컴퓨터, 도메인, 사이트 및 OU - 컴퓨터 이름대한 Active Directory의 명명 규칙 참조.
•
Azure 명명 도구사용
◦
Azure 명명 도구는 명명 규칙에 따라 Azure 리소스의 이름을 생성하는 데 도움이 되는 도구이다.
예제 이름
•
명명 규칙을 정의할 때 다음 예제를 고려해서 작성하는 것을 추천한다.
•
다음 예제는 명명 규칙의 시각화를 제공하기 위한 것이지만 실제 규칙은 조직에 따라 다르니 맞춰서 사용하는 것을 추천한다.
일반
자산 유형 | 범위 | 형식 및 예제 |
관리 그룹 | 사업부 및/또는 환경 | mg-<사업부>[-<환경>]
- mg-mktg
- mg-hrmg-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 |
API Management 서비스 인스턴스 | 글로벌 | apim-<앱 또는 서비스 이름>
- apim-navigator-prod |
관리 ID | 리소스 그룹 | id-<앱 또는 서비스 이름>-<환경>-<지역 이름>-<###>
- id-appcn-keda-prod-eastus2-001 |
네트워킹
자산 유형 | 범위 | 형식 및 예제 |
가상 네트워크 | 리소스 그룹 | 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>-to-<subscription2 용도>-<region2>
- vcn-shared-eastus2-to-shared-westus
- vcn-prod-eastus2-to-prod-westus |
경로 테이블 | 리소스 그룹 | rt-<경로 테이블 이름>
- rt-navigatorrt-sharepoint |
DNS 레이블 | 글로벌 | <VM DNS A 레코드(Record)>.<지역>.cloudapp.azure.com
- dc1.westus.cloudapp.azure.com
- web1.eastus2.cloudapp.azure.com |
컴퓨터 및 웹
자산 유형 | 범위 | 형식 및 예제 |
가상 머신 | 리소스 그룹 | vm-<워크로드, 애플리케이션 또는 프로젝트>-<환경>-<###>
- vm-sql-test-001
- vm-hadoop-prod-001
- vm-sharepoint-dev-001 |
웹-앱 | 세계적 | 앱<워크로드, 애플리케이션 또는 프로젝트>-<환경>-<###>.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 |
데이터베이스
자산 유형 | 범위 | 형식 및 예제 |
Azure SQL 데이터베이스 | Azure SQL Server | sqldb-<워크로드, 애플리케이션 또는 프로젝트>-<환경>
- sqldb-users-prodsqldb-users-dev |
Azure Cosmos DB 데이터베이스 | 글로벌 | cosmos-<워크로드, 애플리케이션 또는 프로젝트>-< 환경>
- cosmos-navigator-prodcosmos-emissions-dev |
Azure Cache for Redis 인스턴스 | 세계적 | redis-<워크로드, 애플리케이션 또는 프로젝트>-<환경>
- redis-navigator-prodredis-emissions-dev |
저장소
자산 유형 | 범위 | 형식 및 예제 |
스토리지 계정(일반 사용) | 글로벌 | st<워크로드, 애플리케이션 또는 프로젝트><###>
- stnavigatordata001
- stemissionsoutput001 |
Azure StorSimple | 글로벌 | ssimp<워크로드, 애플리케이션 또는 프로젝트><환경>
- ssimpnavigatorprod
- ssimpemissionsdev |
Azure Container Registry | 글로벌 | cr<워크로드, 애플리케이션 또는 프로젝트><환경><###>
- crnavigatorprod001 |
AI 및 기계 학습
자산 유형 | 범위 | 형식 및 예제 |
Azure AI Search | 글로벌 | srch-<워크로드, 애플리케이션 또는 프로젝트>-<환경>
- srch-navigator-prod
- srch-emissions-dev |
Azure OpenAI Service | 리소스 그룹 | oai-<워크로드, 애플리케이션 또는 프로젝트>-<환경>
- oai-navigator-prod
- oai-emissions-dev |
Azure Machine Learning 작업 영역 | 리소스 그룹 | mlw-<워크로드, 애플리케이션 또는 프로젝트>-<환경>
- mlw-navigator-prod
- mlw-emissions-dev |
분석 및 사물인터넷 (IoT)
자산 유형 | 범위 | 형식 및 예제 |
Azure Analysis Services | 글로벌 | <앱 이름><환경>
- asnavigatorprod
- asemissionsdev |
Azure Data Factory | 전 세계적인 | adf-<워크로드, 애플리케이션 또는 프로젝트>-<환경>
- adf-navigator-prod
- adf-emissions-dev |
Azure Synapse Analytics 작업 영역 | 리소스 그룹 | synw-<워크로드, 애플리케이션 또는 프로젝트>-<환경>
- synw-navigator-prod
- synw-emissions-dev |
Data Lake Storage 계정 | 글로벌 | dls<워크로드, 애플리케이션 또는 프로젝트><환경>
- dlsnavigatorprod
- dlsemissionsdev |
IoT 허브 | 글로벌 | iot-<워크로드, 애플리케이션 또는 프로젝트>-<환경>
- iot-navigator-prod
- iot-emissions-dev |
통합
자산 유형 | 범위 | 형식 및 예제 |
Service Bus 네임스페이스 | 세계적 | sbns-<워크로드, 애플리케이션 또는 프로젝트>-<환경>.servicebus.windows.net
- sbns-navigator-prod.servicebus.windows.net
- sbns-emissions-dev.servicebus.windows.net |
Service Bus 큐 | 서비스 버스 | sbq-<워크로드, 애플리케이션 또는 프로젝트>
- sbq-navigator |
Service Bus 토픽 | 서비스 버스 | sbt-<워크로드, 애플리케이션 또는 프로젝트>
- sbt-navigator |