Azure Storage 계정에서 이미지를 사용하여 Azure Stack HCI VM 이미지 만들기

적용 대상: Azure Stack HCI, 버전 23H2

이 문서에서는 Azure Storage 계정의 원본 이미지를 사용하여 Azure Stack HCI에 대한 VM(가상 머신) 이미지를 만드는 방법을 설명합니다. Azure Portal 또는 Azure CLI를 사용하여 VM 이미지를 만든 다음, 이러한 VM 이미지를 사용하여 Azure Stack HCI에서 Arc VM을 만들 수 있습니다.

사전 요구 사항

시작하기 전에 다음 필수 구성 요소가 완료되었는지 확인합니다.

  • 필수 구성 요소를 검토하고 완료해야 합니다.

  • 배포되고 Arc Resource Bridge 및 사용자 지정 위치가 있는 Azure Stack HCI 시스템에 액세스할 수 있습니다.

    • Azure Stack HCI 시스템 리소스의 개요 > 서버 페이지로 이동합니다. Azure Arc연결된 것으로 표시되는지 확인합니다. 클러스터에 대한 사용자 지정 위치 및 Arc 리소스 브리지도 표시됩니다.

      연결된 Azure Arc를 보여 주는 Azure Stack HCI 클러스터 리소스의 개요 페이지 스크린샷

  • Azure Storage 계정의 사용자 지정 이미지의 경우 다음과 같은 추가 필수 구성 요소가 있습니다.

Azure Storage 계정에서 VM 이미지 추가

Azure Storage 계정의 이미지에서 시작하는 VM 이미지를 만든 다음 이 이미지를 사용하여 Azure Stack HCI 클러스터에 VM을 배포합니다.

다음 단계에 따라 Azure CLI를 사용하여 VM 이미지를 만듭니다.

로그인 및 구독 설정

  1. Azure Stack HCI 시스템의 서버에 연결합니다.

  2. 로그인합니다. 유형:

    az login --use-device-code
    
  3. 구독을 설정합니다.

    az account set --subscription <Subscription ID>
    

일부 매개 변수 설정

  1. 구독, 리소스 그룹, 위치, 로컬 공유의 이미지 경로 및 이미지에 대한 OS 유형을 설정합니다. 의 매개 변수를 < > 적절한 값으로 바꿉니다.
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Stack HCI cluster>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"

다음 표에는 매개 변수가 나와 있습니다.

매개 변수 Description
subscription 이 이미지와 연결하는 Azure Stack HCI 클러스터에 대한 리소스 그룹입니다.
resource_group 이 이미지와 연결하는 Azure Stack HCI 클러스터에 대한 리소스 그룹입니다.
location Azure Stack HCI 클러스터의 위치입니다. 예를 들어 이 은 일 수 있습니다 eastus.
imageName 로컬 공유의 이미지로 시작하여 만든 VM 이미지의 이름입니다.
참고: Azure는 키워드(keyword) Windows를 포함하는 모든 이름을 거부합니다.
imageSourcePath Storage 계정에서 이미지의 Blob SAS URL 경로입니다. 자세한 내용은 Storage 계정에서 이미지의 Blob SAS URL을 가져오는 방법에 대한 지침을 참조하세요.
참고: 경로의 모든 앰퍼샌드가 큰따옴표로 이스케이프되고 전체 경로 문자열이 작은따옴표 안에 래핑되어 있는지 확인합니다.
os-type 원본 이미지와 연결된 운영 체제입니다. Windows 또는 Linux일 수 있습니다.

샘플 출력은 다음과 같습니다.

PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "myhci-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "myhci-storacctimage"
PS C:\Users\azcli> $imageSourcePath = 'https://vmimagevhdsa1.blob.core.windows.net/vhdcontainer/Windows_InsiderPreview_ServerStandard_en-us_VHDX_25131.vhdx?sp=r"&"st=2022-08-05T18:41:41Z"&"se=2022-08-06T02:41:41Z"&"spr=https"&"sv=2021-06-08"&"sr=b"&"sig=X7A98cQm%2FmNRaHmTbs9b4OWVv%2F9Q%2FJkWDBHVPyAc8jo%3D'

