Windows Azure Script: crea una máquina virtual nueva a partir de un VHD existente

Hola internatura ! Aquí Federico en un nuevo artículo para ustedes !
Espero que les sirva y nos vemos en el próximo tutorial

Hola y bienvenido a otro tutorial sobre el uso de PowerShell con Azure para crear un recurso de máquina virtual a partir de un VHD existente.

De vez en cuando, es posible que tengamos que copiar un entorno de máquina virtual de nuestro entorno Hyper-V a Azure y crear una nueva instancia de máquina virtual. Para completar esta tarea utilizaremos PowerShell, ya que lo podemos automatizar para varias máquinas a lo largo del tiempo y es una buena plantilla que podemos guardar en nuestro depósito de scripts.

El siguiente script no utiliza parámetros; todas las variables se declaran dentro del script, pero si desea cambiarlo, es fácil poner el código param () en la parte superior del script.

El guión del que hablaremos es el siguiente:

$rgName = "MainResourceGroup"
$subnetName = "MainSubnet"
$location = "East US"
$vnetName = "MainVirtualNetwork"
$vnet = Get-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName
$ipName = "vm1-pip"
$pip = New-AzureRmPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location -AllocationMethod Dynamic
$nicName = "vm1-nic"
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id
$vmName = "vm1"
$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize "Standard_DS1_V2"
$vm = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id
$osDiskUri = "https://mainstorage.blob.core.windows.net/vhds/vm1-327423.vhd"
$osDiskName = $vmName + "osDisk"
$vm = Set-AzureRmVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption Attach -Windows
#Create the new VM
New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $vm

Ahora vamos a diseccionar y ver que hace cada línea. Antes de saltar al propio script, es importante ejecutar el archivo Login-AzureRMAccount para conectarse a su suscripción al Azure.

Las cuatro primeras líneas del script contienen el nombre del grupo de recursos, la subred de red virtual, la ubicación y el nombre de la red virtual.

La variable $ vnet mantiene la configuración con la red virtual que posteriormente adjuntaremos a la variable de configuración de la máquina virtual.

La variable $ ipName es el nombre de la IP pública de la máquina virtual.

La variable $ pip contiene el objeto IP público que creamos con el archivo New-AzureRmPublicIpAddress cmdlet.

La variable $ nicName contiene el nombre de la tarjeta de red de la máquina virtual.

La variable $ nico contiene el objeto de tarjeta de red que creamos con el archivo New-AzureRmVmNetworkInterface.

La variable $ vmName contiene el nombre de la máquina virtual.

La variable $ vmConfig contiene la configuración de la nueva máquina virtual. Hay adjuntamos todos los otros recursos, como la tarjeta de red, el disco, etc.

El $ osDiskUri mantiene la ubicación de nuestro VHD en un blob de almacenamiento de Azure.

El resto del script añade el disco y la tarjeta de red en la configuración de la máquina virtual.

Una vez hecha la asignación de la variable de configuración, ejecutamos el archivo New-AzureRmVM cmdlet, donde especificamos el nombre, la ubicación del grupo de recursos y adjuntamos la variable $ vm que contiene la configuración de la máquina virtual al parámetro -VM.

Una vez ejecutamos este script, deberíamos obtener una salida correcta y, después, podemos RDP a ella y continuar nuestra configuración dentro del sistema operativo.

Espero que este artículo le haya ayudado y gracias por leerlo. Disfrútalo!

Deja un comentario