Introducción a Azure VM Image Builder

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

Mediante imágenes estandarizadas de máquina virtual (VM), su organización puede migrar más fácilmente a la nube y ayudar a garantizar la coherencia en las implementaciones. Normalmente, las imágenes incluyen opciones de seguridad y de configuración predefinidas y el software necesario. La configuración de su propia canalización de creación de imágenes requiere tiempo, infraestructura y muchos otros detalles. Con Azure VM Image Builder, solo tiene que crear una configuración que describa la imagen y enviarla al servicio, donde se compila y luego se distribuye.

Con VM Image Builder, puede migrar la canalización de personalización de imágenes existente a Azure mientras sigue utilizando los scripts, los comandos y los procesos existentes. Puede integrar las aplicaciones principales en una imagen de máquina virtual para que las máquinas virtuales puedan asumir cargas de trabajo después de crear las imágenes. Incluso puede agregar configuraciones para crear imágenes para Azure Virtual Desktop, como discos duros virtuales (VHD) para su uso en Azure Stack o para facilitar la exportación.

VM Image Builder le permite empezar con imágenes de Windows o Linux, tanto de Azure Marketplace como imágenes personalizadas existentes, y agregar sus propias personalizaciones. También puede especificar dónde quiere que se hospeden las imágenes resultantes en Azure Compute Gallery (antes conocido como Shared Image Gallery): como imágenes administradas o como discos duros virtuales.

Características

Aunque es posible crear imágenes de máquina virtual personalizadas a mano o mediante otras herramientas, el proceso puede ser complicado y poco confiable. Azure VM Image Builder, que se basa en HashiCorp Packer, proporciona las ventajas de un servicio administrado.

Simplicidad

Para reducir la complejidad de crear imágenes de máquina virtual, VM Image Builder hace lo siguiente:

  • Elimina la necesidad de usar herramientas, procesos y pasos manuales complejos para crear una imagen de máquina virtual. VM Image Builder abstrae todos estos detalles y oculta los requisitos específicos de Azure, como la necesidad de generalizar la imagen (Sysprep). Además, proporciona a los usuarios más avanzados la posibilidad de invalidar estos requisitos.

  • Se puede integrar con canalizaciones de compilación de imágenes existentes para una experiencia de tipo hacer clic y listo. Para ello, puede llamar a VM Image Builder desde la canalización o usar una tarea de DevOps del servicio Azure VM Image Builder (versión preliminar).

  • Puede capturar datos de personalización de varios orígenes, lo que elimina la necesidad de recopilarlos todos de un solo lugar.

  • Se puede integrar con Compute Gallery, que crea un sistema de administración de imágenes con el que distribuir, replicar, versionar y escalar imágenes globalmente. Además, puede distribuir la misma imagen resultante como un disco duro virtual o como una o varias imágenes administradas sin recompilarlas desde cero.

Infraestructura como código

Con VM Image Builder, no es necesario administrar la infraestructura a largo plazo (por ejemplo, las cuentas de almacenamiento que contienen datos de personalización) o la infraestructura transitoria (por ejemplo, las máquinas virtuales temporales para compilar imágenes).

VM Image Builder almacena los artefactos de compilación de imágenes de máquina virtual como recursos de Azure. Esta característica elimina la necesidad de mantener definiciones sin conexión y el riesgo de desfases del entorno causados por eliminaciones o actualizaciones accidentales.

Seguridad

Para ayudar a proteger las imágenes, VM Image Builder:

  • Le permite crear imágenes de línea de base (es decir, configuraciones de seguridad mínima y corporativas) y permite que otros departamentos las personalicen aún más. Puede ayudar a que estas imágenes se mantengan seguras y compatibles usando VM Image Builder para recompilar rápidamente una imagen maestra que use la versión revisada más reciente de una imagen de origen. VM Image Builder también facilita la compilación de imágenes que cumplen la línea de base de Windows en Azure. Para más información, consulte VM Image Builder: plantilla de línea de base de Windows.

  • Permite capturar los artefactos de personalización sin necesidad de que sean accesibles públicamente. VM Image Builder puede usar la identidad administrada de Azure para capturar estos recursos, y puede restringir los privilegios de esta identidad tan estrictamente como sea necesario mediante el control de acceso basado en rol (Azure RBAC). Puede mantener el secreto de los artefactos y evitar la manipulación por parte de actores no autorizados.

  • Almacena de forma segura las copias de artefactos de personalización, los recursos de proceso y almacenamiento transitorios y sus imágenes resultantes en la suscripción, ya que el acceso se controla mediante Azure RBAC. Este nivel de seguridad, que también se aplica a la máquina virtual de compilación que se usa para crear la imagen personalizada, ayuda a evitar que los scripts y archivos de personalización se copien en una máquina virtual desconocida en una suscripción desconocida. Además, puede lograr un alto grado de aislamiento de las cargas de trabajo de otros clientes mediante ofertas de máquinas virtuales aisladas para la máquina virtual de compilación.

  • Permite conectar VM Image Builder a las redes virtuales existentes, de modo que pueda comunicarse con servidores de configuración existentes, como DSC (servidor de extracción de configuración de estado deseado), Chef y Puppet, recursos compartidos de archivos o cualquier otro servidor y servicios enrutables.

  • Se puede configurar para asignar las identidades asignadas por el usuario a la máquina virtual de VM Image Builder (es decir, la máquina virtual que crea el servicio VM Image Builder en su suscripción y que se usa para compilar y personalizar la imagen). A continuación, puede usar estas identidades en el momento de la personalización para acceder a los recursos de Azure, incluidos los secretos, en la suscripción. No es necesario asignar el acceso directo a VM Image Builder a esos recursos.

