Tutorial: Creación e implementación de su primera plantilla de Resource Manager

Este tutorial es una introducción a las plantillas de Azure Resource Manager (plantillas de ARM). Muestra cómo crear una plantilla de inicio e implementarla en Azure. En él se enseña la estructura de las plantillas y las herramientas necesarias para trabajar con ellas. Esta instrucción tarda 12 minutos en completarse, pero el tiempo real de finalización varía en función de la cantidad de herramientas que necesite instalar.

Este tutorial es el primero de una serie. A medida que avance por la serie, modificará la plantilla inicial paso a paso hasta que haya explorado todas las partes principales de una plantilla de ARM. Estos elementos son los bloques de creación de plantillas más complejas. Esperamos que el final de la serie tenga la seguridad de crear sus propias plantillas y esté listo para automatizar las implementaciones con plantillas.

Si desea obtener información sobre las ventajas de usar plantillas y por qué debería automatizar las implementaciones con plantillas, consulte el artículo sobre información general de plantillas de ARM. Para información sobre las plantillas de ARM con una guía de módulos de Learn, consulte Implementación y administración de recursos en Azure mediante plantillas de ARM.

Si no tiene una suscripción a Microsoft Azure, cree una cuenta gratuita antes de empezar.

Sugerencia

Si las plantillas ARM son nuevas para usted, puede optar por la posibilidad de aprender Bicep en su lugar. Bicep es un nuevo lenguaje que ofrece las mismas capacidades que las plantillas de ARM pero con una sintaxis más fácil de usar. Para crear un archivo de Bicep, consulte Inicio rápido: Creación de archivos de Bicep con Visual Studio Code.

Obtención de las herramientas

Comience por asegurarse de que tiene las herramientas que necesita para crear e implementar plantillas. Instale estas herramientas en el equipo local.

Editor

Las plantillas son archivos de notación de objetos JavaScript (JSON). Para crear plantillas, necesita un buen editor de JSON. Se recomienda Visual Studio Code con la extensión Herramientas de Azure Resource Manager. Si necesita instalar estas herramientas, consulte Inicio rápido: Creación de plantillas de Resource Manager Visual Studio Code.

Implementación desde la línea de comandos

También necesita Azure PowerShell o la Interfaz de la línea de comandos de Azure (CLI) de Azure para implementar la plantilla. Si usa la CLI de Azure, debe tener la versión 2.37.0 o posterior. Para obtener instrucciones de instalación, consulte:

Después de instalar Azure PowerShell o la CLI de Azure, asegúrese de iniciar sesión por primera vez. Para obtener ayuda, consulte Inicio de sesión: PowerShell o CLI de Azure.

Importante

Si usa la CLI de Azure, asegúrese de tener la versión 2.37.0 o posterior. Si usa Azure PowerShell, asegúrese de tener la versión 7.2.4 o posterior. Los comandos que se muestran en este tutorial no funcionan si se usan versiones anteriores. Para comprobar la versión instalada, utilice az --version.

Bien, está listo para empezar a obtener información sobre las plantillas.

Creación de la primera plantilla

  1. Abra Visual Studio Code con la extensión de herramientas del procesador ARM instalada.

  2. En el menú Archivo, seleccione Nuevo archivo para crear un archivo nuevo.

  3. En el menú Archivo, seleccione Guardar como.

  4. Asigne al archivo el nombre azuredeploy y seleccione la extensión de archivo json. El nombre completo del archivo es azuredeploy.json.

  5. Guarde el archivo en la estación de trabajo. Seleccione una ruta que sea fácil de recordar, ya que tendrá que proporcionar esa ruta más adelante cuando implemente la plantilla.

  6. Copie y pegue el siguiente código JSON en el archivo:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "resources": []
    }
    

    Este es el aspecto que presenta el entorno de Visual Studio Code:

    Captura de pantalla de Visual Studio Code mostrando una plantilla ARM vacía con estructura JSON en el editor.

    Esta plantilla no implementa ningún recurso. Vamos a empezar con una plantilla en blanco para que pueda familiarizarse con los pasos necesarios para implementar una plantilla y minimizar la posibilidad de que algo vaya mal.

    El archivo JSON tiene estos elementos:

    • $schema: Especifica la ubicación del archivo de esquema JSON. El archivo de esquema describe las propiedades que están disponibles dentro de una plantilla. Por ejemplo, el esquema define resources como una de las propiedades válidas para una plantilla. No se preocupe de que la fecha del esquema sea 2019-04-01. Esta versión del esquema está actualizada e incluye todas las características más recientes. La fecha del esquema no ha cambiado porque no se han producido cambios importantes desde su introducción.
    • contentVersion: Especifica la versión de la plantilla, por ejemplo, 1.0.0.0. Puede especificar cualquier valor para este elemento. Use este valor para documentar los cambios importantes de la plantilla. Al implementar recursos mediante la plantilla, puede usar este valor para asegurarse de que usa la plantilla correcta.
    • resources: Contiene los recursos que desea implementar o actualizar. Actualmente, está vacío, pero se pueden agregar recursos más adelante.
  7. Guarde el archivo.

