Cree una imagen administrada heredada de una VM generalizada en Azure

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjuntos de escalado flexibles

Importante

Este artículo trata sobre la tecnología de imagen administrada anterior. Para obtener la tecnología más reciente, se recomienda a los clientes que usen Azure Compute Gallery. Todas las características nuevas, como ARM64, inicio seguro y máquina virtual confidencial, solo se admiten a través de Azure Compute Gallery.  Si tiene una imagen administrada existente es posible usarla como origen y crear una imagen de Azure Compute Gallery.  Para más información, consulta Migración de imágenes administradas a la galería de proceso de Azure.

Una vez que marca una máquina virtual como generalized en Azure, no puede reiniciar dicha máquina.

Una sola imagen administrada admite hasta 20 implementaciones simultáneas. Cuando se intentan crear más de 20 máquinas virtuales simultáneamente, desde una misma imagen administrada, se pueden producir tiempos de espera de aprovisionamiento debido a las limitaciones de rendimiento de almacenamiento de un solo VHD. Para crear más de 20 máquinas virtuales simultáneamente, use una imagen de Azure Compute Gallery (anteriormente denominado Shared Image Gallery) configurada con una réplica por cada 20 implementaciones simultáneas de máquina virtual.

Para obtener información sobre cómo se facturan las imágenes administradas, consulte Precios de Managed Disks.

Requisitos previos

Para crear una imagen, necesita una máquina virtual generalizada.

CLI: Cree una imagen administrada heredada de una VM

Cree una imagen administrada de la VM con az image create. En el ejemplo siguiente se crea una imagen llamada myImage en el grupo de recursos llamado myResourceGroup por medio del recurso de máquina virtual llamado myVM.

az image create \
   --resource-group myResourceGroup \
   --name myImage --source myVM

Nota

La imagen se crea en el mismo grupo de recursos que la VM de origen. Puede crear VM en cualquier grupo de recursos dentro de la suscripción a partir de esta imagen. Desde una perspectiva de administración, puede que desee crear un grupo de recursos específico para las imágenes y los recursos de VM.

Si va a capturar una imagen de una máquina virtual de generación 2, use también el parámetro --hyper-v-generation V2. Para más información, vea Máquinas virtuales de generación 2.

Si desea almacenar la imagen en un almacenamiento resistente a zonas, debe crearla en una región que admita zonas de disponibilidad e incluir el parámetro --zone-resilient true.

Este comando devuelve JSON que describe la imagen de la máquina virtual. Guarde esta salida para su posterior referencia.

PowerShell: Cree una imagen administrada heredada de una VM

Crear una imagen directamente desde la VM garantiza que la imagen incluya todos los discos asociados a la VM, incluido el disco del SO y todos los discos de datos. En este ejemplo se muestra cómo crear una imagen administrada a partir de una máquina virtual que utiliza discos administrados.

Antes de comenzar, asegúrese de que tiene la última versión del módulo de Azure PowerShell. Para buscar la versión, ejecute Get-Module -ListAvailable Az en PowerShell. Si tiene que actualizar, consulte Install Azure PowerShell on Windows with PowerShellGet (Instalación de Azure PowerShell en Windows con PowerShellGet). Si PowerShell se ejecuta localmente, ejecute Connect-AzAccount para crear una conexión con Azure.

Nota:

Si desea almacenar la imagen en un almacenamiento con redundancia de zona, debe crearla en una región que admita zonas de disponibilidad e incluir el parámetro -ZoneResilient en la configuración de la imagen (comando New-AzImageConfig).

Para crear una imagen de VM, siga estos pasos:

  1. Cree algunas variables.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Asegúrese de que la VM se ha desasignado.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Establezca el estado de la máquina virtual en Generalizado.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
    
  4. Obtenga la máquina virtual.

    $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
    
  5. Cree la configuración de la imagen.

    $image = New-AzImageConfig -Location $location -SourceVirtualMachineId $vm.Id 
    
  6. Cree la imagen.

    New-AzImage -Image $image -ImageName $imageName -ResourceGroupName $rgName
    

PowerShell: Cree de una imagen administrada heredada a partir de un disco administrado

Si desea crear una imagen de solo el disco del SO, especifique el identificador del disco administrado como disco del SO:

  1. Cree algunas variables.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Obtenga la máquina virtual.

    $vm = Get-AzVm -Name $vmName -ResourceGroupName $rgName
    
  3. Obtenga el id. del disco administrado.

    $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
    
  4. Cree la configuración de la imagen.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
    
  5. Cree la imagen.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

PowerShell: Cree de una imagen administrada heredada a partir de una instantánea

