Configuración de Azure Compute Gallery para Microsoft Dev Box

En este artículo, obtendrá información sobre cómo configurar y adjuntar una galería de proceso de Azure a un centro de desarrollo en Microsoft Dev Box. Con Azure Compute Gallery, puede proporcionar a los desarrolladores imágenes personalizadas para su cuadro de desarrollo.

Azure Compute Gallery es un servicio para administrar y compartir imágenes. Una galería es un repositorio que se almacena en la suscripción de Azure y permite crear la estructura y la organización en torno a los recursos de imagen. Dev Box admite repositorios de GitHub, Azure Repos y Bitbucket para proporcionar una galería de imágenes.

Después de adjuntar una galería de procesos a un centro de desarrollo en Microsoft Dev Box, puede crear definiciones de cuadro de desarrollo basadas en imágenes almacenadas en la galería de procesos.

Entre las ventajas de usar una galería, se incluyen las siguientes:

  • Las imágenes se mantienen en una ubicación única y se pueden usar en distintos centros de desarrollo, proyectos y grupos.
  • Los equipos encargados del desarrollo pueden usar la versión más reciente de una definición para asegurarse de que siempre reciban la imagen más reciente al crear equipos de desarrollo.
  • Los equipos encargados del desarrollo pueden estandarizar una versión de imagen compatible hasta que se valide una versión más reciente.

Para más información sobre Azure Compute Gallery y cómo crear galerías, consulte:

Requisitos previos

Nota:

Microsoft Dev Box no admite galerías de la comunidad.

Una galería que se usa para configurar definiciones de cuadros de desarrollo debe tener al menos una definición de imagen y una versión de imagen.

Al crear una imagen de máquina virtual (VM), seleccione una imagen de Azure Marketplace compatible con Microsoft Dev Box. A continuación se muestran ejemplos de imágenes compatibles:

Requisitos de versión de la imagen

La versión de la imagen debe cumplir los siguientes requisitos:

  • Generación 2

  • Hyper-V v2

  • SO Windows

    • Windows 10 Enterprise versión 20H2 o posterior
    • Windows 11 Enterprise 21H2 o posterior
  • Imagen de VM generalizada

  • No se admiten imágenes de máquina virtual de sesión única (no se admiten imágenes de máquina virtual de varias sesiones).

  • No hay ninguna partición de recuperación.

  • Tamaño predeterminado del disco de sistema operativo de 64 GB

    • El tamaño del disco del sistema operativo se ajusta automáticamente al tamaño especificado en la descripción de la SKU de la licencia de Windows 365.
  • La definición de imagen debe tener Inicio seguro habilitado como el tipo de seguridad. El tipo de seguridad se configura al crear la definición de la imagen.

    Captura de pantalla que muestra la configuración de requisitos de imagen de Windows 365.

Nota:

  • Los requisitos de imagen de Microsoft Dev Box superan los requisitos de imagen de Windows 365 e incluyen la configuración para optimizar el tiempo de creación y el rendimiento del cuadro de desarrollo.
  • Cualquier imagen que no cumpla los requisitos de Windows 365 no se muestra en la lista de imágenes que están disponibles para su creación.

Reducción de los tiempos de inicio y aprovisionamiento

Al crear una máquina virtual generalizada para capturar en una imagen, los siguientes problemas pueden afectar los tiempos de aprovisionamiento e inicio:

  1. Cree la imagen mediante estas tres opciones de sysprep: /generalize /oobe /mode:vm.

    • Estas opciones impiden una larga búsqueda e instalación de controladores durante el primer arranque. Para más información, consulte Opciones de línea de comandos de Sysprep. Habilite la caché de lectura y escritura en el disco del sistema operativo.
    • Para comprobar si la caché está habilitada, abra Azure Portal y desplácese a la imagen. Seleccione la vista JSON y asegúrese de que el valor properties.storageProfile.osDisk.caching es ReadWrite.
  2. Habilite la virtualización anidada en la imagen base:

    • En la interfaz de usuario, abra Activar o desactivar las características de Windows y seleccione Plataforma de máquina virtual.
    • O bien, ejecute el siguiente comando de PowerShell: Enable-WindowsOptionalFeature -FeatureName VirtualMachinePlatform -Online
  3. Deshabilite la característica de estado de almacenamiento reservado en la imagen mediante el siguiente comando: DISM.exe /Online /Set-ReservedStorageState /State:Disabled.

  4. Ejecute defrag y chkdsk durante la creación de imágenes y, a continuación, deshabilite las tareas programadas chkdisk y defrag.

Al usar una imagen de Azure Compute Gallery para crear una definición de equipo de desarrollo, el servicio Windows 365 valida la imagen para asegurarse de que cumple con los requisitos que se deben aprovisionar para un equipo de desarrollo. Microsoft Dev Box replica la imagen en las regiones que se especifican en las conexiones de red asociadas a fin de que las imágenes estén presentes en la región necesaria para la creación del equipo de desarrollo.

Para permitir que los servicios realicen estas acciones, debe proporcionar permisos a la galería como se indica a continuación.