Enhorabuena, ha creado su primera plantilla.

Inicio de sesión en Azure

Para empezar a trabajar con Azure PowerShell o la CLI de Azure, inicie sesión con sus credenciales de Azure.

Seleccione las pestañas en las siguientes secciones de código para elegir entre Azure PowerShell y la CLI de Azure. Los ejemplos de la CLI de este artículo están escritos para el shell de Bash.

Connect-AzAccount

Si tiene varias suscripciones de Azure, elija la suscripción que desee usar. Reemplace SubscriptionName por el nombre de la suscripción. También puede usar su identificador de suscripción en lugar del nombre de la suscripción.

Set-AzContext SubscriptionName

Creación de un grupo de recursos

Cuando se implementa una plantilla, se puede especificar un grupo de recursos para contener los recursos. Antes de ejecutar el comando de implementación, cree el grupo de recursos con Bash Azure CLI o Azure PowerShell.

Nota:

Los ejemplos para la CLI de Azure están escritos para el shell de bash. Para ejecutar este ejemplo en Windows PowerShell o en el símbolo del sistema, es posible que tenga que quitar las barras diagonales inversas y escribir el comando como una línea como:

az group create --name myResourceGroup --location "Central US"

New-AzResourceGroup `
  -Name myResourceGroup `
  -Location "Central US"

Implementar plantilla

Use la CLI de Azure o Azure PowerShell para implementar la plantilla. Use el grupo de recursos que creó. Asigne un nombre a la implementación para que pueda identificarla fácilmente en el historial de implementaciones. Para mayor comodidad, cree también una variable que almacene la ruta de acceso al archivo de plantilla. Esta variable facilita la ejecución de los comandos de implementación, ya que no es necesario volver a escribir la ruta de acceso cada vez que se implementa. Reemplace {provide-the-path-to-the-template-file} y las llaves {} por la ruta de acceso al archivo de plantilla.

$templateFile = "{provide-the-path-to-the-template-file}"
New-AzResourceGroupDeployment `
  -Name blanktemplate `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile

El comando de implementación devuelve los resultados. Busque ProvisioningState para ver si la implementación se realizó correctamente.

Nota

Si se produjo un error en la implementación, use el modificador verbose para obtener información sobre los recursos que se están creando. Utilice el modificador debug para más información sobre la depuración.

Comprobación de la implementación

Para comprobar la implementación, explore el grupo de recursos desde Azure Portal.

  1. Inicie sesión en Azure Portal.

  2. En el menú izquierdo, seleccione Grupos de recursos.

  3. Active la casilla situada a la izquierda de myResourceGroup y seleccione myResourceGroup.

  4. Seleccione el grupo de recursos que creó en el procedimiento anterior. El nombre predeterminado es myResourceGroup. El grupo de recursos aún no tiene ningún recurso porque ha implementado una plantilla en blanco.

  5. Observe que en medio de la información general, en la sección Essentials, la página muestra el estado de implementación junto a Implementaciones. Seleccione 1 Correcta.

    Captura de pantalla de Azure Portal que muestra el estado de implementación en la sección Essentials del grupo de recursos.

  6. Verá un historial de implementación del grupo de recursos. Active la casilla situada a la izquierda de blanktemplate y seleccione blanktemplate.

    Captura de pantalla de Azure Portal que muestra el historial de implementación con la implementación de la plantilla en blanco seleccionada.

  7. Verá un resumen de la implementación. En este caso, no hay mucho que ver porque no se implementan recursos. Más adelante en esta serie puede resultarle útil revisar el resumen en el historial de implementaciones. Observe que a la izquierda puede ver las entradas, salidas y la plantilla que se utilizó para la implementación.

    Captura de pantalla de Azure Portal que muestra el resumen de implementación para la implementación de la plantilla en blanco.

Limpieza de recursos

Si va a pasar al siguiente tutorial, no es necesario que elimine el grupo de recursos.

Si va a terminar ya, puede eliminar el grupo de recursos.

  1. En Azure Portal, seleccione Grupos de recursos en el menú de la izquierda.

  2. Escriba el nombre del grupo de recursos en el campo de texto Filtro por cualquier campo....

  3. Active la casilla situada junto a myResourceGroup y seleccione myResourceGroup o el nombre del grupo de recursos.

  4. Seleccione Eliminar grupo de recursos del menú superior.

    Captura de pantalla de Azure Portal con la opción Eliminar grupo de recursos resaltada en la vista del grupo de recursos.

Pasos siguientes

Ha creado una plantilla sencilla para implementarla en Azure. En el siguiente tutorial, puede aprender cómo agregar una cuenta de almacenamiento a la plantilla e implementarla en su grupo de recursos.