Azure Storage 계정의 이미지에서 VM 이미지 만들기

  1. VM 이미지를 배포할 사용자 지정 위치를 선택합니다. 사용자 지정 위치는 Azure Stack HCI 클러스터의 사용자 지정 위치에 해당해야 합니다. Azure Stack HCI 클러스터에 대한 사용자 지정 위치 ID를 가져옵니다. 다음 명령 실행:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for HCI cluster>" --query id -o tsv)
    
  2. 지정된 마켓플레이스 이미지로 시작하는 VM 이미지를 만듭니다. 마켓플레이스 이미지에 대한 제품, 게시자, sku 및 버전을 지정해야 합니다.

    az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
    

    VM 이미지에 대한 배포 작업이 시작됩니다.

    이 예제에서는 플래그를 사용하여 --storage-path-id 스토리지 경로를 지정하고 워크로드 데이터(VM, VM 이미지, 비 OS 데이터 디스크 포함)가 지정된 스토리지 경로에 배치되도록 했습니다.

    플래그를 지정하지 않으면 워크로드 데이터가 자동으로 고가용성 스토리지 경로에 배치됩니다.

이미지 배포를 완료하는 데 몇 분 정도 걸립니다. 이미지를 다운로드하는 데 걸리는 시간은 Azure Storage 계정의 이미지 크기와 다운로드에 사용할 수 있는 네트워크 대역폭에 따라 달라집니다.

샘플 출력은 다음과 같습니다.

