Azure CLI를 사용하여 Azure Marketplace 이미지 정보 찾기

주의

이 문서에서는 EOL(수명 종료) 상태에 가까워진 Linux 배포판인 CentOS를 참조하세요. 이에 따라 사용 및 플랜을 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.

적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합

이 항목에서는 Azure CLI를 사용하여 Azure Marketplace에서 VM 이미지를 찾는 방법을 설명합니다. CLI, Resource Manager 템플릿 또는 기타 도구를 사용하여 프로그래밍 방식으로 VM을 생성할 때 이 정보를 사용하여 Marketplace 이미지를 지정합니다.

또한 Azure Marketplace 또는 Azure PowerShell을 사용하여 사용할 수 있는 이미지와 제품을 찾을 수 있습니다.

용어

Azure의 Marketplace 이미지에는 다음과 같은 특성이 있습니다.

  • Publisher: 이미지를 만든 조직입니다. 예: Canonical, RedHat, SUSE.
  • Offer: 게시자가 만든 관련 이미지 그룹의 이름입니다. 예: 0001-com-ubuntu-server-jammy, RHEL, sles-15-sp3.
  • SKU: 제공의 인스턴스(예: 배포의 주 릴리스)입니다. 예: 22_04-lts-gen2, 8-lvm-gen2, gen2.
  • Version: 이미지 SKU의 버전 번호입니다.

이러한 값은 콜론(:)으로 구분된 값을 결합하여 개별적으로 또는 이미지 URN으로 전달할 수 있습니다. 예: Publisher:Offer:Sku:Version. URN에서 버전 번호를 latest로 바꿔 이미지의 최신 버전을 사용할 수 있습니다.

이미지 게시자가 추가 라이선스 및 구매 약관을 제공하는 경우 이에 동의해야 이미지를 사용할 수 있습니다. 자세한 내용은 구매 계획 정보 확인을 참조하세요.

az vm image list --all을 실행하여 사용 가능한 모든 이미지를 볼 수 있지만 전체 목록을 생성하는 데 몇 분 정도 걸릴 수 있습니다. 이 시간을 단축시키는 옵션은 --all 옵션 없이, az vm image list를 사용하여 Azure Marketplace에서 인기 있는 VM 이미지의 목록을 확인하는 것입니다. 예를 들어, 다음 명령을 실행하여 테이블 형식으로 캐시된 인기있는 이미지 목록을 표시합니다.

az vm image list --output table

출력에는 이미지 URN이 포함됩니다. --all 옵션을 생략하면 사용 가능한 경우 각 이미지에 대한 UrnAlias를 볼 수 있습니다. UrnAliasUbuntu2204와 같은 인기 있는 이미지를 위해 만든 단축 버전입니다. 이 명령으로 출력된 Linux 이미지 별칭 이름과 해당 세부 정보는 다음과 같습니다.

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

이 명령으로 출력된 Windows 이미지 별칭 이름과 해당 세부 정보는 다음과 같습니다.

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

특정 이미지 찾기

--publisher 또는 다른 매개 변수로 이미지 목록을 필터링하여 결과를 제한할 수 있습니다.

예를 들어 다음 명령은 모든 Debian 제품을 표시합니다.

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

--architecture 매개 변수를 추가하여 결과를 단일 아키텍처로 제한할 수 있습니다. 예를 들어 Canonical에서 사용할 수 있는 모든 Arm64 이미지를 표시하려면 다음을 수행합니다.

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

사용할 수 있는 모든 이미지 보기

위치에서 이미지를 찾는 또 다른 방법은 az vm image list-publishers, az vm image list-offersaz vm image list-skus의 순서로 명령을 실행하는 것입니다. 이러한 명령을 사용하여 값을 결정합니다.

  1. 위치에 대한 이미지 게시자를 나열합니다. 이 예제에서는 미국 서부 지역을 살펴 봅니다.

    az vm image list-publishers --location westus --output table
    
  2. 지정된 게시자에 제안을 나열합니다. 이 예제에서는 RedHat을 게시자로 추가합니다.

    az vm image list-offers --location westus --publisher RedHat --output table
    
  3. 지정된 제안에 SKU를 나열합니다. 이 예제에서는 RHEL을 게시자로 추가합니다.

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

참고 항목

Canonical은 최신 버전에 사용하는 제품 이름을 변경했습니다. Ubuntu 20.04 이전의 제품 이름은 UbuntuServer입니다. Ubuntu 20.04의 경우 제품 이름은 0001-com-ubuntu-server-focal이며 Ubuntu 22.04의 경우 제품 이름은 0001-com-ubuntu-server-jammy입니다.

  1. 지정된 게시자, 제품 및 SKU의 경우 이미지의 모든 버전을 표시합니다. 이 예제에서는 9_1을 SKU로 추가합니다.

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

