Busque información de la imagen de Azure Marketplace mediante el CLI de Azure

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para más información, consulte la Guía de fin de ciclo de vida de CentOS.

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

Este tema describe cómo usar la CLI de Azure para buscar imágenes de máquina virtual en Azure Marketplace. Use esta información para especificar una imagen de Marketplace cuando se crea una máquina virtual mediante programación con la CLI, plantillas de Resource Manager u otras herramientas.

Puede examinar también las imágenes y ofertas disponibles medianteAzure Marketplaceo Azure PowerShell.

Terminología

Una imagen de Marketplace de Azure tiene los atributos siguientes:

  • Publicador: organización que ha creado la imagen. Ejemplos: Canonical, RedHat, SUSE.
  • Oferta: nombre de un grupo de imágenes relacionadas creado por un publicador. Ejemplos: 0001-com-ubuntu-server-jammy, RHEL, sles-15-sp3.
  • SKU: instancia de una oferta, por ejemplo, una versión principal de una distribución. Ejemplos: 22_04-lts-gen2, 8-lvm-gen2, gen2.
  • Versión: número de versión de una SKU de imagen.

Estos valores se pueden pasar individualmente o como un URNde imagen, combinando los valores separados por dos puntos (:). Por ejemplo: Publicador:Oferta:SKU:Versión. Puede reemplazar el número de versión del URN por latest para usar la versión más reciente de la imagen.

Si el editor de imágenes proporciona una licencia adicional y términos de compra, debe aceptarlos para poder usar la imagen. Para obtener más información, vea Comprobar la información del plan de compra.

Puede ejecutar az vm image list --all para ver todas las imágenes disponibles, pero puede tardar varios minutos en generar toda la lista. Una opción más rápida es el uso de az vm image list, sin la opción --all, para ver una lista de imágenes de máquina virtual populares en Azure Marketplace. Por ejemplo, ejecute el siguiente comando para mostrar una lista de almacenamiento en caché de imágenes populares en el formato de tabla:

az vm image list --output table

La salida incluye la imagen URN. Si omite la opción de --all, puede ver el UrnAlias de cada imagen, si está disponible. UrnAlias es una versión abreviada creada para imágenes populares como Ubuntu2204. Los nombres de alias de imagen de Linux y sus detalles que genera este comando son:

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
x64             CentOS                        OpenLogic               8_5-gen2                            OpenLogic:CentOS:8_5-gen2:latest                                                CentOS85Gen2             latest
x64             Debian11                      Debian                  11-backports-gen2                   Debian:debian-11:11-backports-gen2:latest                                       Debian-11                latest
x64             flatcar-container-linux-free  kinvolk                 stable-gen2                         kinvolk:flatcar-container-linux-free:stable-gen2:latest                         FlatcarLinuxFreeGen2     latest
x64             opensuse-leap-15-4            SUSE                    gen2                                SUSE:opensuse-leap-15-4:gen2:latest                                             OpenSuseLeap154Gen2      latest
x64             RHEL                          RedHat                  8-lvm-gen2                          RedHat:RHEL:8-lvm-gen2:latest                                                   RHELRaw8LVMGen2          latest
x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                    SLES                     latest
x64             0001-com-ubuntu-server-jammy  Canonical               22_04-lts-gen2                      Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest                    Ubuntu2204               latest

Los nombres de alias de imagen de Windows y sus detalles que genera este comando son:

Architecture    Offer                         Publisher               Sku                                 Urn                                                                            Alias                    Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------ -----------------------  ---------
x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                    Win2022Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore   latest
x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                    Win2019Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                    Win2016Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                 Win2012R2Datacenter       latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                    Win2012Datacenter         latest

Búsqueda de imágenes específicas

Puede filtrar la lista de imágenes por --publisher u otro parámetro para limitar los resultados.

Por ejemplo, el siguiente comando muestra todas las ofertas de Debian:

az vm image list --offer Debian --all --output table

Puede limitar los resultados a una sola arquitectura agregando el parámetro --architecture. Por ejemplo, para mostrar todas las imágenes arm64 disponibles en Canonical:

az vm image list --architecture Arm64 --publisher Canonical --all --output table

Examinar todas las imágenes disponibles

Otra forma de buscar una imagen en una ubicación es ejecutar los comandos az vm image list-publishers, az vm image list-offers y az vm image list-skus en orden. Con estos comandos, determine estos valores:

  1. Enumere los publicadores de imágenes de una ubicación. En este ejemplo, estamos examinando la región Oeste de EE. UU.

    az vm image list-publishers --location westus --output table
    
  2. Para un publicador determinado, enumeración de sus ofertas. En este ejemplo, se agrega RedHat como el publicador.

    az vm image list-offers --location westus --publisher RedHat --output table
    
  3. Para una oferta determinada, enumeración de sus SKU. En este ejemplo, se agrega RHEL como la oferta.

    az vm image list-skus --location westus --publisher RedHat --offer RHEL --output table
    

Nota:

Canonical ha cambiado los nombres de Oferta que se usan para las versiones más recientes. Antes de Ubuntu 20.04, el nombre de Oferta es UbuntuServer. Para Ubuntu 20.04, el nombre de Oferta es 0001-com-ubuntu-server-focal y para Ubuntu 22.04 es 0001-com-ubuntu-server-jammy.

  1. Para un publicador, una oferta y una SKU determinados, muestre todas las versiones de la imagen. En este ejemplo, se agrega 9_1 como SKU.

    az vm image list \
        --location westus \
        --publisher RedHat \
        --offer RHEL \
        --sku 9_1 \
        --all --output table
    

Pase este valor de la columna URN con el parámetro --image cuando cree una máquina virtual con el comando az vm create. También puede reemplazar el número de versión del URN por "más actualizado", para usar la versión más reciente de la imagen.

Si implementa una máquina virtual con una plantilla de Resource Manager, los parámetros de imagen se establecen individualmente en las propiedades imageReference. Consulte la referencia de plantilla.

Comprobar la información del plan de compra

Algunas imágenes de máquina virtual en Azure Marketplace tienen términos adicionales de licencia y compra que debe aceptar antes de poder implementarlas mediante programación.

Para implementar una máquina virtual desde una imagen de este tipo, tendrá que aceptar los términos de la imagen la primera vez que la use, una vez por suscripción. También deberá especificar parámetros de plan de compra para implementar una máquina virtual a partir de esa imagen

Para ver la información del plan de compra de una imagen, ejecute el comando az vm image show con el URN de la imagen. Si la propiedad plan de la salida no es null, la imagen tienen términos que debe aceptar antes de la implementación mediante programación.

Por ejemplo, la imagen de Canonical Ubuntu Server 18.04 LTS no tiene términos adicionales, porque la información de plan es null:

az vm image show --location westus --urn Canonical:UbuntuServer:18.04-LTS:latest

Salida:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.201901220",
  "location": "westus",
  "name": "18.04.201901220",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": null,
  "tags": null
}

Ejecutar un comando similar para la imagen RabbitMQ Certified by Bitnami muestra las propiedades de plan siguientes: name, product y publisher. (Algunas imágenes también tienen una propiedad promotion code).

az vm image show --location westus --urn bitnami:rabbitmq:rabbitmq:latest

Salida:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/bitnami/ArtifactTypes/VMImage/Offers/rabbitmq/Skus/rabbitmq/Versions/3.7.1901151016",
  "location": "westus",
  "name": "3.7.1901151016",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": {
    "name": "rabbitmq",
    "product": "rabbitmq",
    "publisher": "bitnami"
  },
  "tags": null
}

Para implementar esta imagen, debe aceptar los términos y proporcionar los parámetros del plan de compra al implementar una máquina virtual con esa imagen.

Aceptación de los términos

Para ver y aceptar los términos de licencia, use el comando az vm image terms. Cuando acepta los términos, habilita la implementación mediante programación en la suscripción. Solo debe aceptar los términos una vez por suscripción para la imagen. Por ejemplo:

az vm image terms show --urn bitnami:rabbitmq:rabbitmq:latest

