Partilhar via


Encontre informações de imagem do Azure Marketplace usando a CLI do Azure

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux com status de Fim de Vida (EOL). Por favor, considere o seu uso e planeje de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

Aplica-se a: ✔️ Linux VMs ✔️ Windows VMs ✔️ Conjuntos de escala flexível

Este tópico descreve como usar a CLI do Azure para localizar imagens de VM no Azure Marketplace. Use essas informações para especificar uma imagem do Marketplace ao criar uma VM programaticamente com a CLI, modelos do Gerenciador de Recursos ou outras ferramentas.

Você também pode procurar imagens e ofertas disponíveis usando o Azure Marketplace ou o Azure PowerShell.

Terminologia

Uma imagem do Marketplace no Azure tem os seguintes atributos:

  • Editor: A organização que criou a imagem. Exemplos: Canonical, RedHat, SUSE.
  • Oferta: o nome de um grupo de imagens relacionadas criadas por um editor. Exemplos: 0001-com-ubuntu-server-jammy, RHEL, sles-15-sp3.
  • SKU: uma instância de uma oferta, como uma versão principal de uma distribuição. Exemplos: 22_04-lts-gen2, 8-lvm-gen2, gen2.
  • Versão: O número da versão de uma imagem SKU.

Estes valores podem ser passados individualmente ou como uma imagem URN, combinando os valores separados pelos dois pontos (:). Por exemplo: Publisher:Offer:Sku:Version. Você pode substituir o número da versão na URN por latest para usar a versão mais recente da imagem.

Se o editor de imagens fornecer termos de licença e compra extras, você deverá aceitá-los antes de poder usar a imagem. Para obter mais informações, consulte Verificar as informações do plano de compra.

Você pode executar a lista de imagens az vm --all para ver todas as imagens disponíveis para você, mas pode levar vários minutos para produzir a lista inteira. Uma opção mais rápida é o uso az vm image list, sem a --all opção, para ver uma lista de imagens de VM populares no Azure Marketplace. Por exemplo, execute o seguinte comando para exibir uma lista em cache de imagens populares em formato de tabela:

az vm image list --output table

A saída inclui a imagem URN. Se você omitir a --all opção, você pode ver o UrnAlias para cada imagem, se disponível. UrnAlias é uma versão abreviada criada para imagens populares como Ubuntu2204. Os nomes de alias de imagem do Linux e seus detalhes gerados por este comando são:

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

Os nomes de alias de imagem do Windows e seus detalhes gerados por este comando são:

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

Encontrar imagens específicas

Você pode filtrar a lista de imagens por --publisher ou outro parâmetro para limitar os resultados.

Por exemplo, o seguinte comando exibe todas as ofertas Debian:

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

Você pode limitar seus resultados a uma única arquitetura adicionando o --architecture parâmetro. Por exemplo, para exibir todas as imagens Arm64 disponíveis da Canonical:

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

Veja todas as imagens disponíveis

Outra maneira de encontrar uma imagem em um local é executar os comandos az vm image list-publishers, az vm image list-offers e az vm image list-skus em sequência. Com estes comandos, você determina estes valores:

  1. Liste os editores de imagens para um local. Neste exemplo, estamos olhando para a região Oeste dos EUA .

    az vm image list-publishers --location westus --output table
    
  2. Para um determinado publicador, liste as respetivas ofertas. Neste exemplo, adicionamos RedHat como editor.

    az vm image list-offers --location westus --publisher RedHat --output table
    
  3. Para uma determinada oferta, liste as respetivas SKUs. Neste exemplo, adicionamos RHEL como oferta.

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

Nota

A Canonical alterou os nomes das ofertas que usa para as versões mais recentes. Antes do Ubuntu 20.04, o nome da oferta é UbuntuServer. Para o Ubuntu 20.04 o nome da oferta é 0001-com-ubuntu-server-focal e para o Ubuntu 22.04 é 0001-com-ubuntu-server-jammy.

  1. Para um determinado editor, oferta e SKU, mostre todas as versões da imagem. Neste exemplo, adicionamos 9_1 como a SKU.

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

