다음을 통해 공유


Azure DevTest Labs에서 공유 이미지 갤러리 구성

DevTest Labs는 Azure Compute 갤러리이미지 저장 및 공유를 지원합니다. 공유 이미지 갤러리를 사용하면 관리되는 많은 이미지를 쉽게 유지 관리하고 널리 사용할 수 있습니다. 또한 사용자에게 현재 소프트웨어를 사용하여 표준화된 이미지를 제공하는 좋은 방법입니다. 특수화된 이미지와 일반화된 이미지가 모두 지원됩니다. 공유 이미지 갤러리를 사용하여 사용자 지정 관리형 VM(가상 머신) 이미지를 중심으로 구조 및 조직을 빌드할 수 있습니다.

이 문서에서는 랩에 공유 이미지 갤러리를 연결하는 방법을 설명합니다. 사용자는 랩 VM을 만들 때 공유 위치에서 이미지에 액세스할 수 있습니다. 이 방법의 주요 이점은 DevTest Labs를 통해 랩, 구독 및 지역 간에 VM 이미지를 공유할 수 있다는 것입니다.

공유 이미지 갤러리 탐색

DevTest Labs에서 공유 이미지 갤러리를 사용할 경우의 이점은 다음과 같습니다.

  • 이미지의 전역 복제 관리
  • 이미지에 대한 버전 관리 및 그룹화 적용을 통해 보다 쉽게 관리할 수 있습니다.
  • 영역 오류에 대한 복원력을 높이기 위해 가용성 영역을 지원하는 지역에서 ZRS(영역 중복 스토리지) 계정으로 고가용성 이미지에 액세스
  • RBAC(역할 기반 액세스 제어)를 사용하여 구독 간 및 테넌트 간에 이미지 공유

공유 갤러리로 작업할 때는 다음과 같은 사항을 고려해야 합니다.

  • 한 번에 하나의 공유 이미지 갤러리만 랩에 연결할 수 있습니다. 다른 갤러리를 연결하려면 먼저 현재 갤러리를 분리해야 합니다.
  • 연결된 갤러리에서 DevTest Labs를 통해서만 이미지를 선택할 수 있습니다. DevTest Labs를 통해 갤러리에서 이미지를 업로드하거나 이미지를 변경할 수 없습니다.
  • 공유 이미지에서 VM을 만들 때 DevTest Labs는 연결된 갤러리에 게시된 최신 버전의 이미지를 사용합니다. 이미지에 여러 버전이 있는 경우 VM을 만드는 동안 고급 설정에서 이전 버전을 선택할 수 있습니다.
  • DevTest Labs는 연결된 갤러리의 모든 이미지를 랩 지역에 복제하려고 시도합니다. 복제가 불가능한 경우도 있습니다. 이미지에서 VM을 만들 때 사용자에게 문제가 발생하지 않도록 하려면 연결된 갤러리의 이미지가 랩 지역에 완전히 복제되도록 합니다.

공유 이미지 갤러리 사용과 관련된 비용에 대해 알아보려면 Azure Compute 갤러리에 대한 청구를 참조 하세요.

다음 단계에 따라 DevTest Labs 리소스에 공유 이미지 갤러리를 연결합니다.

  1. Azure Portal에서 공유 이미지 갤러리를 연결하려는 DevTest Labs 리소스로 이동합니다.

  2. 개요 페이지에서 왼쪽 메뉴의 설정 섹션을 확장하고 구성 및 정책을 선택합니다.

  3. 구성 및 정책 화면의 왼쪽 메뉴에서 가상 머신 기본 섹션을 확장하고 공유 이미지 갤러리를 선택합니다.

    DevTest Labs 리소스에 대한 공유 이미지 갤러리에 대한 연결 옵션을 선택하는 방법을 보여 주는 스크린샷

  4. 연결을 선택하여 랩에 기존 공유 이미지 갤러리를 추가합니다.

  5. 기존 갤러리 연결 드롭다운 목록에서 랩에 추가할 공유 이미지 갤러리를 선택한 다음 확인을 선택합니다.

    랩에 공유 이미지 갤러리를 연결하는 방법을 보여 주는 스크린샷

  6. DevTest Labs가 랩에 갤러리를 연결한 후 갤러리 이름을 선택하여 전체 이미지 목록을 볼 수 있습니다.

    랩의 연결된 공유 갤러리에 있는 모든 이미지 목록을 보는 방법을 보여 주는 스크린샷.

    공유 이미지 페이지가 열립니다.

    VM을 만들 수 있는 이미지를 표시하는 확인란 표시기가 있는 공유 갤러리의 이미지 목록 스크린샷

사용 가능한 이미지 제어

모든 이미지를 가상 머신 기반으로 사용할 수 있도록 허용 옵션을 사용하면 랩 VM을 만들 때 랩 사용자가 사용할 수 있는 이미지를 제어할 수 있습니다. 기본적으로 이 옵션은 예설정되며 랩 사용자는 연결된 갤러리의 모든 이미지에 액세스할 수 있습니다.

갤러리의 이미지에 대한 액세스를 제한하려면 다음 단계를 수행합니다.

  1. 랩의 구성 및 정책 페이지에서 가상 머신 기반>공유 이미지 갤러리 화면으로 이동합니다.

  2. 연결된 갤러리 이름을 선택하여 이미지 목록을 표시하는 공유 이미지 페이지를 엽니다.

  3. 공유 이미지 페이지에서 모든 이미지를 가상 머신 기본으로 사용할 수 있도록 허용 옵션을 아니요설정합니다.

  4. 랩 사용자가 사용할 수 없도록 하려는 이미지의 경우 이미지의 확인란을 선택 취소합니다.

  5. 저장을 선택합니다.

