Compartir vía


Creación de una VM mediante una versión de imagen especializada

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows

Cree una máquina virtual a partir de una versión de imagen especializada almacenada en Azure Compute Gallery (anteriormente conocida como Shared Image Gallery). Si desea crear una máquina virtual mediante una versión de imagen generalizada, consulte Creación de una máquina virtual a partir de una versión de imagen generalizada.

En este artículo se muestra cómo crear una máquina virtual a partir de una imagen especializada:

Importante

Al crear una nueva máquina virtual a partir de una imagen especializada, la nueva máquina virtual conserva el nombre de equipo de la máquina virtual original. También se conserva otra información específica del equipo, como el CMID. Esta información duplicada puede causar problemas. Al copiar una máquina virtual, tenga en cuenta en qué tipo de información específica del equipo se basan las aplicaciones.

Cree una máquina virtual desde una galería interna.

Enumere las definiciones de imagen en una galería mediante az sig image-definition list para ver el nombre y el identificador de las definiciones.

resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list \
   --resource-group $resourceGroup \
   --gallery-name $gallery \
   --query "[].[name, id]" \
   --output tsv

Cree la máquina virtual con az vm create, usando el parámetro --specialized para indicar que la imagen es una imagen especializada.

Use el identificador de la definición de imagen en --image a fin de crear la máquina virtual a partir de la versión más reciente de la imagen que está disponible. También puede crear la máquina virtual a partir de una versión específica si proporciona el identificador de la versión de la imagen en --image.

En este ejemplo, se creará una máquina virtual a partir de la versión más reciente de la imagen myImageDefinition.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
    --specialized

RBAC: dentro de la organización

Si la suscripción donde reside la galería está dentro del mismo suscriptor, las imágenes compartidas mediante RBAC se pueden usar para crear máquinas virtuales mediante la CLI y PowerShell.

Necesitará la imageID de la imagen que quiere usar y asegurarse de que la imagen se replica en la región donde desea crear la máquina virtual.


image="/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup='myResourceGroup'
location='westus'
vmName='myVM'

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $image \
   --specialized

RBAC: de otro suscriptor u organización

Si la imagen que desea usar está almacenada en una galería que no está en el mismo suscriptor (directorio), deberá iniciar sesión en cada suscriptor para comprobar que tiene acceso.

Necesitará la imageID de la imagen que quiere usar y asegurarse de que la imagen se replica en la región donde desea crear la máquina virtual. También necesitará tenantID para la galería de origen y la tenantID para ubicación en la que desea crear la máquina virtual.

Debe iniciar sesión en el suscriptor donde se almacena la imagen, obtener un token de acceso y, a continuación, iniciar sesión en el suscriptor donde desea crear la máquina virtual. Así es como Azure autentica que tiene acceso a la imagen.

tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'

az account clear
az login --tenant $tenant1
az account get-access-token 
az login --tenant $tenant2
az account get-access-token

Cree la máquina virtual con az vm create, usando el parámetro --specialized para indicar que la imagen es una imagen especializada.


imageid=""/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition""
resourcegroup="myResourceGroup"
location="West US 3"
name='myVM'

az group create --name $resourcegroup --location $location
az vm create --resource-group $resourcegroup \
    --name $name \
    --image $image \
    --specialized

Importante

Microsoft no proporciona compatibilidad con las imágenes de la galería de la comunidad.

Notificación de problemas con una imagen de la comunidad

El uso de imágenes de máquina virtual enviadas por la comunidad tiene varios riesgos. Las imágenes podrían contener malware, vulnerabilidades de seguridad o infringir la propiedad intelectual de alguien. Para ayudar a crear una experiencia segura y de confianza para la comunidad, puede notificar imágenes cuando ve estos problemas.

La manera más fácil de notificar problemas con una galería de la comunidad es usar el portal, que rellenará automáticamente la información necesaria para el informe:

  • Para problemas con vínculos u otra información en los campos de una definición de imagen, seleccione Notificar imagen de la comunidad.
  • Si una versión de imagen contiene código malintencionado o hay otros problemas con una versión específica de una imagen, seleccione Notificar en la columna Versión del informe de la tabla de versiones de la imagen.