Puede crear una imagen administrada a partir de una instantánea de una VM generalizada siguiendo estos pasos:

  1. Cree algunas variables.

    $rgName = "myResourceGroup"
    $location = "EastUS"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. Obtenga la instantánea.

    $snapshot = Get-AzSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
    
  3. Cree la configuración de la imagen.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
    
  4. Cree la imagen.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

PowerShell: Cree una imagen administrada heredada de una VM que usa una cuenta de almacenamiento

Para crear una imagen administrada a partir de una máquina virtual que no usa discos administrados, se necesita el identificador URI del disco duro virtual del sistema operativo de la cuenta de almacenamiento en el siguiente formato: https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd. En este ejemplo, el VHD está en mystorageaccount, en un contenedor denominado vhdcontainer, y el nombre de archivo de VHD es vhdfilename.vhd.

  1. Cree algunas variables.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    $osVhdUri = "https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd"
    
  2. Detenga/desasigne la máquina virtual.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Marque la VM como generalizada.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized    
    
  4. Cree la imagen con el VHD del SO generalizado.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri
    $image = New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

CLI: Cree una VM desde una imagen administrada heredada

Cree una máquina virtual con la imagen que ha creado con az vm create. En el ejemplo siguiente se crea una máquina virtual llamada myVMDeployed a partir de la imagen myImage.

az vm create \
   --resource-group myResourceGroup \
   --name myVMDeployed \
   --image myImage\
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

CLI: Cree una VM en otro grupo de recursos a partir de una imagen administrada heredada

Puede crear máquinas virtuales en cualquier grupo de recursos dentro de la suscripción a partir de una imagen. Para crear una VM en un grupo de recursos diferente al de la imagen, especifique el identificador de recurso completo para la imagen. Use az image list para ver una lista de imágenes. La salida será similar al del ejemplo siguiente:

"id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage",
   "location": "westus",
   "name": "myImage",

En el ejemplo siguiente se utiliza az vm create para crear una máquina virtual en un grupo de recursos diferente al de la imagen de origen especificando el identificador de recurso de imagen.

az vm create \
   --resource-group myOtherResourceGroup \
   --name myOtherVMDeployed \
   --image "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage" \
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

Portal: Cree una VM desde una imagen administrada heredada

  1. Vaya a Azure Portal para encontrar una imagen administrada. Busque y seleccione Imágenes.
  2. Seleccione la imagen que desea usar en la lista. Se abre la página Información general de la imagen.
  3. Seleccione Crear VM en el menú.
  4. Escriba la información de la máquina virtual. El nombre de usuario y la contraseña que especifique aquí, se usarán para iniciar sesión en la máquina virtual. Cuando haya terminado, seleccione Aceptar. Puede crear la máquina virtual en un grupo de recursos existente, o bien hacer clic en Crear nuevo para crear un grupo de recursos y así almacenar la máquina virtual.
  5. Seleccione un tamaño para la máquina virtual. Para ver más tamaños, seleccione Ver todo o cambie el filtro Supported disk type (Tipo de disco admitido).
  6. En Configuración, realice cambios según sea necesario y haga clic en Aceptar.
  7. En la página de resumen, verá el nombre de la imagen que se ha establecido como Imagen privada. Haga clic en Aceptar para iniciar la implementación de la máquina virtual.

PowerShell: Cree una VM desde una imagen administrada heredada

Puede usar PowerShell para crear una VM a partir de una imagen mediante el parámetro simplificado establecido para el cmdlet New-AzVm. La imagen debe estar en el mismo grupo de recursos donde quiere crear la máquina virtual.

El parámetro simplificado que se estableció para New-AzVm solo requiere que proporcione un nombre, un grupo de recursos y un nombre de imagen para crear una VM a partir de una imagen. El cmdlet New-AzVm usará el valor del parámetro -Name como nombre de todos los recursos que cree automáticamente. En este ejemplo, se proporcionan nombres más detallados para cada uno de los recursos, pero se permite que el cmdlet los cree automáticamente. También puede crear recursos de antemano, como la red virtual, y pasar el nombre del recurso al cmdlet. New-AzVm usará los recursos existentes si los encuentra por su nombre.

En el ejemplo siguiente, se crea una máquina virtual denominada myVMfromImage en el grupo de recursos myResourceGroup, a partir de la imagen llamada myImage.

New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVMfromImage" `
    -ImageName "myImage" `
    -Location "East US" `
    -VirtualNetworkName "myImageVnet" `
    -SubnetName "myImageSubnet" `
    -SecurityGroupName "myImageNSG" `
    -PublicIpAddressName "myImagePIP" 

Pasos siguientes

  • Más información sobre el uso de una instancia de Azure Compute Gallery (anteriormente conocido como Shared Image Gallery).