랩에 공유 이미지 갤러리를 연결한 후 랩 사용자는 새 VM을 만들 때 허용되는 이미지 중에서 선택할 수 있습니다.

  1. 랩의 구성 및 정책 페이지에서 가상 머신 기반>공유 이미지 갤러리 화면으로 이동합니다.

  2. 연결된 갤러리 이름을 선택하여 이미지 목록을 표시하는 공유 이미지 페이지를 엽니다.

  3. 새 VM을 만드는 데 사용할 갤러리 이미지의 이름을 기록해 둡다.

  4. 개요 페이지로 돌아가서 추가를 선택합니다.

  5. 기본 선택 페이지에서 새 VM을 만드는 데 사용할 갤러리 이미지를 선택합니다. 이미지 목록에서 연결된 공유 이미지 갤러리의 허용된 이미지는 ARM(Azure Resource Manager) 템플릿에서 사용할 수 있는 이미지를 따릅니다.

    연결된 공유 이미지 갤러리에서 허용된 이미지를 포함하여 VM 인스턴스에 사용할 수 있는 이미지 목록을 보여 주는 스크린샷

선택한 이미지에서 VM을 만드는 단계를 수행합니다.

랩에는 한 번에 하나의 연결된 공유 이미지 갤러리만 있을 수 있습니다. 랩에 연결된 갤러리가 있고 다른 갤러리를 사용하려는 경우 먼저 기존 갤러리를 분리해야 합니다. 기존 갤러리를 분리한 후 다른 갤러리를 연결할 수 있습니다.

  1. 랩의 구성 및 정책 페이지에서 가상 머신 기반>공유 이미지 갤러리 화면으로 이동합니다.

  2. 연결된 갤러리에 대한 추가 옵션(...)을 선택하고 분리를 선택합니다.

    랩에서 현재 공유 이미지 갤러리를 분리하는 방법을 보여 주는 스크린샷

분리 옵션은 연결된 갤러리의 공유 이미지 페이지에서도 사용할 수 있습니다.

ARM 템플릿을 사용하여 랩에 공유 이미지 갤러리를 연결할 수 있습니다. 다음 예제와 같이 ARM 템플릿에 대한 리소스로 갤러리를 추가해야 합니다.

"resources": [
{
    "apiVersion": "2018-10-15-preview",
    "type": "Microsoft.DevTestLab/labs",
    "name": "mylab",
    "location": "eastus",
    "resources": [
    {
        "apiVersion":"2018-10-15-preview",
        "name":"myGallery",
        "type":"sharedGalleries",
        "properties": {
            "galleryId":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mySharedGalleryRg/providers/Microsoft.Compute/galleries/mySharedGallery",
            "allowAllImages": "Enabled"
        }
    }
    ]
}

DevTest Labs GitHub 리포지토리는 ARM 템플릿을 사용하여 공유 이미지 갤러리를 연결하는 전체 샘플을 제공합니다. 시작하려면 새 랩을 만들 때 공유 이미지 갤러리를 구성할 수 있습니다.

REST API 사용

다음 섹션에서는 REST API를 사용하여 공유 이미지 갤러리의 이미지로 작업하는 방법에 대한 예제를 제공합니다.

랩 목록 가져오기

다음 GET 호출은 구독에 대한 DevTest Labs 리소스 목록을 반환합니다. 이 예제에서는 다음 매개 변수를 제공합니다.

  • subscriptionId: DevTest Labs 리소스 목록을 반환할 구독 ID입니다.
  • resourceGroupName: DevTest Labs 리소스를 검색할 리소스 그룹의 이름입니다.
GET  https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs?api-version= 2018-10-15-preview

랩에 대한 공유 이미지 갤러리 목록 가져오기

다음 GET 호출은 랩과 연결된 공유 이미지 갤러리 목록을 반환합니다. 이 예제에서는 다음 매개 변수를 제공합니다.

  • subscriptionId: DevTest Labs 리소스의 구독 ID입니다.
  • resourceGroupName: DevTest Labs 리소스에 대한 리소스 그룹의 이름입니다.
  • labName: 연결된 공유 이미지 갤러리 목록을 반환할 DevTest Labs 리소스의 이름입니다.
GET  https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries?api-version= 2018-10-15-preview

다음 PUT 호출은 지정된 랩에 대한 공유 이미지 갤러리를 만들거나 업데이트합니다. 이 예제에서는 다음 매개 변수를 제공합니다.

  • subscriptionId: DevTest Labs 리소스의 구독 ID입니다.
  • resourceGroupName: DevTest Labs 리소스에 대한 리소스 그룹의 이름입니다.
  • labName: DevTest Labs 리소스의 이름입니다.
  • name: 랩에 대해 만들거나 업데이트할 공유 갤러리의 이름입니다.
  • galleryId: 랩에 대해 만들거나 업데이트할 공유 갤러리의 ID입니다.
  • allowAllImages: 갤러리의 모든 이미지를 랩 리소스와 함께 사용할 수 있도록 설정 Enabled 됩니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}?api-version=2018-10-15-preview
Body: 
{
    "properties":{
        "galleryId": "[Shared Image Gallery resource Id]",
        "allowAllImages": "Enabled"
    }
}

다음 GET 호출은 랩에 대해 지정된 공유 이미지 갤러리의 이미지 목록을 반환합니다. 이 예제에서는 다음 매개 변수를 제공합니다.

  • subscriptionId: DevTest Labs 리소스의 구독 ID입니다.
  • resourceGroupName: DevTest Labs 리소스에 대한 리소스 그룹의 이름입니다.
  • labName: DevTest Labs 리소스의 이름입니다.
  • name: 이미지를 나열하려는 랩과 연결된 공유 갤러리의 이름입니다.
GET  https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}/sharedimages?api-version=2018-10-15-preview