También puede usar los vínculos siguientes para notificar problemas, pero los formularios no se rellenarán previamente:

Para crear una máquina virtual con una imagen compartida en una galería de la comunidad, use el identificador único de la imagen para --image que tendrá el siguiente formato:

/CommunityGalleries/<community gallery name, like: ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/<image name>/Versions/latest

Como usuario final, para obtener el nombre público de una galería de la comunidad, debe usar el portal. Vaya a Máquinas virtuales>Crear>Máquina virtual de Azure>Imagen>Ver todas las imágenes>Imágenes de la comunidad>Nombre público de la galería.

Para enumerar todas las definiciones de imagen que están disponibles en una galería de la comunidad utilice el comando az sig image-definition list-community. En este ejemplo, se enumeran todas las imágenes de la galería ContosoImage en la región Oeste de EE. UU. y por nombre, el identificador único necesario para crear una máquina virtual, el sistema operativo y el estado del sistema operativo.

 az sig image-definition list-community \
   --public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
   --location westus \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Para crear una máquina virtual a partir de una imagen generalizada en una galería de la comunidad, consulte Creación de una máquina virtual a partir de una versión de imagen generalizada.

Cree la máquina virtual con az vm create, usando el parámetro --specialized para indicar que la imagen es una imagen especializada.

En este ejemplo, se creará una máquina virtual a partir de la versión más reciente de la imagen myImageDefinition.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/CommunityGalleries/ContosoImages-f61bb1d9-3c5a-4ad2-99b5-744030225de6/Images/LinuxSpecializedVersions/latest" \
    --specialized

Al usar una imagen de la comunidad, se le pedirá que acepte los términos legales. El mensaje tendrá el siguiente aspecto:

To create the VM from community gallery image, you must accept the license agreement and privacy statement: http://contoso.com. (If you want to accept the legal terms by default, please use the option '--accept-term' when creating VM/VMSS) (Y/n): 

Importante

Azure Compute Gallery: la galería compartida directa está actualmente en versión preliminar y sujeta a los Términos de versión preliminar de Azure Compute Gallery.

Para publicar imágenes en una galería compartida directa durante la versión preliminar, debe registrarse en https://aka.ms/directsharedgallery-preview. La creación de máquinas virtuales desde la galería de compartida está disponible para todos los usuarios de Azure.

Durante la versión preliminar, debe crear una nueva galería, con la propiedad sharingProfile.permissions establecida en Groups. Al usar la CLI para crear una galería, especifique el parámetro --permissions groups. No se puede usar una galería existente, la propiedad no se puede actualizar en este momento.

Para crear una máquina virtual con la versión más reciente de una imagen compartida en su suscripción o inquilino, necesita el identificador de la imagen en el siguiente formato:

/SharedGalleries/<uniqueID>/Images/<image name>/Versions/latest

Para buscar el elemento uniqueID de una galería que se comparte con usted, use az sig list-shared. En este ejemplo, estamos buscando galerías en la región Oeste de EE. UU.

region=westus
az sig list-shared --location $region --query "[].name" -o tsv

Use el nombre de la galería para buscar todas las imágenes disponibles. En este ejemplo, se enumeran todas las imágenes de Oeste de EE. UU. y por nombre, el identificador único necesario para crear una máquina virtual, el sistema operativo y el estado del sistema operativo.

galleryName="1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-myDirectShared"
 az sig image-definition list-shared \
   --gallery-unique-name $galleryName \
   --location $region \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Asegúrese de que el estado de la imagen sea Specialized. Si quiere usar una imagen con el estado Generalized, consulte Creación de una máquina virtual a partir de una versión de imagen generalizada.

Cree la máquina virtual con az vm create, usando el parámetro --specialized para indicar que la imagen es una imagen especializada.

Use el elemento Id, anexado a /Versions/latest para usar la versión más reciente, como valor de "--image" para crear una máquina virtual.

En este ejemplo, se creará una máquina virtual a partir de la versión más reciente de la imagen myImageDefinition.

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --specialized

Pasos siguientes