az vm create 명령을 사용하여 VM을 만드는 경우 --image 매개 변수로 이 URN 열의 값을 전달합니다. URN에서 버전 번호를 “최신”으로 바꾸어 이미지의 최신 버전을 사용할 수도 있습니다.

Resource Manager 템플릿을 사용하여 VM을 배포하는 경우 imageReference 속성에 이미지 매개 변수를 개별적으로 설정합니다. 템플릿 참조를 참조하세요.

구매 계획 정보 확인

Azure Marketplace의 일부 VM 이미지를 프로그래밍 방식으로 배포하려면 동의가 필요한 추가 라이선스 및 구매 약관이 있습니다.

이러한 이미지에서 VM을 배포하려면 처음 사용할 때 구독당 한 번씩 이미지의 약관에 동의해야 합니다. 또한 해당 이미지에서 VM을 배포하려면 구매 계획 매개 변수를 지정해야 합니다.

이미지의 구매 계획 정보를 보려면 이미지의 URN으로 az vm image show 명령을 실행합니다. 출력의 plan 속성이 null이 아닌 경우, 이미지에는 프로그램 방식으로 배포하기 전에 동의해야 하는 약관이 있습니다.

예를 들어, Canonical Ubuntu Server 18.04 LTS 이미지는 plan 정보가 null이기 때문에 추가 약관이 없습니다.

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

출력

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

RabbitMQ Certified by Bitnami 이미지에 유사한 명령을 실행하면 name, productpublisher와 같은 plan 속성이 표시됩니다. (일부 이미지에는 promotion code 속성도 있습니다.)

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

출력

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

이 이미지를 배포하려면 해당 이미지를 사용하여 VM 배포 시 약관에 동의하고 구매 플랜 매개 변수를 제공해야 합니다.

약관에 동의

사용 조건을 확인하고 동의하려면 az vm image terms 명령을 사용합니다. 약관에 동의하면 구독에서 프로그래밍 방식 배포를 사용하도록 설정됩니다. 이미지의 구독마다 약관에 한 번만 동의하면 됩니다. 예시:

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

출력에는 사용 조건에 대한 licenseTextLink가 포함되며 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"
}

약관에 동의하려면 다음을 입력하세요.

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

이미지 매개 변수를 사용하여 새 VM 배포

이미지에 대한 정보와 함께 az vm create 명령을 사용하여 이를 배포할 수 있습니다.

Canonical에서 최신 Ubuntu Server 18.04 이미지와 같은 계획 정보가 없는 이미지를 배포하려면 --image에 대한 URN을 전달합니다.

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

RabbitMQ Certified by Bitnami 이미지와 같은 구매 플랜 매개 변수가 포함된 이미지의 경우 --image에 대한 URN을 전달하고 구매 플랜 매개 변수도 제공합니다.

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

이미지 약관에 동의하는 방법에 대한 메시지가 표시되면 약관에 동의섹션을 검토합니다. az vm image accept-terms 출력이 이미지에 대한 약관을 동의했음을 보여주는 "accepted": true, 값을 반환하는지 확인합니다.

구매 계획 정보와 함께 기존 VHD 사용

유료 Azure Marketplace 이미지를 사용하여 만든 VM의 기존 VHD가 있는 경우 해당 VHD에서 새 VM을 만들 때 구매 계획 정보를 제공해야 할 수 있습니다.

원본 VM이 아직 있거나 동일한 Marketplace 이미지를 사용하여 만든 다른 VM이 있는 경우 az vm get-instance-view를 사용하여 계획 이름, 게시자 및 제품 정보를 가져올 수 있습니다. 이 예에서는 myResourceGroup 리소스 그룹에서 myVM이라는 VM을 가져온 다음, 구매 계획 정보를 표시합니다.

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

원본 VM을 삭제하기 전에 계획 정보를 가져오지 않은 경우 지원 요청을 제출할 수 있습니다. VM 이름, 구독 ID 및 삭제 작업의 타임스탬프가 필요합니다.

계획 정보를 받으면 --attach-os-disk 매개 변수를 사용하여 새 VM을 만들어 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

다음 단계

이미지 정보를 사용하여 가상 머신을 빠르게 만들려면 Azure CLI로 Linux VM 만들기 및 관리를 참조하세요.