Regions

El servicio VM Image Builder está disponible en las siguientes regiones:

Nota

Aun así, puede distribuir imágenes fuera de estas regiones.

  • Este de EE. UU.
  • Este de EE. UU. 2
  • Centro-Oeste de EE. UU.
  • Oeste de EE. UU.
  • Oeste de EE. UU. 2
  • Oeste de EE. UU. 3
  • Centro-sur de EE. UU.
  • Norte de Europa
  • Oeste de Europa
  • Sudeste de Asia
  • Sudeste de Australia
  • Este de Australia
  • Sur de Reino Unido
  • Oeste de Reino Unido
  • Sur de Brasil
  • Centro de Canadá
  • Centro de la India
  • Centro de EE. UU.
  • Centro de Francia
  • Centro-oeste de Alemania
  • Japón Oriental
  • Centro-Norte de EE. UU
  • Este de Noruega
  • Norte de Suiza
  • JIO de India occidental
  • Norte de Emiratos Árabes Unidos
  • Este de Asia
  • Centro de Corea del Sur
  • Norte de Sudáfrica
  • Centro de Catar
  • Arizona USGov (versión preliminar pública)
  • Virginia USGov (versión preliminar pública)
  • Norte de China 3 (versión preliminar pública)
  • Centro de Suecia
  • Centro de Polonia
  • Norte de Italia

Para acceder a la versión preliminar pública de Azure VM Image Builder en las regiones de Fairfax (Arizona USGov y Virginia USGov), debe registrar la característica Microsoft.VirtualMachineImages/FairfaxPublicPreview. Para ello, ejecute el siguiente comando en PowerShell o en la CLI de Azure:

Register-AzProviderPreviewFeature -ProviderNamespace Microsoft.VirtualMachineImages -Name FairfaxPublicPreview

Para acceder a la versión preliminar pública de Azure VM Image Builder en la región Norte de China 3, deberás registrar la característica Microsoft.VirtualMachineImages/MooncakePublicPreview. Para ello, ejecute el siguiente comando en PowerShell o en la CLI de Azure:

Register-AzProviderPreviewFeature -ProviderNamespace Microsoft.VirtualMachineImages -Name MooncakePublicPreview

SO compatible

VM Image Builder está diseñado para funcionar con todas las imágenes del sistema operativo base de Azure Marketplace.

Nota:

Ahora puede usar el servicio Azure Image Builder en el portal a partir de marzo de 2023. Comience a compilar y validar imágenes personalizadas dentro del portal.

Compatibilidad con la máquina virtual confidencial y el inicio seguro

VM Image Builder tiene compatibilidad ampliada con imágenes TrustedLaunchSupported y ConfidentialVMSupported, con ciertas restricciones. A continuación se muestra la lista de restricciones:

SecurityType Compatibilidad con el estado
TrustedLaunchSupported Compatibilidad como imagen de origen para compilaciones de imágenes
ConfidentialVMSupported Compatibilidad como imagen de origen para compilaciones de imágenes
TrustedLaunch No se admite como una imagen de origen
ConfidentialVM No se admite como una imagen de origen

Nota:

Al usar imágenes TrustedLaunchSupported, es importante que el origen y la distribución sean TrustedLaunchSupported para que se admitan. Si el origen es normal y la distribución es TrustedLaunchSupported, o si el origen es TrustedLaunchSupported y la distribución es Gen2 normal, no se admite.

Cómo funciona

VM Image Builder es un servicio de Azure totalmente administrado al que se accede a través de un proveedor de recursos de Azure. Los proveedores de recursos lo configuran especificando una imagen de origen, una personalización que se va a realizar y dónde se va a distribuir la nueva imagen. En el diagrama siguiente se muestra el flujo de trabajo de alto nivel:

Diagrama de información general conceptual sobre AIB

Puede pasar configuraciones de plantilla mediante Azure PowerShell, la CLI de Azure o las plantillas de Azure Resource Manager, o mediante una tarea de DevOps de VM Image Builder. Al enviar la configuración al servicio, Azure crea un recurso de plantilla de imagen. Cuando se crea el recurso de plantilla de imagen, se crea un grupo de recursos de almacenamiento provisional, con el formato siguiente: IT_\<DestinationResourceGroup>_\<TemplateName>_\(GUID). El grupo de recursos de almacenamiento provisional contiene archivos y scripts a los que se hace referencia en la personalización de Archivo, Shell y PowerShell en la propiedad ScriptURI.

