Crear Azure VM mediante Resource Manager y PowerShell

1 min read

Crear VM Resource Manager Powershell

Azure tiene dos modelos de implementación diferentes para crear y trabajar con recursos: Azure Resource Manager y Azure Service Management. En este artículo se explica el uso del modelo de implementación de Resource Manager. Microsoft recomienda que la mayoría de las nuevas implementaciones utilizan el modelo de Resource Manager.

Este artículo muestra cómo crear rápidamente una máquina virtual con Windows Azure Server y los recursos que necesita mediante Resource Manager y PowerShell.

Considera el cmdlet: Login-AzureRmAccount y Select-AzureRmSubscription en caso de que administres varias suscripciones de Azure

En la configuración de la VM añadimos algunos requisitos críticos para el deploy:

  • Virtual Network
  • Subnet
  • Public Ip Address
  • NIC
  • Storage Account
  • Location

Todos los recursos dentro del mismo resource group.

Para visualizar las imágenes disponibles actualmente dentro de una región específica, puedes hacer uso de los siguientes cmdlets, ejemplo:

Get-AzureRmVMImageSku -Location westus -PublisherName MicrosoftVisualStudio -Offer windows
Get-AzureRmVMImageSku -Location westeurope -PublisherName MicrosoftVisualStudio -Offer windows
#************************
# Deploy VM via ARM
# Author:@DaveRndn
# http://wikiazure.com
#***********************


$Location = "West US"
$ResourceGroupName = "TestDeployARM"
$SubnetName = "Subnet-1"
$TestName = "testdeployarm1"
$VnetName = "VnetTestDeployARM"
$Publisher = "MicrosoftWindowsServer"
$Offer = "WindowsServer"
$Sku = "2012-R2-Datacenter"
$Version = "latest"


New-AzureRmResourceGroup -Name $ResourceGroupName -Location $Location

New-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $TestName -Location $Location -Type Standard_LRS

$Subnet = New-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix "10.0.64.0/24"

$Vnet = New-AzureRmVirtualNetwork -Name $VnetName -ResourceGroupName $ResourceGroupName -Location $Location -AddressPrefix "10.0.0.0/16" -Subnet $Subnet

$Subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -VirtualNetwork $Vnet


$PublicIpAdress = New-AzureRmPublicIpAddress -ResourceGroupName $ResourceGroupName -Name "VipTstARM" -Location $Location -AllocationMethod Dynamic -DomainNameLabel $TestName

$Nic = New-AzureRmNetworkInterface -ResourceGroupName $ResourceGroupName -Name "Nic1tst" -Subnet $Subnet -Location $Location -PublicIpAddress $PublicIpAdress -PrivateIpAddress "10.0.64.4"

$Cred = Get-Credential

$VmConfig = New-AzureRmVMConfig -VMName "VM1" -VMSize "Standard_A1"  | 
            Set-AzureRmVMOperatingSystem -Windows -ComputerName "VM1" -Credential $Cred -ProvisionVMAgent -EnableAutoUpdate |
            Set-AzureRmVMSourceImage -PublisherName $Publisher -Offer $Offer -Skus $Sku -Version $Version |
            Set-AzureRmVMOSDisk -Name "$TestName-v1" -VhdUri "https://testdeployarm1.blob.core.windows.net/vhd/$TestName-v1.vhd" -Caching ReadWrite -CreateOption fromImage |
            Add-AzureRmVMNetworkInterface -Id $Nic.Id

New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VmConfig

De igual manera si requieres migrar tu propia VM a Azure y realizar el deploy de la Máquina Virtual desde la imagen personalizada, puedes revisar este artículo: Migrar VHD y deploy de imagen

Leave a Reply

Your email address will not be published. Required fields are marked *