Azure

¿Cómo nombrar a los recursos en Azure?

En este artículo, veremos reglas, recomendaciones y ejemplos de nomenclatura de nombres de recursos en Azure.

Es importante llamar de manera eficaz a los nombres de recursos a partir de información sobre cada recurso, para evitar conflictos y para garantizar la legibilidad y la comprensión de los recursos. Un buen nombre de recurso permite identificar rápidamente el organización, departamento, tipo del recurso, el entorno, la región de Azure, instancia, etc.

  1. Reglas de nomenclatura de Azure
  2. Opciones de nomenclatura para construir nombres de recursos
  3. Ámbito
  4. Ejemplos de nombres de recursos

Reglas de nomenclatura de Azure

Para recursos de Azure, Microsoft recomienda seguir las siguientes convenciones de nombramiento:

  • Usar nombres en minúsculas y separados por guiones
  • Usar letras y números, con un máximo de 24 caracteres.
  • No usar caracteres especiales, como @, #, $, %, &, *, etc.
  • No usar palabras reservadas de Azure, como «Azure», «Microsoft», etc.
  • No usar nombres similares a los servicios de Azure, como «SQL», «Storage», etc.
  • Usar un nombre descriptivo y significativo para el recurso, como «mi-recurso-azure» o «mi-recurso-app».
  • Si se utiliza un prefijo o un sufijo, asegurarse de que sean claros y coherentes, como «app-» o «-prod».

Estas convenciones ayudan a evitar conflictos y a mantener la organización y la legibilidad de los recursos en la plataforma de Azure.

Reglas y restricciones de nomenclatura para los recursos de Azure

Opciones de nomenclatura para construir nombres de recursos

Aquí una lista de ejemplos de opciones de la nomenclatura que son útiles al construir nombres de recursos. Para cada tipo de recurso se puede usar unas opciones u otras de nomenclatura. La intención es tener una convención de nomenclatura estándar que sea fácil de seguir, concisa y útil para reconocer la información que sea relevante para el recurso creado.

Opciones de nomenclaturaDescripción
OrganizaciónEl nombre de nivel superior de la organización, que normalmente se usa como grupo de administración superior o, en organizaciones más pequeñas, forma parte de la convención de nomenclatura. Ejemplo: contoso
Unidad de negocio o departamentoDivisión de nivel superior de la empresa que posee la suscripción o la carga de trabajo a la que pertenece el recurso. En organizaciones más pequeñas, este componente podría representar un único elemento organizativo de nivel superior corporativo. Ejemplos: fin, mktg, product, it, corp
Tipo de recursoUna abreviatura que representa el tipo de recurso de Azure. Este componente se usa a menudo como prefijo o sufijo en el nombre. Abreviaturas recomendadas para los tipos de recursos de Azure. Ejemplos: rg, vm
Nombre de proyecto, aplicación o servicioEl nombre del proyecto, aplicación o servicio del que forma parte el recurso. Ejemplos: navigator, emissions, sharepoint, hadoop
EntornoFase del ciclo de vida de desarrollo de la carga de trabajo que admite el recurso. Ejemplos: prod, dev, qa, stage, test
UbicaciónLa región o el proveedor de nube en el que se implementa el recurso. Ejemplos: westus, eastus2, westeu, usva, ustx
Rol de máquina virtualIdentificador para el propósito de la máquina virtual. Ejemplos: db (base de datos), ws (servidor web), ps (servidor de impresión)
InstanciaEl número de instancias de un recurso específico para identificar si hay más de un recurso que tenga la misma convención de nomenclatura. Ejemplos, 01, 001

Es importante el orden en que deben aparecer las opciones de nomenclatura.

Ámbito

Los nombre de recursos deben ser únicos dentro de su ámbito.

  • Global: únicos en toda la plataforma de Azure. Por ejemplo, servicios PaaS con puntos de conexión públicos o etiquetas DNS de máquina virtual.
  • Grupo de recursos: único dentro del grupo de recurso. Por ejemplo, una red virtual tiene un ámbito de grupo de recursos, lo que significa que solo puede haber una red llamada vnet-prod-westus-001 en un grupo de recursos determinado. Otros grupos de recursos podrían tener su propia red virtual llamada vnet-prod-westus-001
  • Atributo de recurso: único dentro del recurso padre. Por ejemplo: las subredes tienen como ámbito las redes virtuales por lo que cada subred de una red virtual debe tener un nombre diferente.

