Azure Resource Manager desde PowerShell

Azure Resource Manager o ARM es un paradigma en el que se estructura la administración de Microsoft Azure, por lo que todos los componentes se transforman a recursos; sea una Máquina Virtual, el adaptador de red, la IP pública, sitios web o bases de datos. A su vez, existe una agrupación para estos recursos llamada Resource Group, que permite embolsarlos dentro de una unidad administrativa.

PowerShell

Obviamente que desde PowerShell vamos a tener un módulo específico en donde disponer de una gran cantidad de Cmdlets para trabajar directamente desde nuetra consola favorita.

Si no tenemos instalado Azure PowerShell, les recomiendo que pasen por el siguiente enlace:

Instalar y configurar Azure PowerShell

Para crear un resource group, simplemente debemos abrir una consola de Azure PowerShell y ejecutar lo siguiente:

New-AzureRmResourceGroup -Name ResourceGroupTest -Location "South Central US"

En donde debemos declarar el nombre que vamos a asignar y la locación del mismo. Dentro de la documentación de Microsoft Azure tenemos excelentes ejemplos de como seguir trabajando con ARM desde PowerShell: Manage Azure resources with PowerShell and Resource Manager

Crear una VM

Vamos a ver que para crear una VM en Azure desde PowerShell usando ARM no es tan complejo, pero sí es necesario tener en cuenta varios elementos que componen la implementación, como lo son:

  • Virtual Network
  • Public IP
  • Virtual network card
  • Network security group
  • Virtual machine

Con lo anterior voy a compartir un fragmento de código de PowerShell para crear una VM, separado por regiones y comentarios para comprender cada punto de la lista:

Plantillas JSON

Las plantillas JSON permiten desplegar nuestros recursos de forma declarativa, en donde la propia plataforma es la encargada de todas las tareas de despliegue. Este nuevo recurso presentan un gran nivel de detalle, por lo que tenemos a nuestra disposición una variedad de propiedades para configurar, así como también contamos con un gran repositorio en GitHub (oficial) en el siguiente enlace:

https://github.com/Azure/azure-quickstart-templates

En caso que se desee construir una plantilla desde 0, tenemos las Azure Tools para Visual Studio (para cualquiera de las versiones).

Azure Tools para Visual Studio

Azure Resource Explorer

Azure Resource Manager tiene a disposición una herramienta llamada Azure Resource Explorer, que podemos acceder desde el siguiente enlace:

https://resources.azure.com

Azure Resource Explorer

En donde lo primero que nos pide es validarnos con nuestras credenciales de Azure para poder cargar las suscripciones correspondientes. La herramienta nos permite navegar por todos los grupos de recursos agrupados por nuestras suscripciones activas y hacer llamadas a la API REST para realizar operaciones.

Happy scripting!

Comments