PS > $customLocationID=(az customlocation show --resource-group $resource_group --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
{
  "extendedLocation": {
    "name": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.ExtendedLocation/customLocations/myhci-cl",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-storacctimage",
  "location": "eastus",
  "name": "windos",
  "properties": {
    "identifier": null,
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "status": {
      "downloadStatus": {
        "downloadSizeInMB": 7876
      },
        "progressPercentage": 100,
      "provisioningStatus": {
        "operationId": "cdc9c9a8-03a1-4fb6-8738-7a8550c87fd1*31CE1EA001C4B3E38EE29B78ED1FD47CCCECF78B4CEA9E9A85C0BAEA5F6D80CA",
        "status": "Succeeded"
      }
    },
    "storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": null
  },
  "resourceGroup": "myhci-rg",
  "systemData": {
    "createdAt": "2023-11-03T20:17:10.971662+00:00",
    "createdBy": "guspinto@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-11-03T21:08:01.190475+00:00",
    "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
    "lastModifiedByType": "Application"
  },
  "tags": null,
  "type": "microsoft.azurestackhci/galleryimages"
}
PS C:\Users\azcli>

VM 이미지 나열

관리할 이미지를 선택하려면 VM 이미지 목록을 확인해야 합니다.

다음 단계에 따라 Azure CLI를 사용하여 VM 이미지를 나열합니다.

  1. PowerShell을 관리자 권한으로 실행합니다.

  2. 일부 매개 변수를 설정합니다.

    $subscription = "<Subscription ID associated with your cluster>"
    $resource_group = "<Resource group name for your cluster>"
    
  3. 클러스터와 연결된 모든 VM 이미지를 나열합니다. 다음 명령 실행:

    az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
    

    사용된 명령에 따라 Azure Stack HCI 클러스터와 연결된 해당 이미지 집합이 나열됩니다.

    • 구독만 지정하면 명령은 구독의 모든 이미지를 나열합니다.
    • 구독과 리소스 그룹을 모두 지정하면 명령은 리소스 그룹의 모든 이미지를 나열합니다.

    이러한 이미지는 다음과 같습니다.

    • 마켓플레이스 이미지의 VM 이미지.
    • Azure Storage 계정에 있거나 클러스터의 로컬 공유 또는 클러스터에 연결된 클라이언트에 있는 사용자 지정 이미지입니다.

샘플 출력은 다음과 같습니다.

PS C:\Users\azcli> az stack-hci-vm image list --subscription "<Subscription ID>" --resource-group "myhci-rg"
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
[
  {
    "extendedLocation": {
      "name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl",
      "type": "CustomLocation"
    },
    "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/w
inServer2022Az-01",
    "location": "eastus",
    "name": "winServer2022Az-01",
    "properties": {
      "hyperVGeneration": "V2",
      "identifier": {
        "offer": "windowsserver",
        "publisher": "microsoftwindowsserver",
        "sku": "2022-datacenter-azure-edition-core"
      },
      "imagePath": null,
      "osType": "Windows",
      "provisioningState": "Succeeded",
      "status": {
        "downloadStatus": {
          "downloadSizeInMB": 6710
        },
        "progressPercentage": 100,
        "provisioningStatus": {
          "operationId": "19742d69-4a00-4086-8f17-4dc1f7ee6681*E1E9889F0D1840B93150BD74D428EAE483CB67B0904F9A198C161AD471F670ED",
          "status": "Succeeded"
        }
      },
      "storagepathId": null,
      "version": {
        "name": "20348.2031.231006",
        "properties": {
          "storageProfile": {
            "osDiskImage": {
              "sizeInMB": 130050
            }
          }
        }
      }
    },
    "resourceGroup": "myhci-rg",
    "systemData": {
      "createdAt": "2023-10-30T21:44:53.020512+00:00",
      "createdBy": "guspinto@contoso.com",
      "createdByType": "User",
      "lastModifiedAt": "2023-10-30T22:08:25.495995+00:00",
      "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
      "lastModifiedByType": "Application"
    },
    "tags": {},
    "type": "microsoft.azurestackhci/marketplacegalleryimages"
  }
]
PS C:\Users\azcli>

VM 이미지 속성 보기

이미지를 사용하여 VM을 만들기 전에 VM 이미지의 속성을 볼 수 있습니다. 이미지 속성을 보려면 다음 단계를 수행합니다.

Azure CLI를 사용하여 이미지의 속성을 보려면 다음 단계를 수행합니다.

  1. PowerShell을 관리자 권한으로 실행합니다.

  2. 다음 매개 변수를 설정합니다.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. ID를 지정하거나 이름 및 리소스 그룹을 지정하는 두 가지 방법으로 이미지 속성을 볼 수 있습니다. Marketplace 이미지 ID를 지정할 때 다음 단계를 수행합니다.

    1. 다음 매개 변수를 설정합니다.

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage"
      
    2. 다음 명령을 실행하여 속성을 봅니다.

      az stack-hci-vm image show --ids $mktplaceImageID

      다음은 이 명령에 대한 샘플 출력입니다.

      PS C:\Users\azcli> az stack-hci-vm image show --ids $mktplaceImageID
      Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
      {
        "extendedLocation": {
          "name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage",
        "location": "eastus",
        "name": "myhci-marketplaceimage",
        "properties": {
          "containerName": null,
          "hyperVGeneration": null,
          "identifier": null,
          "imagePath": null,
          "osType": "Windows",
          "provisioningState": "Succeeded",
          "status": null,
          "version": null
        },
        "resourceGroup": "myhci-rg",
        "systemData": {
          "createdAt": "2022-08-05T20:52:38.579764+00:00",
          "createdBy": "guspinto@microsoft.com",
          "createdByType": "User",
          "lastModifiedAt": "2022-08-05T20:52:38.579764+00:00",
          "lastModifiedBy": "guspinto@microsoft.com",
          "lastModifiedByType": "User"
        },
        "tags": null,
        "type": "microsoft.azurestackhci/galleryimages"
      }
      PS C:\Users\azcli> 
      

VM 이미지 삭제

어떤 이유로 다운로드가 실패하거나 이미지가 더 이상 필요하지 않은 경우 VM 이미지를 삭제할 수 있습니다. 다음 단계에 따라 VM 이미지를 삭제합니다.

  1. PowerShell을 관리자 권한으로 실행합니다.

  2. 다음 매개 변수를 설정합니다.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $galleryImageName = "<Gallery image name>"    
    
  3. 기존 VM 이미지를 제거합니다. 다음 명령 실행:

    az stack-hci-vm image delete --subscription $subscription --resource-group $resource_group --name $mktplaceImage --yes
    

다음 두 가지 방법으로 이미지를 삭제할 수 있습니다.

  • 이름 및 리소스 그룹을 지정합니다.
  • ID를 지정합니다.

이미지를 삭제한 후 이미지가 제거되었음을 검사 수 있습니다. 다음은 이름과 리소스 그룹을 지정하여 이미지를 삭제할 때의 샘플 출력입니다.

PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "myhci-rg"
PS C:\Users\azcli> $mktplaceImage = "myhci-marketplaceimage"
PS C:\Users\azcli> az stack-hci-vm image delete --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Are you sure you want to perform this operation? (y/n): y
PS C:\Users\azcli> az stack-hci-vm image show --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
ResourceNotFound: The Resource 'Microsoft.AzureStackHCI/marketplacegalleryimages/myhci-marketplaceimage' under resource group 'myhci-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>

다음 단계