Para ejecutar la compilación, invoque Run en el recurso de plantilla de VM Image Builder. El servicio implementa entonces recursos adicionales para la compilación, como una máquina virtual, una red, un disco y un adaptador de red.

Si crea una imagen sin usar una red virtual existente, VM Image Builder también implementa una dirección IP pública y un grupo de seguridad de red, y se conecta a la máquina virtual de compilación mediante Secure Shell (SSH) o el protocolo de administración remota de Windows (WinRM).

Si selecciona una red virtual existente, el servicio se implementa a través de Azure Private Link y no se requiere una dirección IP pública. Para más información, consulte Introducción a VM Image Builder.

Cuando finaliza la compilación, se eliminan todos los recursos, excepto el grupo de recursos de almacenamiento provisional y la cuenta de almacenamiento. Para quitarlos, elimine el recurso de plantilla de imagen; también puede dejarlos donde están para volver a ejecutar la compilación.

Puede encontrar múltiples ejemplos, guías paso a paso, plantillas de configuración y soluciones en el repositorio de GitHub de VM Image Builder.

Compatibilidad con el movimiento

El recurso de plantilla de imagen es inmutable y contiene vínculos a recursos y al grupo de recursos de almacenamiento provisional. Por lo tanto, este tipo de recurso no se puede mover.

Si quiere mover el recurso de plantilla de imagen, asegúrese de que tiene una copia de la plantilla de configuración o, si no tiene una copia, extraiga la configuración existente del recurso. Luego, cree un nuevo recurso de plantilla de imagen en el nuevo grupo de recursos con un nuevo nombre y elimine el recurso de plantilla de imagen anterior.

Permisos

Al registrarse para el servicio VM Image Builder, le está concediendo al servicio el permiso para crear, administrar y eliminar un grupo de recursos de almacenamiento provisional, que lleva delante IT_*. Además, tiene derechos para agregarle los recursos que sean necesarios para la compilación de imágenes. Esto sucede porque un nombre de entidad de seguridad de servicio de VM Image Builder está disponible en la suscripción después de que se haya registrado correctamente.

Para permitir que VM Image Builder distribuya imágenes a las imágenes administradas o a Compute Gallery, debe crear una identidad asignada por el usuario de Azure que tenga permisos para leer y escribir imágenes. Si va a acceder a Azure Storage, necesitará permisos para leer contenedores privados y públicos.

En la versión de API 2021-10-01 y posteriores, VM Image Builder admite la adición de identidades asignadas por el usuario de Azure a la máquina virtual de compilación para habilitar escenarios en los que debe autenticarse con servicios como Azure Key Vault en la suscripción.

Para más información sobre los permisos, consulte:

Costos

Al crear, compilar y almacenar imágenes mediante VM Image Builder, incurrirá en algunos costos de proceso, redes y almacenamiento. Estos costos son similares a los que incurre al crear imágenes personalizadas manualmente. Los recursos se cobran según las tarifas de Azure.

Nota:

El servicio Azure Image Builder no admite Ventaja híbrida de Azure para Windows Server en este momento.

Durante el proceso de creación de imágenes, los archivos se descargan y almacenan en el grupo de recursos IT_<DestinationResourceGroup>_<TemplateName>, lo que supondrá un pequeño costo de almacenamiento. Si no quiere conservar estos archivos, elimine la plantilla de imagen después de haber compilado la imagen.

VM Image Builder crea una máquina virtual con el tamaño predeterminado de máquina virtual Standard_D1_v2 para imágenes Gen1 y Standard_D2ds_v4 para imágenes Gen2, junto con el almacenamiento y las redes necesarias para la máquina virtual. Estos recursos estarán en vigor durante el proceso de compilación y se eliminarán una vez que VM Image Builder haya terminado de crear la imagen.

VM Image Builder distribuye la imagen a las regiones elegidas, lo que podría suponer cargos de salida de red.

Generación de Hyper-V

VM Image Builder actualmente admite la creación de imágenes de la primera y segunda generación de Hyper-V en Compute Gallery como imágenes administradas o discos duros virtuales. Tenga en cuenta que la imagen distribuida siempre está en la misma generación que la imagen proporcionada.

Para las imágenes Gen2, asegúrese de usar la SKU correcta. Por ejemplo, la SKU de una imagen de Ubuntu Server 18.04 Gen2 sería 18_04-lts-gen2. La SKU de una imagen de Ubuntu Server 18.04 Gen1 sería 18.04-lts.

A continuación, se muestra cómo buscar SKU basadas en el publicador de imágenes:

# Find all Gen2 SKUs published by Microsoft Windows Desktop
az vm image list --publisher MicrosoftWindowsDesktop --sku g2 --output table --all

# Find all Gen2 SKUs published by Canonical
az vm image list --publisher Canonical --sku gen2 --output table --all

Para más información sobre las imágenes de máquina virtual de Azure que admiten Gen2, consulte Imágenes de máquina virtual Gen2 en Azure Marketplace .

Pasos siguientes

Para probar VM Image Builder, consulte los artículos sobre la compilación de imágenes de Linux o Windows.