Ejercicio: Creación e implementación de una plantilla de Azure Resource Manager
Nota:
La primera vez que active un espacio aislado y acepte los términos, la cuenta de Microsoft se asocia a un nuevo directorio de Azure denominado Espacio aislado de Microsoft Learn. Se le agrega también a una suscripción especial llamada Suscripción de Concierge.
En este ejercicio, creará una plantilla de Azure Resource Manager (ARM), la implementará en Azure y, a continuación, actualizará esa plantilla de ARM para agregar parámetros y salidas.
En este ejercicio se utilizan las Herramientas de Azure Resource Manager para Visual Studio Code. Asegúrese de instalar esta extensión en Visual Studio Code antes de iniciar el ejercicio.
Creación de una plantilla de ARM
Abra Visual Studio Code y cree un archivo denominado azuredeploy.json.
La extensión de plantilla de ARM de Visual Studio Code viene configurada con fragmentos de código que le ayudarán a desarrollar plantillas. Para empezar, agregará una plantilla en blanco. En la línea 1 del archivo, escriba arm.
Visual Studio Code muestra automáticamente varias opciones posibles que comienzan por arm!. Seleccione la plantilla de Azure Resource Manager (ARM). Visual Studio Code procesa automáticamente los esquemas y lenguajes de la plantilla.
El archivo ahora tiene este aspecto:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [], "outputs": {} }
Observe que este archivo tiene todas las secciones de una plantilla de ARM que se describen en la unidad anterior.
Presione Ctrl+S para guardar los cambios en el archivo.
Implementación de la plantilla de ARM en Azure
Para implementar esta plantilla en Azure, debe iniciar sesión en la cuenta de Azure desde el terminal de Visual Studio Code. Asegúrese de que tiene instaladas las herramientas de la CLI de Azure y de que inicia sesión con la misma cuenta que utilizó para activar el espacio aislado.
Seleccione Terminal > Nuevo terminal para abrir una ventana de terminal.
Si la barra de comandos de la ventana de terminal indica bash, tiene el shell correcto desde el que trabajar y puede ir a la sección siguiente.
De lo contrario, seleccione la lista desplegable y elija Select Default Profile (Seleccionar el perfil predeterminado).
Seleccione Git Bash.
Seleccione Terminal > Nuevo terminal para abrir una ventana de terminal del shell de Bash.
Inicio de sesión en Azure
En la ventana de terminal, ejecute este comando para iniciar sesión en Azure.
az login
En la ventana del explorador que se abre, inicie sesión en su cuenta. Después de iniciar sesión, se muestra una lista de las suscripciones asociadas a esta cuenta en el terminal. Si ha activado el espacio aislado, debería ver una denominada Suscripción de Concierge. Úsela para el resto del ejercicio.
En el shell de Bash, ejecute el siguiente comando para establecer la suscripción predeterminada para todos los comandos de la CLI de Azure que se ejecuten en esta sesión.
az account set --subscription "Concierge Subscription"
Si ha usado más de un espacio aislado recientemente, puede aparecer más de un Suscripción de Concierge. Si es así, use los dos pasos siguientes para identificar y establecer la suscripción predeterminada.
- Ejecute el siguiente comando para obtener los id. de Suscripción de Concierge.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
- Establezca la suscripción predeterminada mediante la ejecución del siguiente comando y reemplace {your subscription ID} por el id. de Suscripción de Concierge más reciente.
az account set --subscription {your subscription ID}
Establecimiento del grupo de recursos predeterminado
Al establecer el grupo de recursos que se creó al activar el espacio aislado como grupo de recursos predeterminado, puede omitir ese parámetro de los comandos de la CLI de Azure en este ejercicio. Para establecer el grupo de recursos, ejecute el siguiente comando.
az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
Implementación de la plantilla en Azure
Ejecute los comandos siguientes para implementar la plantilla de ARM en Azure. La plantilla de ARM aún no tiene ningún recurso, por lo que no se han creado recursos. Debería obtener una implementación correcta.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
En la sección superior del código anterior establece las variables de la CLI de Azure, que incluyen la ruta de acceso al archivo de la plantilla que se va a implementar, así como el nombre de la implementación. La sección inferior, az deployment group create
, implementa la plantilla en Azure. Observe que el nombre de la implementación es blanktemplate
con la fecha como sufijo.
Debería ver Running...
en el terminal.
Para implementar esta plantilla en Azure, debe iniciar sesión en la cuenta de Azure desde el terminal de Visual Studio Code. Asegúrese de que las herramientas de Azure PowerShell están instaladas desde las extensiones de Visual Studio Code e inicie sesión en la misma cuenta que ha activado el espacio aislado.
En la barra de comandos, seleccione Terminal > Nuevo terminal para abrir una ventana de PowerShell.
Si la barra de comandos de la ventana de terminal muestra PowerShell, tiene el shell correcto desde el que trabajar y puede ir a la sección siguiente.
Si no es así, seleccione la flecha abajo y, en la lista desplegable, PowerShell. Si esa opción no aparece, seleccione Select Default Profile (Seleccionar el perfil predeterminado).
En el campo de entrada, desplácese hacia abajo y seleccione PowerShell.
Seleccione Terminal > Nuevo terminal para abrir una ventana de terminal de PowerShell.
Inicio de sesión en Azure mediante Azure PowerShell
Desde el terminal de Visual Studio Code, ejecute el comando siguiente para iniciar sesión en Azure. Se abre un explorador para que pueda iniciar sesión en su cuenta.
Connect-AzAccount
Sugerencia
El módulo Az de PowerShell reemplaza a AzureRM y es la versión recomendada que se debe usar para interactuar con Azure.
Inicie sesión con la cuenta que ha usado para activar el espacio aislado. Después de iniciar sesión, Visual Studio Code muestra las suscripciones asociadas a su cuenta en la ventana del terminal. Si ha activado el espacio aislado, verá un bloque de código que contiene
"name": "Concierge Subscription"
. Esta suscripción se usa para el resto del ejercicio.
Establecimiento de la suscripción predeterminada para todos los comandos de PowerShell de esta sesión
Ejecute el siguiente comando para obtener las suscripciones y sus id. El identificador de la suscripción es la segunda columna. Busque Suscripción de Concierge y copie el valor de la segunda columna. Parece algo parecido a aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e:
Get-AzSubscription
Ejecute el comando siguiente, reemplazando {Id. de suscripción} por el que copió en el paso anterior. Este comando cambia la suscripción activa a la suscripción de Concierge.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Ejecute el siguiente comando para permitir que el grupo de recursos predeterminado sea el grupo de recursos que se ha creado automáticamente en el entorno del espacio aislado. Esta acción le permite omitir ese parámetro del resto de los comandos de Azure PowerShell en este ejercicio.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Implementación de la plantilla en Azure
Implemente la plantilla en Azure mediante la ejecución de los comandos siguientes. La plantilla de ARM aún no tiene ningún recurso, por lo que no se han creado recursos.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
La sección superior del código anterior establece las variables de Azure PowerShell, que incluyen la ruta de acceso al archivo de la implementación y el nombre de la implementación. Posteriormente, el comando New-AzResourceGroupDeployment
implementa la plantilla en Azure. Observe que el nombre de la implementación es blanktemplate
con la fecha como sufijo.
Al implementar la plantilla de ARM en Azure, vaya a la Azure Portal y asegúrese de que se encuentra en la suscripción de espacio aislado. Para ello, seleccione el avatar en la esquina superior derecha de la página. Seleccione Cambiar directorio. En la lista, seleccione el directorio Espacio aislado de Microsoft Learn.
En el menú de recursos, seleccione Grupos de recursos.
Seleccione el grupo de recursos
[nombre del grupo de recursos del espacio aislado] .En el panel Información general, verá la implementación realizada correctamente.
Seleccione 1 correcta para ver los detalles de la implementación.
Seleccione
blanktemplate
para ver qué recursos se han implementado. En este caso, está vacío porque aún no ha especificado ningún recurso en la plantilla.Deje la página abierta en el explorador para que pueda volver a comprobar las implementaciones.
Adición de un recurso a la plantilla de ARM
En la tarea anterior, ha aprendido a crear una plantilla en blanco y a implementarla. Ahora está listo para implementar un recurso real. En esta tarea, agregará un recurso de cuenta de Azure Storage a la plantilla de ARM mediante un fragmento de código de la extensión Herramientas de Azure Resource Manager para Visual Studio Code.
En el archivo azuredeploy.json de Visual Studio Code, coloque el cursor entre los corchetes del bloque de recursos
"resources":[],
.Escriba storage dentro de los corchetes. Aparece una lista de fragmentos de código relacionados. Seleccione arm-storage.
El archivo tiene este aspecto:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2023-05-01", "name": "storageaccount1", "tags": { "displayName": "storageaccount1" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "Premium_LRS" } } ], "outputs": {} }
Los valores que se deben editar se resaltan en la nueva sección del archivo y se puede navegar por ellos mediante la tecla Tabulador.
Observe que los atributos
tags
ylocation
están rellenados. El atributolocation
usa una función para establecer la ubicación del recurso en la del grupo de recursos. Obtendrá información sobre etiquetas y funciones en el módulo siguiente.Cambie los valores name y displayName del recurso por algo único (por ejemplo, learnexercise12321). Este nombre debe ser único en todo Azure, por lo que debe elegir algo que sea único para usted.
Cambie el valor name de sku de Premium_LRS a Standard_LRS. Cambie el valor de tier a Estándar. Observe que Visual Studio Code proporciona las opciones adecuadas para los valores de atributo en IntelliSense. Elimine el valor predeterminado, incluidas las comillas, y escriba las comillas para ver este trabajo.
La ubicación del recurso se establece en la misma ubicación que el grupo de recursos donde se implementa el recurso. Mantenga este valor predeterminado.
Guarde el archivo.
Implementación de la plantilla de ARM actualizada
Aquí, cambiará el nombre de la implementación para que refleje mejor lo que hace.
Ejecute los siguientes comandos de la CLI de Azure en el terminal. Este fragmento de código es el mismo código que ha usado antes, pero se ha cambiado el nombre de la implementación.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
Ejecute el siguiente comando de Azure PowerShell en el terminal. Este fragmento de código es el mismo código que ha usado antes, pero se ha cambiado el nombre de la implementación.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
Comprobación de la implementación
Cuando finalice la implementación, vuelva al Azure Portal en el explorador. Vaya al grupo de recursos y verá que ahora hay 2 Implementaciones correctas. Seleccione este vínculo.
Observe que las dos implementaciones están en la lista.
Seleccione addstorage.
Observe que la cuenta de almacenamiento está implementada.