명명 규칙 정의
리소스에 대한 좋은 이름을 사용하면 해당 유형, 관련 워크로드, 환경 및 리소스가 실행되는 Azure 지역을 빠르게 식별할 수 있습니다. 이렇게 하려면 이름은 각 리소스에 대한 중요한 정보로 구성된 일관된 형식(명명 규칙)을 따라야 합니다. 이름의 정보에는 리소스의 특정 인스턴스를 식별하는 데 필요한 모든 항목이 이상적으로 포함됩니다. 예를 들어 미국 서부 지역의 프로덕션 SharePoint 워크로드에 대한 공용 IP 주소(PIP)는 다음과 같습니다 pip-sharepoint-prod-westus-001
.
다이어그램 1: Azure 리소스 이름의 구성 요소
권장 명명 구성 요소
명명 규칙을 구성할 때 리소스 이름에 캡처하려는 정보의 주요 부분을 식별합니다. 다른 정보는 다양한 리소스 종류와 관련이 있으며 각 리소스 종류에 대해 설정된 모든 명명 구성 요소를 사용할 수 있는 것은 아닙니다. 배포된 리소스와 관련된 정보를 인식하기 쉽고 간결하며 유용한 환경에 대한 표준 명명 규칙을 설정합니다.
다음 목록에서는 리소스 이름을 생성할 때 유용한 명명 구성 요소의 예를 제공합니다.
명명 구성 요소 | 설명 |
---|---|
조직 | 일반적으로 최상위 관리 그룹 또는 소규모 조직에서 명명 규칙의 일부로 활용되는 조직의 최상위 이름입니다. 예: contoso |
사업부 또는 부서 | 리소스가 속한 구독 또는 워크로드를 소유한 회사의 최상위 부서입니다. 소규모 조직에서 이 구성 요소는 단일 회사 최상위 조직 요소를 나타낼 수 있습니다. 예: fin , mktg , product , it , corp |
리소스 종류 | Azure 리소스 또는 자산의 유형을 나타내는 약어입니다. 이 구성 요소는 종종 이름에 접두사 또는 접미사입니다. 자세한 내용은 Azure 리소스 종류에 대한 권장 약어를 참조하세요. 예제: rg , vm |
프로젝트, 애플리케이션 또는 서비스 이름 | 자원이 속한 프로젝트, 애플리케이션 또는 서비스의 이름입니다. 예: navigator , emissions , sharepoint , hadoop |
환경 | 리소스가 지원하는 워크로드에 대한 개발 수명 주기의 단계입니다. 예: prod , dev , qa , stage , test |
위치 | 리소스가 배포되는 지역 또는 클라우드 공급자입니다. 예: westus , eastus2 , westeu , usva , ustx |
VM 역할 | VM의 용도 식별자입니다. 예: db (데이터베이스), ws (웹 서버), ps (인쇄 서버) |
인스턴스 | 명명 규칙 및 명명 구성 요소가 동일한 다른 리소스와 구분하기 위해 특정 리소스에 대한 인스턴스 개수입니다. 예제, 01 , 001 |
참고 항목
Azure의 VM(가상 머신) 이름은 VM의 허용된 NetBIOS 이름보다 길 수 있지만 일관성을 유지하는 것이 좋습니다. 자세한 내용 및 기타 제한 사항은 컴퓨터 이름을 참조 하세요.
리소스 명명 고려 사항
명명 구성 요소를 정의하는 것 외에도 명명 구성 요소가 나열되는 순서와 구성 요소 사이에 표시되어야 하는 구분 기호 유형(있는 경우)도 고려해야 합니다. 또한 리소스 유형과 연결된 다양한 명명 규칙을 고려합니다.
범위
모든 Azure 리소스 유형에는 해당 리소스의 수준을 정의하는 범위가 있습니다. 또한 리소스의 범위 내에서 고유한 이름이 있어야 합니다.
예를 들어 가상 네트워크에는 리소스 그룹의 범위가 있습니다. 즉, 특정 리소스 그룹에 이름이 지정된 vnet-prod-westus-001
네트워크가 하나만 있을 수 있습니다. 다른 리소스 그룹에는 가상 네트워크 이름이 있을 vnet-prod-westus-001
수도 있지만 각 리소스 그룹에는 해당 이름의 가상 네트워크만 있을 수 있습니다. 서브넷은 가상 네트워크로 범위가 지정되므로 가상 네트워크 내의 각 서브넷에는 고유한 이름이 있어야 합니다.
일부 리소스 이름에는 퍼블릭 엔드포인트 또는 가상 머신 DNS 레이블이 있는 PaaS(Platform as a Service)의 이름과 같은 전역 범위가 있습니다. 전역 범위의 리소스에는 전체 Azure 플랫폼에서 고유한 이름이 있어야 합니다.
다이어그램 2: Azure 리소스 이름의 범위 수준
Azure 명명 규칙
Azure 명명 규칙은 리소스 종류에 따라 다릅니다. 명명 규칙을 정의할 때는 리소스 종류에 대한 Azure 명명 규칙을 이해하여 혼동을 방지하고 배포를 지연하는 것이 중요합니다.
예를 들어 리소스 이름에는 길이 제한이 있습니다. 리소스 이름 길이 제한을 초과하지 않도록 명명 구성 요소의 길이를 짧게 유지하는 것이 좋습니다.
참고 항목
이름 지정 규칙을 개발할 때는 이름 컨텍스트와 범위 및 길이 제한의 균형을 맞추는 것이 중요합니다. 자세한 내용은 Azure 리소스에 대한 명명 규칙 및 제한 사항을 참조하세요.
명명 규칙을 만들 때 리소스 이름에 반영하려는 주요 정보를 식별합니다. 다양한 정보는 다양한 리소스 종류와 관련이 있습니다. 다음 목록에서는 리소스 이름을 생성할 때 유용한 정보의 예를 제공합니다.
리소스 이름의 길이와 복잡성을 줄이기 위한 전략으로 리소스 이름 및 명명 구성 요소를 축약할 수 있습니다. 이름 단축은 명명 구성 요소에 유용할 수 있지만 리소스 이름을 이름 길이 제한 내에서 유지하는 데 특히 중요합니다. 예를 들어 Azure의 VM 이름은 OS 명명 제한보다 길 수 있습니다. Azure VM 이름을 OS의 명명 제한보다 짧게 유지하면 일관성을 만들고, 리소스를 논의할 때 통신을 개선하며, VM 자체에 로그인하는 동안 Azure Portal에서 작업할 때 혼동을 줄일 수 있습니다.
명명 구성 요소 | 설명 |
---|---|
리소스 종류 | Azure 리소스 또는 자산의 유형을 나타내는 약어입니다. 이 구성 요소는 이름에서 접두사 또는 접미사로 자주 사용됩니다. 자세한 내용은 Azure 리소스 종류에 대한 권장 약어를 참조하세요. 예제: rg , vm |
사업부 | 리소스가 속한 구독 또는 워크로드를 소유한 회사의 최상위 사업부. 소규모 조직에서 이 구성 요소는 단일 회사 최상위 조직 요소를 나타낼 수 있습니다. 예: fin , mktg , product , it , corp |
애플리케이션 또는 서비스 이름 | 리소스가 속한 애플리케이션, 워크로드 또는 서비스의 이름입니다. 예: navigator , emissions , sharepoint , hadoop |
구독 목적 | 리소스를 포함하는 구독의 용도에 대한 요약 설명입니다. 환경 또는 특정 워크로드별로 세분화되는 경우가 많습니다. 예: prod , shared , client |
환경 | 리소스가 지원하는 워크로드에 대한 개발 수명 주기의 단계입니다. 예: prod , dev , qa , stage , test |
지역 | 리소스가 배포되는 Azure 지역. 예: westus , eastus2 , westeu , usva , ustx |
참고 항목
리소스 및 자산의 이름을 지정할 준비가 되면 Azure 리소스 종류에 대한 권장 약어를 검토합니다.
다음 섹션에서는 엔터프라이즈 클라우드 배포의 일반적인 Azure 리소스 종류에 대한 예제 이름을 제공합니다.
참고 항목
이러한 예제 이름 중 일부는 3자리 안쪽 여백 구성표(###
)를 사용합니다(예: 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-<앱 또는 서비스 이름> apim-navigator-prod |
관리 ID | Resource group | id-app< 또는 service name-environment-region><<> name-<>###> id-appcn-keda-prod-eastus2-001 |
예제 이름: 네트워킹
자산 형식 | 범위 | 형식 및 예제 |
---|---|---|
가상 네트워크 | Resource group | 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(네트워크 인터페이스) | Resource group | nic-<##>-<vm name-subscription<> 용도>-<###> nic-01-dc1-shared-001 nic-02-vmhadoop1-prod-001 nic-02-vmtest1-client-001 |
공용 IP 주소 | Resource group | pip-<vm 이름 또는 앱 이름>-<환경>-<지역>-<###> pip-dc1-shared-eastus2-001 pip-hadoop-prod-westus-001 |
부하 분산 장치(외부) | Resource group | lbe-app< 이름 또는 role-environment>><-<###> lbe-navigator-prod-001 lbe-sharepoint-dev-001 |
NSG(네트워크 보안 그룹) | 서브넷 또는 NIC | nsg-<정책 이름 또는 앱 이름>-<###> 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 연결 | Resource group | vcn-subscription1< purpose-region1-to-subscription2>>><< purpose-region2->><> vcn-shared-eastus2-to-shared-westus vcn-prod-eastus2-to-prod-westus |
경로 테이블 | Resource group | rt-route< 테이블 이름> rt-navigator rt-sharepoint |
DNS 레이블 | 전역 | <VM에 대한 DNS A 레코드>.<지역>.cloudapp.azure.com dc1.westus.cloudapp.azure.com web1.eastus2.cloudapp.azure.com |
예제 이름: 컴퓨팅 및 웹
자산 형식 | 범위 | 형식 및 예제 |
---|---|---|
가상 머신 | Resource group | vm-vm< role-environment>><-<###> vm-sql-test-001 vm-hadoop-prod-001 |
웹 앱 | 전역 | app-project<, app 또는 service-environment>>-<<###>.azurewebsites.net app-navigator-prod-001.azurewebsites.net app-accountlookup-dev-001.azurewebsites.net |
함수 앱 | 전역 | func-project<, app 또는 service-environment>>-<<###>.azurewebsites.net func-navigator-prod-001.azurewebsites.net func-accountlookup-dev-001.azurewebsites.net |
예제 이름: 데이터베이스
자산 형식 | 범위 | 형식 및 예제 |
---|---|---|
Azure SQL Database | Azure SQL Server | sqldb-project<, 앱 또는 서비스> 환경<> sqldb-users-prod sqldb-users-dev |
Azure Cosmos DB 데이터베이스 | 전역 | cosmos-project<, app 또는 service-environment><> cosmos-navigator-prod cosmos-emissions-dev |
Azure Cache for Redis 인스턴스 | 전역 | redis-project<, 앱 또는 서비스> 환경<> 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 또는 service-environment><> srch-navigator-prod srch-emissions-dev |
Azure OpenAI 서비스 | Resource group | oai-project<, 앱 또는 서비스> 환경<> oai-navigator-prod oai-emissions-dev |
Azure Machine Learning 작업 영역 | Resource group | mlw-project<, 앱 또는 서비스> 환경<> mlw-navigator-prod mlw-emissions-dev |
예제 이름: 분석 및 IoT
자산 형식 | 범위 | 형식 및 예제 |
---|---|---|
Azure Analysis Services | 전역 | 앱 이름><환경으로<> asnavigatorprod asemissionsdev |
Azure Data Factory | 전역 | adf-project<, app 또는 service-environment><> adf-navigator-prod adf-emissions-dev |
Azure Synapse Analytics 작업 영역 | Resource group | synw-project<, app 또는 service-environment><> synw-navigator-prod synw-emissions-dev |
Data Lake Storage 계정 | 전역 | dls<프로젝트, 앱 또는 서비스><환경> dlsnavigatorprod dlsemissionsdev |
IoT Hub | 전역 | iot-project<, 앱 또는 서비스> 환경<> iot-navigator-prod iot-emissions-dev |
예제 이름: 통합
자산 형식 | 범위 | 형식 및 예제 |
---|---|---|
Service Bus 네임스페이스 | 전역 | sbns-project<, app 또는 service-environment.servicebus.windows.net><> sbns-navigator-prod.servicebus.windows.net sbns-emissions-dev.servicebus.windows.net |
Azure Service Bus 큐 | Service Bus | sbq-project<, 앱 또는 서비스> sbq-navigator |
Service Bus 토픽 | Service Bus | sbt-project<, 앱 또는 서비스> sbt-navigator |