Passe esse valor da coluna URN com o --image parâmetro quando você cria uma VM com o comando az vm create . Você também pode substituir o número da versão na URN por "mais recente", para usar a versão mais recente da imagem.

Se você implantar uma VM com um modelo do Gerenciador de Recursos, definirá os parâmetros de imagem individualmente nas imageReference propriedades. Veja a referência de modelo.

Verifique as informações do plano de compra

Algumas imagens de VM no Azure Marketplace têm termos de licença e compra adicionais que você deve aceitar antes de implantá-las programaticamente.

Para implantar uma VM a partir dessa imagem, você precisará aceitar os termos da imagem na primeira vez que usá-la, uma vez por assinatura. Você também precisará especificar parâmetros do plano de compra para implantar uma VM a partir dessa imagem

Para visualizar as informações do plano de compra de uma imagem, execute o comando az vm image show com a URN da imagem. Se a plan propriedade na saída não nullfor , a imagem tem termos que você precisa aceitar antes da implantação programática.

Por exemplo, a imagem Canonical Ubuntu Server 18.04 LTS não tem termos extras, porque as plan informações são null:

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

Saída:

{
  "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
}

A execução de um comando semelhante para a imagem RabbitMQ Certified by Bitnami mostra as seguintes plan propriedades: name, producte publisher. (Algumas imagens também têm uma promotion code propriedade.)

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

Saída:

{
  "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 implantar essa imagem, você precisa aceitar os termos e fornecer os parâmetros do plano de compra ao implantar uma VM usando essa imagem.

Aceitar os termos

Para visualizar e aceitar os termos de licença, use o comando az vm image terms . Ao aceitar os termos, você habilita a implantação programática em sua assinatura. Você só precisa aceitar os termos uma vez por assinatura para a imagem. Por exemplo:

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

A saída inclui um licenseTextLink para os termos de licença e indica que o valor de accepted é 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 aceitar os termos, digite:

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

Implantar uma nova VM usando os parâmetros de imagem

Com informações sobre a imagem, você pode implantá-la usando o az vm create comando.

Para implantar uma imagem que não tem informações de plano, como a imagem mais recente do Ubuntu Server 18.04 da Canonical, passe a 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

Para uma imagem com parâmetros de plano de compra, como a imagem RabbitMQ Certified by Bitnami, você passa a URN para --image e também fornece os parâmetros do plano 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

Se receber uma mensagem sobre a aceitação dos termos da imagem, consulte a secção Aceitar os termos. Certifique-se de que a saída de az vm image accept-terms retorna o valor "accepted": true, mostrando que você aceitou os termos da imagem.

Usando um VHD existente com informações do plano de compra

Se você tiver um VHD existente de uma VM que foi criada usando uma imagem paga do Azure Marketplace, talvez seja necessário fornecer as informações do plano de compra ao criar uma nova VM a partir desse VHD.

Se você ainda tiver a VM original ou outra VM criada usando a mesma imagem do marketplace, poderá obter o nome do plano, o editor e as informações do produto usando az vm get-instance-view. Este exemplo obtém uma VM chamada myVM no grupo de recursos myResourceGroup e exibe as informações do plano de compra.

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

Se você não obteve as informações do plano antes que a VM original fosse excluída, você pode registrar uma solicitação de suporte. Eles precisarão do nome da VM, da ID da assinatura e do carimbo de data/hora da operação de exclusão.

Depois de ter as informações do plano, você pode criar a nova VM usando o --attach-os-disk parâmetro para especificar o VHD.

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

Próximos passos

Para criar uma máquina virtual rapidamente usando as informações da imagem, consulte Criar e gerenciar VMs Linux com a CLI do Azure.