![Azure](/wp-content/uploads/2023/02/Azure-768x432.jpg)
¿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.
- Reglas de nomenclatura de Azure
- Opciones de nomenclatura para construir nombres de recursos
- Ámbito
- 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 nomenclatura | Descripción |
---|---|
Organización | El 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 departamento | Divisió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 recurso | Una 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 servicio | El nombre del proyecto, aplicación o servicio del que forma parte el recurso. Ejemplos: navigator , emissions , sharepoint , hadoop |
Entorno | Fase del ciclo de vida de desarrollo de la carga de trabajo que admite el recurso. Ejemplos: prod , dev , qa , stage , test |
Ubicación | La región o el proveedor de nube en el que se implementa el recurso. Ejemplos: westus , eastus2 , westeu , usva , ustx |
Rol de máquina virtual | Identificador para el propósito de la máquina virtual. Ejemplos: db (base de datos), ws (servidor web), ps (servidor de impresión) |
Instancia | El 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 llamadavnet-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 | Ámbito | Formato y ejemplos |
---|---|---|
Grupo de administración | Unidad de negocio y/o Environment | mg-<business unit>[-<environment>] mg-mktg mg-hr mg-corp-prod mg-fin-client |
Suscripción | Cuenta o Contrato Enterprise | <business unit>-<subscription purpose>-<###> mktg-prod-001 corp-shared-001 fin-client-001 |
Grupos de recursos | Suscripción | rg-<app or service name>-<subscription purpose>-<###> rg-mktgsharepoint-prod-001 rg-acctlookupsvc-shared-001 rg-ad-dir-services-shared-001 |
Instancia del servicio API Management | Global | apim-<nombre de aplicación o servicio> apim-navigator-prod |
Identidad administrada | Resource group | id-<app or service name>-<environment>-<region name>-<###> id-appcn-keda-prod-eastus2-001 |
Redes
Tipo de recurso | Ámbito | Formato y ejemplos |
---|---|---|
Red virtual | Resource group | vnet-<subscription purpose>-<region>-<###> vnet-shared-eastus2-001 vnet-prod-westus-001 vnet-client-eastus2-001 |
Subred | Virtual network | snet-<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 group | nic-<##>-<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ública | Resource group | pip-<nombre de VM o aplicación>-<entorno>-<región>-<###> pip-dc1-shared-eastus2-001 pip-hadoop-prod-westus-001 |
Equilibrador de carga | Resource group | lb-<nombre de aplicación o rol>-<entorno>-<###> lb-navigator-prod-001 lb-sharepoint-dev-001 |
Grupo de seguridad de red (NSG) | Subred o NIC | nsg-<nombre de directiva o aplicación>-<###> nsg-weballow-001 nsg-rdpallow-001 nsg-sqlallow-001 nsg-dnsblocked-001 |
Puerta de enlace de red local | Puerta de enlace virtual | lgw-<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 virtual | Virtual network | vgw-<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 sitio | Resource group | cn-<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 VPN | Resource group | cn-<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 rutas | Resource group | route-<nombre de tabla de ruta> route-navigator route-sharepoint |
Etiqueta DNS | Global | <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 | Ámbito | Formato y ejemplos |
---|---|---|
Máquina virtual | Resource group | vm<rol de vm><entorno><###> vmsqltest001 vmhadoopprod001 |
Aplicación web | Global | app-<proyecto, aplicación o servicio>-<entorno>-<###>.azurewebsites.net app-navigator-prod-001.azurewebsites.net app-accountlookup-dev-001.azurewebsites.net |
Aplicación de función | Global | func-<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 | Ámbito | Formato y ejemplos |
---|---|---|
Azure SQL Database | Azure SQL Database | sqldb-<proyecto, aplicación o servicio>-<entorno> sqldb-users-prod sqldb-users-dev |
Base de datos de Azure Cosmos DB | Global | cosmos-<proyecto, aplicación o servicio>-<entorno> cosmos-navigator-prod cosmos-emissions-dev |
Instancia de Azure Cache for Redis | Global | redis-<proyecto, aplicación o servicio>-<entorno> redis-navigator-prod redis-emissions-dev |
Storage
Tipo de recurso | Ámbito | Formato y ejemplos |
---|---|---|
Cuenta de Storage (uso general) | Global | st<proyecto, aplicación o servicio><###> stnavigatordata001 stemissionsoutput001 |
Azure StorSimple | Global | ssimp<proyecto, aplicación o servicio><entorno> ssimpnavigatorprod ssimpemissionsdev |
Azure Container Registry | Global | cr<proyecto, aplicación o servicio><entorno><###> crnavigatorprod001 |
AI y aprendizaje automático
Tipo de recurso | Ámbito | Formato y ejemplos |
---|---|---|
Azure Data Factory | Global | adf-<proyecto, aplicación o servicio>-<entorno> adf-navigator-prod adf-emissions-dev |
Azure Stream Analytics | Resource group | asa-<proyecto, aplicación o servicio>-<entorno> asa-navigator-prod asa-emissions-dev |
Cuenta de Data Lake Storage | Global | dls<proyecto, aplicación o servicio><entorno> dlsnavigatorprod dlsemissionsdev |
centro de IoT | Global | iot-<proyecto, aplicación o servicio>-<entorno> iot-navigator-prod iot-emissions-dev |
Analytics e IoT
Tipo de recurso | Ámbito | Formato y ejemplos |
---|---|---|
Azure Data Factory | Global | adf-<proyecto, aplicación o servicio>-<entorno> adf-navigator-prod adf-emissions-dev |
Azure Stream Analytics | Resource group | asa-<proyecto, aplicación o servicio>-<entorno> asa-navigator-prod asa-emissions-dev |
Cuenta de Data Lake Storage | Global | dls<proyecto, aplicación o servicio><entorno> dlsnavigatorprod dlsemissionsdev |
centro de IoT | Global | iot-<proyecto, aplicación o servicio>-<entorno> iot-navigator-prod iot-emissions-dev |
Integración
Tipo de recurso | Ámbito | Formato y ejemplos |
---|---|---|
Service Bus | Global | sb-<proyecto, aplicación o servicio>-<entorno>.servicebus.windows.net sb-navigator-prod.servicebus.windows.net sb-emissions-dev.servicebus.windows.net |
Cola de Service Bus | Azure Service Bus | sbq-<descriptor de consulta> sbq-messagequery |
Tema de Service Bus | Azure Service Bus | sbt-<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.