Incorporación de una identidad asignada por el usuario al centro de desarrollo

  1. Siga los pasos para crear una identidad administrada asignada por el usuario.

  2. Inicie sesión en Azure Portal.

  3. En el cuadro de búsqueda, escriba equipo de desarrollo. En la lista de resultados, seleccione Centros de desarrollo.

  4. Abra el centro de desarrollo. En el menú de la izquierda, seleccione Identidad.

  5. En la pestaña Asignada por el usuario, seleccione + Agregar.

  6. En el panel Agregar identidad administrada asignada por el usuario, seleccione la identidad administrada asignada por el usuario que creó en el paso 1 y, a continuación, seleccione Agregar.

    Captura de pantalla en la que se muestra el panel para agregar una identidad administrada asignada por el usuario

Asignación de roles

Microsoft Dev Box se comporta de manera distinta en función de cómo asocie la galería:

  • Cuando usa Azure Portal para asociar la galería al equipo de desarrollo, el servicio Dev Box crea automáticamente las asignaciones de roles tras asociar la galería.
  • Al usar la CLI de Azure para adjuntar la galería al centro de desarrollo, debe crear manualmente la entidad de servicio de Windows 365 y las asignaciones de roles de identidad administrada del centro de desarrollo antes de adjuntar la galería.

Siga estos pasos para asignar manualmente cada rol.

Entidad de servicio de Windows 365

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda, escriba Azure Compute Gallery. En la lista de resultados, seleccione la galería que desea adjuntar al centro de desarrollo.

  3. En el menú izquierdo, seleccione Access Control (IAM).

  4. Seleccione Agregar>Agregar asignación de roles.

  5. Asigne el siguiente rol. Para asignar roles, consulte Asignación de roles de Azure mediante Azure Portal.

    Configuración Valor
    Rol Seleccione el Lector.
    Asignar acceso a Seleccione Usuario, grupo o entidad de servicio.
    Miembros Busque y seleccione Windows 365.

Identidad administrada para el centro de desarrollo

  1. En Azure Portal, abra la galería que quiere asociar al centro de desarrollo. También puede buscar instancias de Azure Compute Gallery para buscar la galería.

  2. En el menú izquierdo, seleccione Access Control (IAM).

  3. Seleccione Agregar>Agregar asignación de roles.

  4. Asigne el siguiente rol. Para asignar roles, consulte Asignación de roles de Azure mediante Azure Portal.

    Configuración Valor
    Rol Seleccione Colaborador.
    Asignar acceso a Seleccione Identidad administrada.
    Miembros Busque y seleccione la identidad administrada asignada por el usuario que creó al agregar una identidad asignada por el usuario al centro de desarrollo.

Puede usar la misma identidad administrada en varios centros de desarrollo y galerías de proceso. Cualquier centro de desarrollo con la identidad administrada agregada tiene los permisos necesarios para las imágenes de la galería que tiene agregada la asignación de roles Propietario.

Para usar las imágenes de una galería de proceso en definiciones de cuadro de desarrollo, primero debe asociar la galería con el centro de desarrollo mediante la asociación:

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda, escriba equipo de desarrollo. En la lista de resultados, seleccione Centros de desarrollo.

  3. Seleccione el centro de desarrollo al que desea asociar la galería.

    Captura de pantalla en la que se muestra la lista de proyectos de desarrollo existentes

  4. En el menú de la izquierda, seleccione Instancias de Azure Compute Gallery para mostrar las galerías asociadas a este centro de desarrollo.

    Captura de pantalla que muestra la página de galerías de proceso, sin galerías enumeradas

  5. Seleccione + Agregar para seleccionar una galería que se va a asociar.

  6. En Agregar Azure Compute Gallery, seleccione la galería. Si tiene acceso a más de una galería que tiene el mismo nombre, el nombre de la suscripción aparece entre paréntesis.

    Captura de pantalla que muestra el área para seleccionar una galería

  7. Si hay un conflicto de nombres en el centro de desarrollo, debe proporcionar un nombre único para usar con esta galería.

  8. Seleccione Agregar.

  9. Confirme que la galería aparece ahora en la página Galerías de proceso de Azure.

    Captura de pantalla que muestra la página de galerías de proceso, sin galerías de ejemplo enumeradas

Después de agregar correctamente una galería, las imágenes están disponibles para seleccionar al crear y actualizar definiciones del cuadro de desarrollo.

Puede desasociar galerías de centros de desarrollo para que sus imágenes ya no se puedan usar para crear definiciones de cuadro de desarrollo.

Nota:

No se pueden quitar galerías que se usan activamente en definiciones de cuadro de desarrollo. Para poder quitar este tipo de galería, debe eliminar la definición del cuadro de desarrollo asociado o actualizar la definición para usar una imagen de otra galería.

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda, escriba equipo de desarrollo. En la lista de resultados, seleccione Centros de desarrollo.

  3. Seleccione el centro de datos del que quiere quitar la galería.

  4. En el menú de la izquierda, seleccione Instancias de Azure Compute Gallery para mostrar las galerías asociadas a este centro de desarrollo.

  5. Seleccione la galería que quiere quitar y, luego, seleccione Quitar.

    Captura de pantalla que muestra la página de galerías de proceso, una galería seleccionada y el botón Quitar.

  6. Seleccione Continuar en el cuadro de diálogo de confirmación.

La galería se desasocia del centro de desarrollo. No se elimina la galería ni sus imágenes y, si es necesario, podrá volver a asociarla.