Ejemplos de nombres de recursos

Estos son ejemplos con consideraciones de nomenclatura, pero variarán en función de la organización.

General

Tipo de recursoÁmbitoFormato y ejemplos
Grupo de administraciónUnidad de negocio y/o
Environment
mg-<business unit>[-<environment>]

  • mg-mktg
  • mg-hr
  • mg-corp-prod
  • mg-fin-client
  • SuscripciónCuenta o Contrato Enterprise<business unit>-<subscription purpose>-<###>

  • mktg-prod-001
  • corp-shared-001
  • fin-client-001
  • Grupos de recursosSuscripciónrg-<app or service name>-<subscription purpose>-<###>

  • rg-mktgsharepoint-prod-001
  • rg-acctlookupsvc-shared-001
  • rg-ad-dir-services-shared-001
  • Instancia del servicio API ManagementGlobalapim-<nombre de aplicación o servicio>

    apim-navigator-prod
    Identidad administradaResource groupid-<app or service name>-<environment>-<region name>-<###>

  • id-appcn-keda-prod-eastus2-001
  • Redes

    Tipo de recursoÁmbitoFormato y ejemplos
    Red virtualResource groupvnet-<subscription purpose>-<region>-<###>

  • vnet-shared-eastus2-001
  • vnet-prod-westus-001
  • vnet-client-eastus2-001
  • SubredVirtual networksnet-<propósito de la suscripción>-<región>-< ###>

  • snet-shared-eastus2-001
  • snet-prod-westus-001
  • snet-client-eastus2-001
  • Tarjeta de interfaz de red (NIC)Resource groupnic-<##>-<nombre de VM>-<propósito de la suscripción>-<###>

  • nic-01-dc1-shared-001
  • nic-02-vmhadoop1-prod-001
  • nic-02-vmtest1-client-001
  • Dirección IP públicaResource grouppip-<nombre de VM o aplicación>-<entorno>-<región>-<###>

  • pip-dc1-shared-eastus2-001
  • pip-hadoop-prod-westus-001
  • Equilibrador de cargaResource grouplb-<nombre de aplicación o rol>-<entorno>-<###>

  • lb-navigator-prod-001
  • lb-sharepoint-dev-001
  • Grupo de seguridad de red (NSG)Subred o NICnsg-<nombre de directiva o aplicación>-<###>

  • nsg-weballow-001
  • nsg-rdpallow-001
  • nsg-sqlallow-001
  • nsg-dnsblocked-001
  • Puerta de enlace de red localPuerta de enlace virtuallgw-<propósito de la suscripción>-<región>-< ###>

  • lgw-shared-eastus2-001
  • lgw-prod-westus-001
  • lgw-client-eastus2-001
  • Puerta de enlace de red virtualVirtual networkvgw-<propósito de la suscripción>-<región>-< ###>

  • vgw-shared-eastus2-001
  • vgw-prod-westus-001
  • vgw-client-eastus2-001
  • Conexión de sitio a sitioResource groupcn-<nombre de puerta de enlace local>-a-<nombre de puerta de enlace virtual>

  • cn-lgw-shared-eastus2-001-to-vgw-shared-eastus2-001
  • cn-lgw-shared-eastus2-001-to-vgw-shared-westus-001
  • Conexión VPNResource groupcn-<propósito de la suscripción1>>-<región1>-to-<propósito de la suscripción2>>-<región2>-

  • cn-shared-eastus2-to-shared-westus
  • cn-prod-eastus2-to-prod-westus
  • Tabla de rutasResource grouproute-<nombre de tabla de ruta>

  • route-navigator
  • route-sharepoint
  • Etiqueta DNSGlobal<DNS Un registro para VM>.<región>.cloudapp.azure.com

  • dc1.westus.cloudapp.azure.com
  • web1.eastus2.cloudapp.azure.com
  • Procesos y web

    Tipo de recursoÁmbitoFormato y ejemplos
    Máquina virtualResource groupvm<rol de vm><entorno><###>

  • vmsqltest001
  • vmhadoopprod001
  • Aplicación webGlobalapp-<proyecto, aplicación o servicio>-<entorno>-<###>.azurewebsites.net

  • app-navigator-prod-001.azurewebsites.net
  • app-accountlookup-dev-001.azurewebsites.net
  • Aplicación de funciónGlobalfunc-<proyecto, aplicación o servicio>-<entorno>-<###>.azurewebsites.net

  • func-navigator-prod-001.azurewebsites.net
  • func-accountlookup-dev-001.azurewebsites.net
  • Bases de datos

    Tipo de recursoÁmbitoFormato y ejemplos
    Azure SQL DatabaseAzure SQL Databasesqldb-<proyecto, aplicación o servicio>-<entorno>

  • sqldb-users-prod
  • sqldb-users-dev
  • Base de datos de Azure Cosmos DBGlobalcosmos-<proyecto, aplicación o servicio>-<entorno>

  • cosmos-navigator-prod
  • cosmos-emissions-dev
  • Instancia de Azure Cache for RedisGlobalredis-<proyecto, aplicación o servicio>-<entorno>

  • redis-navigator-prod
  • redis-emissions-dev
  • Storage

    Tipo de recursoÁmbitoFormato y ejemplos
    Cuenta de Storage (uso general)Globalst<proyecto, aplicación o servicio><###>

  • stnavigatordata001
  • stemissionsoutput001
  • Azure StorSimpleGlobalssimp<proyecto, aplicación o servicio><entorno>

  • ssimpnavigatorprod
  • ssimpemissionsdev
  • Azure Container RegistryGlobalcr<proyecto, aplicación o servicio><entorno><###>

  • crnavigatorprod001
  • AI y aprendizaje automático

    Tipo de recursoÁmbitoFormato y ejemplos
    Azure Data FactoryGlobaladf-<proyecto, aplicación o servicio>-<entorno>

  • adf-navigator-prod
  • adf-emissions-dev
  • Azure Stream AnalyticsResource groupasa-<proyecto, aplicación o servicio>-<entorno>

  • asa-navigator-prod
  • asa-emissions-dev
  • Cuenta de Data Lake StorageGlobaldls<proyecto, aplicación o servicio><entorno>

  • dlsnavigatorprod
  • dlsemissionsdev
  • centro de IoTGlobaliot-<proyecto, aplicación o servicio>-<entorno>

  • iot-navigator-prod
  • iot-emissions-dev
  • Analytics e IoT

    Tipo de recursoÁmbitoFormato y ejemplos
    Azure Data FactoryGlobaladf-<proyecto, aplicación o servicio>-<entorno>

  • adf-navigator-prod
  • adf-emissions-dev
  • Azure Stream AnalyticsResource groupasa-<proyecto, aplicación o servicio>-<entorno>

  • asa-navigator-prod
  • asa-emissions-dev
  • Cuenta de Data Lake StorageGlobaldls<proyecto, aplicación o servicio><entorno>

  • dlsnavigatorprod
  • dlsemissionsdev
  • centro de IoTGlobaliot-<proyecto, aplicación o servicio>-<entorno>

  • iot-navigator-prod
  • iot-emissions-dev
  • Integración

    Tipo de recursoÁmbitoFormato y ejemplos
    Service BusGlobalsb-<proyecto, aplicación o servicio>-<entorno>.servicebus.windows.net

  • sb-navigator-prod.servicebus.windows.net
  • sb-emissions-dev.servicebus.windows.net
  • Cola de Service BusAzure Service Bussbq-<descriptor de consulta>

  • sbq-messagequery
  • Tema de Service BusAzure Service Bussbt-<descriptor de consulta>

  • sbt-messagequery
  • Conclusión

    En conclusión, es importante tener en cuenta algunas consideraciones de nomenclatura. Estas incluyen el uso de nombres únicos y fácilmente identificables para cada recurso, seguir las reglas y limitaciones de nombres específicas para cada tipo de recurso, y mantener una estructura lógica y consistente en la nomenclatura para facilitar la gestión y organización de los recursos. También es importante considerar la integración con otros sistemas y la posibilidad de cambios futuros en la nomenclatura.