La salida incluye un licenseTextLink a los términos de licencia e indica que el valor de accepted es true:

{
  "accepted": true,
  "additionalProperties": {},
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.MarketplaceOrdering/offertypes/bitnami/offers/rabbitmq/plans/rabbitmq",
  "licenseTextLink": "https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_BITNAMI%253a24RABBITMQ%253a24RABBITMQ%253a24IGRT7HHPIFOBV3IQYJHEN2O2FGUVXXZ3WUYIMEIVF3KCUNJ7GTVXNNM23I567GBMNDWRFOY4WXJPN5PUYXNKB2QLAKCHP4IE5GO3B2I.txt",
  "name": "rabbitmq",
  "plan": "rabbitmq",
  "privacyPolicyLink": "https://bitnami.com/privacy",
  "product": "rabbitmq",
  "publisher": "bitnami",
  "retrieveDatetime": "2019-01-25T20:37:49.937096Z",
  "signature": "XXXXXXLAZIK7ZL2YRV5JYQXONPV76NQJW3FKMKDZYCRGXZYVDGX6BVY45JO3BXVMNA2COBOEYG2NO76ONORU7ITTRHGZDYNJNXXXXXX",
  "type": "Microsoft.MarketplaceOrdering/offertypes"
}

Para aceptar los términos, escriba:

az vm image terms accept --urn bitnami:rabbitmq:rabbitmq:latest

Implementar una máquina virtual nueva mediante los parámetros de imagen

Con información sobre la imagen, puede implementarla mediante el comando az vm create.

Para implementar una imagen que no tiene información de plan, como la última imagen de Ubuntu Server 18.04 de Canonical, pase el URN para --image:

az group create --name myURNVM --location westus
az vm create \
   --resource-group myURNVM \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image Canonical:UbuntuServer:18.04-LTS:latest

En el caso de una imagen con parámetros de plan de compra, como la imagen RabbitMQ Certified by Bitnami, se pasa el URN para --image y también se proporcionan los parámetros del plan de compra:

az group create --name myPurchasePlanRG --location westus

az vm create \
   --resource-group myPurchasePlanRG \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image bitnami:rabbitmq:rabbitmq:latest \
   --plan-name rabbitmq \
   --plan-product rabbitmq \
   --plan-publisher bitnami

Si aparece un mensaje sobre la aceptación de los términos de la imagen, consulte la sección Aceptación de los términos. Asegúrese de que la salida de az vm image accept-terms devuelve el valor "accepted": true, que indica que ha aceptado los términos de la imagen.

Uso de un disco duro virtual existente con la información del plan de compra

Si tiene un disco duro virtual existente de una máquina virtual que se creó mediante una imagen de Azure Marketplace de pago, es posible que tenga que proporcionar la información del plan de compra al crear una nueva máquina virtual a partir de ese VHD.

Si aún tiene la máquina virtual original, u otra máquina virtual creada que use la misma imagen de Marketplace, puede obtener de ella información sobre el nombre del plan, el editor e información del producto mediante az vm get-instance-view. En este ejemplo se obtiene una máquina virtual llamada myVM en el grupo de recursos myResourceGroup y, después, se muestra la información del plan de compra.

az vm get-instance-view -g myResourceGroup -n myVM --query plan

Si no recibió la información del plan antes de que se eliminara la máquina virtual original, puede presentar una solicitud de soporte técnico. Deberá proporcionar el nombre de la máquina virtual, el identificador de la suscripción y la marca de tiempo de la operación de eliminación.

Una vez que tenga la información del plan, puede crear la nueva máquina virtual y utilizar el parámetro --attach-os-disk para especificar el disco duro virtual.

az vm create \
  --resource-group myResourceGroup \
  --name myNewVM \
  --nics myNic \
  --size Standard_DS1_v2 --os-type Linux \
  --attach-os-disk myVHD \
  --plan-name planName \
  --plan-publisher planPublisher \
  --plan-product planProduct

Pasos siguientes

Para crear una máquina virtual rápidamente con la información de la imagen, consulte Creación y administración de máquinas virtuales Linux con la CLI de Azure.