Configuración de una galería de imágenes compartidas en Azure DevTest Labs
DevTest Labs admite el almacenamiento y el uso compartido de imágenes con Azure Compute Gallery. Una galería de imágenes compartidas facilita el mantenimiento de un gran número de imágenes administradas y hace que estén disponibles con carácter general. También es una excelente manera de proporcionar imágenes estandarizadas con el software actual para los usuarios. Se admiten imágenes especializadas y generalizadas. Mediante el uso de una galería de imágenes compartidas, puedes crear una estructura y una organización en torno a las imágenes de máquina virtual (VM) administrada personalizada.
En este artículo se describe cómo adjuntar una galería de imágenes compartidas al laboratorio. Los usuarios pueden acceder a imágenes desde la ubicación compartida al crear máquinas virtuales de laboratorio. Una ventaja clave de este enfoque es que DevTest Labs te permite compartir imágenes de máquina virtual entre laboratorios, suscripciones y regiones.
Entre las ventajas de usar una galería de imágenes compartidas con DevTest Labs se incluyen las siguientes:
- Administración de la replicación global de imágenes.
- Aplicación del control de versiones y agrupación de imágenes para facilitar su administración.
- Acceso a imágenes de alta disponibilidad con cuentas de almacenamiento con redundancia de zona (ZRS) en regiones que admiten zonas de disponibilidad para mejorar la resistencia frente a errores de zona.
- Uso compartido de imágenes entre suscripciones y entre inquilinos mediante el control de acceso basado en rol (RBAC).
Ten en cuenta las siguientes consideraciones al trabajar con una galería compartida:
- Solo puedes asociar una galería de imágenes compartidas al laboratorio a la vez. Para asociar una galería diferente, primero debes desasociar la galería actual.
- Solo puedes seleccionar imágenes de una galería asociada mediante DevTest Labs. No puedes cargar imágenes ni cambiarlas en la galería mediante DevTest Labs.
- Al crear una máquina virtual a partir de una imagen compartida, DevTest Labs usa la versión publicada más reciente de la imagen en la galería asociada. Si una imagen tiene varias versiones, puedes elegir una versión anterior en Configuración avanzada durante la creación de la máquina virtual.
- DevTest Labs intenta replicar todas las imágenes de la galería asociada en la región del laboratorio. A veces, no es posible realizar la replicación. Para evitar que los usuarios tengan problemas al crear máquinas virtuales a partir de imágenes, asegúrate de que las imágenes de la galería asociada se replican completamente en la región del laboratorio.
Para obtener información sobre los costos que conlleva el uso de una galería de imágenes compartidas, consulta Facturación para Azure Compute Gallery.
Sigue estos pasos para asociar una galería de imágenes compartidas al recurso de DevTest Labs:
En Azure Portal, ve al recurso de DevTest Labs donde quieres asociar la galería de imágenes compartidas.
En la página Información general del laboratorio, expande la sección Configuración en el menú izquierdo y selecciona Configuración y directivas.
En la pantalla Configuración y directivas, expande la sección Bases de máquinas virtuales en el menú de la izquierda y selecciona Galerías de imágenes compartidas:
Selecciona Asociar para agregar una galería de imágenes compartidas existente al laboratorio.
En la lista desplegable Asociar galería existente, selecciona la galería de imágenes compartidas para agregar al laboratorio y, después, selecciona Aceptar:
Una vez que DevTest Labs asocia la galería al laboratorio, puedes seleccionar el nombre de la galería para ver la lista completa de imágenes:
Se abre la página Imágenes compartidas:
La opción Permitir que todas las imágenes se usen como bases de máquinas virtuales permite controlar qué imágenes están disponibles para que los usuarios del laboratorio las usen al crear máquinas virtuales de laboratorio. De manera predeterminada, esta opción se establece en Sí y los usuarios del laboratorio tienen acceso a todas las imágenes de la galería asociada.
Sigue estos pasos para restringir el acceso a las imágenes en la galería:
En la página Configuración y directivas del laboratorio, ve a la pantalla Bases de máquina virtual>Galerías de imágenes compartidas.
Selecciona el nombre de la galería asociada para abrir la página Imágenes compartidas, que muestra la lista de imágenes.
En la página Imágenes compartidas, establece la opción Permitir que todas las imágenes se usen como bases de máquina virtual en No.
Para cualquier imagen que quieras que no esté disponible para los usuarios del laboratorio, anula la selección de la casilla de la imagen.
Seleccione Guardar.
Después de asociar una galería de imágenes compartidas al laboratorio, los usuarios del laboratorio pueden elegir de entre las imágenes permitidas al crear una máquina virtual:
En la página Configuración y directivas del laboratorio, ve a la pantalla Bases de máquina virtual>Galerías de imágenes compartidas.
Selecciona el nombre de la galería asociada para abrir la página Imágenes compartidas, que muestra la lista de imágenes.
Toma nota del nombre de la imagen de la galería que quieres usar para crear la máquina virtual.
Vuelve a la página información general y selecciona Agregar.
En la página Elegir una base, selecciona la imagen de la galería que quieres usar para crear la máquina virtual. En la lista de imágenes, las imágenes permitidas de la galería de imágenes compartidas adjuntas van después de las imágenes disponibles en las plantillas de Azure Resource Manager (ARM):
Sigue los pasos para crear la máquina virtual a partir de la imagen seleccionada.
Un laboratorio solo puede tener una galería de imágenes compartidas asociada a la vez. Si el laboratorio tiene una galería asociada y quieres usar otra galería, primero debes desasociar la galería existente. Una vez desasociada la galería existente, puedes asociar otra galería.
En la página Configuración y directivas del laboratorio, ve a la pantalla Bases de máquina virtual>Galerías de imágenes compartidas.
Selecciona Más opciones (...) para la galería asociada y selecciona Desasociar:
La opción Desasociar también está disponible en la página Imágenes compartidas de la galería asociada.
Puedes usar una plantilla de ARM para asociar una galería de imágenes compartidas al laboratorio. Debes agregar la galería como un recurso para la plantilla de ARM, tal como se muestra en el ejemplo siguiente:
"resources": [
{
"apiVersion": "2018-10-15-preview",
"type": "Microsoft.DevTestLab/labs",
"name": "mylab",
"location": "eastus",
"resources": [
{
"apiVersion":"2018-10-15-preview",
"name":"myGallery",
"type":"sharedGalleries",
"properties": {
"galleryId":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mySharedGalleryRg/providers/Microsoft.Compute/galleries/mySharedGallery",
"allowAllImages": "Enabled"
}
}
]
}
El repositorio de GitHub de DevTest Labs proporciona ejemplos completos que usan plantillas de ARM para asociar galerías de imágenes compartidas. Para empezar, puedes Configurar una galería de imágenes compartidas al crear un laboratorio.
En las secciones siguientes se proporcionan ejemplos sobre cómo usar la API REST para trabajar con imágenes de la galería de imágenes compartidas.
La siguiente llamada GET devuelve la lista de recursos de DevTest Labs para una suscripción. En este ejemplo, debes proporcionar los parámetros siguientes:
subscriptionId
: el id. de suscripción para el que se va a devolver la lista de recursos de DevTest Labs.resourceGroupName
: nombre del grupo de recursos que va a buscar recursos de DevTest Labs.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs?api-version= 2018-10-15-preview
La siguiente llamada GET devuelve la lista de galerías de imágenes compartidas asociadas a un laboratorio. En este ejemplo, debes proporcionar los parámetros siguientes:
subscriptionId
: id. de suscripción para el recurso de DevTest Labs.resourceGroupName
: nombre del grupo de recursos para el recurso de DevTest Labs.labName
: nombre del recurso de DevTest Labs para el que se va a devolver la lista de galerías de imágenes compartidas asociadas.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries?api-version= 2018-10-15-preview
La siguiente llamada PUT crea o actualiza una galería de imágenes compartidas para un laboratorio especificado. En este ejemplo, debes proporcionar los parámetros siguientes:
subscriptionId
: id. de suscripción para el recurso de DevTest Labs.resourceGroupName
: nombre del grupo de recursos para el recurso de DevTest Labs.labName
: nombre del recurso de DevTest Labs.name
: nombre de la galería compartida que se va a crear o actualizar para el laboratorio.galleryId
: id. de la galería compartida que se va a crear o actualizar para el laboratorio.allowAllImages
: establécelo enEnabled
para permitir que todas las imágenes de la galería se usen con el recurso de laboratorio.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}?api-version=2018-10-15-preview
Body:
{
"properties":{
"galleryId": "[Shared Image Gallery resource Id]",
"allowAllImages": "Enabled"
}
}
La siguiente llamada GET devuelve la lista de imágenes de una galería de imágenes compartidas especificada para un laboratorio. En este ejemplo, debes proporcionar los parámetros siguientes:
subscriptionId
: id. de suscripción para el recurso de DevTest Labs.resourceGroupName
: nombre del grupo de recursos para el recurso de DevTest Labs.labName
: nombre del recurso de DevTest Labs.name
: nombre de la galería compartida asociada al laboratorio para el que quieres mostrar una lista de imágenes.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}/sharedimages?api-version=2018-10-15-preview