대규모 가상 머신 확장 집합과 작동Working with large virtual machine scale sets

이제 최대 1,000대 VM의 용량을 갖춘 Azure 가상 머신 확장 집합을 만들 수 있습니다.You can now create Azure virtual machine scale sets with a capacity of up to 1,000 VMs. 이 문서에서는 대규모 가상 머신 확장 집합_이 100대 이상의 VM까지 확장할 수 있는 확장 집합으로 정의됩니다.In this document, a _large virtual machine scale set is defined as a scale set capable of scaling to greater than 100 VMs. 이 기능은 확장 집합 속성에 의해 설정됩니다(singlePlacementGroup=False).This capability is set by a scale set property (singlePlacementGroup=False).

부하 분산 및 장애 도메인 등 대규모 확장 집합의 특정 측면은 표준 확장 집합과 다르게 동작합니다.Certain aspects of large scale sets, such as load balancing and fault domains behave differently to a standard scale set. 이 문서에서는 대규모 확장 집합의 특징에 대해 설명하고 응용 프로그램에서 성공적으로 사용하기 위해 알아야 할 내용을 설명합니다.This document explains the characteristics of large scale sets, and describes what you need to know to successfully use them in your applications.

큰 크기의 클라우드 인프라를 배포하기 위한 일반적인 방법은 여러 VNET 및 저장소 계정에 대해 여러 VM 확장 집합을 만드는 것과 같이 배율 단위_의 집합을 만드는 것입니다.A common approach for deploying cloud infrastructure at large scale is to create a set of _scale units, for example by creating multiple VMs scale sets across multiple VNETs and storage accounts. 이는 단일 VM 관리보다 쉬운 방법이며, 여러 배율 단위는 여러 가상 네트워크와 엔드포인트 등 기타 스택 가능한 구성 요소를 필요로 하는 많은 응용 프로그램에 특히 유용합니다.This approach provides easier management compared to single VMs, and multiple scale units are useful for many applications, particularly those that require other stackable components like multiple virtual networks and endpoints. 그러나 응용 프로그램이 하나의 대규모 클러스터를 필요로 하는 경우 최대 1,000대 VM의 단일 확장 집합을 간단히 배포할 수 있습니다.If your application requires a single large cluster however, it can be more straightforward to deploy a single scale set of up to 1,000 VMs. 예제 시나리오에는 중앙 집중화된 빅 데이터 배포 또는 작업자 노드의 대용량 풀을 간단하게 관리해야 하는 계산 그리드가 있습니다.Example scenarios include centralized big data deployments, or compute grids requiring simple management of a large pool of worker nodes. 가상 머신 확장 집합인 연결된 데이터 디스크와 결합된 대규모 확장 집합을 사용하면 수천 개의 vCPU와 페타바이트 크기의 저장소로 구성된 확장형 인프라를 단일 작업으로 배포할 수 있습니다.Combined with virtual machine scale set attached data disks, large scale sets enable you to deploy a scalable infrastructure consisting of thousands of vCPUs and petabytes of storage, as a single operation.

배치 그룹Placement groups

대규모 확장 집합을 특별하게 만드는 것은 VM의 수가 아닌 포함된 배치 그룹_의 수입니다.What makes a _large scale set special is not the number of VMs, but the number of placement groups it contains. 배치 그룹은 자체 장애 도메인과 업그레이드 도메인이 있는 Azure 가용성 집합과 비슷한 구조입니다.A placement group is a construct similar to an Azure availability set, with its own fault domains and upgrade domains. 기본적으로 확장 집합은 최대 100대의 VM을 갖춘 단일 배치 그룹으로 구성됩니다.By default, a scale set consists of a single placement group with a maximum size of 100 VMs. singlePlacementGroup_이라고 하는 확장 집합 속성이 _false_로 설정된 경우, 확장 집합은 여러 배치 그룹으로 구성될 수 있으며 0-1,000대의 VM을 가집니다.If a scale set property called _singlePlacementGroup is set to false, the scale set can be composed of multiple placement groups and has a range of 0-1,000 VMs. 기본값을 true_로 설정하면 확장 집합은 하나의 배치 그룹으로 구성되며 0-100대의 VM을 가집니다.When set to the default value of _true, a scale set is composed of a single placement group, and has a range of 0-100 VMs.

대규모 확장 집합을 사용하는 경우 검사 목록Checklist for using large scale sets

응용 프로그램이 대규모 확장 집합을 효과적으로 사용할 수 있는지 판단하기 위해서는 다음 요구 사항을 고려합니다.To decide whether your application can make effective use of large scale sets, consider the following requirements:

  • VM을 대량으로 배포하려는 경우 Compute vCPU 할당량 제한을 늘려야 할 수 있습니다.If you are planning to deploy large number of VMs, your Compute vCPU quota limits may need to be increased.
  • Azure Marketplace 이미지에서 만든 확장 집합은 최대 1,000대의 VM까지 확장할 수 있습니다.Scale sets created from Azure Marketplace images can scale up to 1,000 VMs.
  • 사용자 지정 이미지(직접 작성하여 업로드한 VM 이미지)에서 만든 확장 집합은 현재 최대 600대의 VM까지 확장할 수 있습니다.Scale sets created from custom images (VM images you create and upload yourself) can currently scale up to 600 VMs.
  • 대규모 확장 집합은 Azure Managed Disks가 필요합니다.Large scale sets require Azure Managed Disks. Managed Disks로 만들어지지 않은 확장 집합은 여러 저장소 계정이 필요합니다(20대의 VM에 대해 하나씩).Scale sets that are not created with Managed Disks require multiple storage accounts (one for every 20 VMs). 대규모 확장 집합은 저장소 관리 오버헤드를 줄이고 저장소 계정에 대해 구독 제한에 실행되지 않도록 오직 Managed Disks와 작동하도록 설계되어 있습니다.Large scale sets are designed to work exclusively with Managed Disks to reduce your storage management overhead, and to avoid the risk of running into subscription limits for storage accounts.
  • 여러 배치 그룹으로 구성된 확장 집합에 레이어-4 부하 분산을 사용하려면 Azure Load Balancer 표준 SKU가 필요합니다.Layer-4 load balancing with scale sets composed of multiple placement groups requires Azure Load Balancer Standard SKU. Load Balancer 표준 SKU는 여러 확장 집합 간에 부하를 분산하는 기능 같은 추가 이점을 제공합니다.The Load Balancer Standard SKU provides additional benefits, such as the ability to load balance between multiple scale sets. 또한 표준 SKU는 확장 집합에 네트워크 보안 그룹이 연결되어야 합니다. 그렇지 않으면 NAT 풀이 제대로 작동하지 않습니다.Standard SKU also requires that the scale set has a Network Security Group associated with it, otherwise NAT pools don't work correctly. Azure Load Balancer 기본 SKU를 사용해야 하는 경우 확장 집합이 기본 설정인 단일 배치 그룹을 사용하도록 구성되었는지 확인합니다.If you need to use the Azure Load Balancer Basic SKU, make sure the scale set is configured to use a single placement group, which is the default setting.
  • Azure Application Gateway의 계층 7 부하 분산은 모든 확장 집합에 대해 지원됩니다.Layer-7 load balancing with the Azure Application Gateway is supported for all scale sets.
  • 확장 집합은 단일 서브넷으로 정의됩니다. 필요한 모든 VM에 대해 서브넷의 주소 공간이 충분한지 확인합니다.A scale set is defined with a single subnet - make sure your subnet has an address space large enough for all the VMs you need. 기본적으로 확장 집합은 오버프로비전하여(배포 또는 확장 시 VM을 추가로 생성하며 요금은 부과되지 않음) 배포 안정성 및 성능을 향상시킵니다.By default a scale set overprovisions (creates extra VMs at deployment time or when scaling out, which you are not charged for) to improve deployment reliability and performance. 주소 공간을 확장하려는 VM의 수보다 20% 크게 설정합니다.Allow for an address space 20% greater than the number of VMs you plan to scale to.
  • 장애 도메인 및 업그레이드 도메인은 배치 그룹 내에서만 일관됩니다.Fault domains and upgrade domains are only consistent within a placement group. 이 아키텍처는 VM이 고유한 물리적 하드웨어에 고르게 분산되어 확장 집합의 전체 가용성을 변경하지 않지만, 두 VM이 서로 다른 하드웨어에 있다는 것을 보장해야 하는 경우 동일한 배치 그룹의 다른 장애 도메인에 있도록 해야 함을 의미합니다.This architecture does not change the overall availability of a scale set, as VMs are evenly distributed across distinct physical hardware, but it does means that if you need to guarantee two VMs are on different hardware, make sure they are in different fault domains in the same placement group. Azure 지역 및 가용성 링크를 참조하세요.Please refer to this link Azure Regions and availability.
  • 장애 도메인 및 배치 그룹 ID는 확장 집합 VM의 인스턴스 보기_에 표시됩니다.Fault domain and placement group ID are shown in the _instance view of a scale set VM. Azure Resource Explorer에서 확장 집합 VM의 인스턴스 보기를 볼 수 있습니다.You can view the instance view of a scale set VM in the Azure Resource Explorer.

대규모 확장 집합 만들기Creating a large scale set

Azure Portal에서 확장 집합을 만들 때 인스턴스 수 값을 최대 1,000까지 지정할 수 있습니다.When you create a scale set in the Azure portal, just specify the Instance count value of up to 1,000. 인스턴스 수가 100개를 초과하는 경우 100개 이상의 인스턴스로 확장 사용로 설정되고, 여러 배치 그룹으로 확장할 수 있게 됩니다.If it is more than 100 instances, Enable scaling beyond 100 instances will be set to Yes, which will allow it to scale to multiple placement groups.

Azure CLI az vmss create 명령을 사용하여 대규모 가상 머신 확장 집합을 만들 수 있습니다.You can create a large virtual machine scale set using the Azure CLI az vmss create command. 이 명령은 instance-count 인수를 기반으로 한 서브넷 크기와 같은 지능형 기본값을 설정합니다.This command sets intelligent defaults such as subnet size based on the instance-count argument:

az group create -l southcentralus -n biginfra
az vmss create -g biginfra -n bigvmss --image ubuntults --instance-count 1000

기본값을 지정하지 않으면 vmss create 명령은 특정 구성 값을 기본값으로 지정합니다.The vmss create command defaults certain configuration values if you do not specify them. 재정의할 수 있는 사용 가능한 옵션을 확인하려면 다음을 사용하세요.To see the available options that you can override, try:

az vmss create --help

Azure Resource Manager 템플릿을 작성하여 대규모 확장 집합을 만드는 경우 템플릿이 Azure Managed Disks에 기반하여 확장 집합을 만드는지 확인합니다.If you are creating a large scale set by composing an Azure Resource Manager template, make sure the template creates a scale set based on Azure Managed Disks. Microsoft.Compute/virtualMAchineScaleSets 리소스의 속성 섹션에서 singlePlacementGroup 속성을 false_에 설정할 수 있습니다.You can set the _singlePlacementGroup property to false in the properties section of the Microsoft.Compute/virtualMAchineScaleSets resource. 다음 JSON 조각은 1,000대의 VM 용량과 "singlePlacementGroup": false_를 포함하여 확장 집합 템플릿의 시작 부분을 보여줍니다.The following JSON fragment shows the beginning of a scale set template, including the 1,000 VM capacity and the "singlePlacementGroup" : false_ setting:

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "location": "australiaeast",
  "name": "bigvmss",
  "sku": {
    "name": "Standard_DS1_v2",
    "tier": "Standard",
    "capacity": 1000
  },
  "properties": {
    "singlePlacementGroup": false,
    "upgradePolicy": {
      "mode": "Automatic"
    }

대규모 확장 집합 템플릿의 전체 예제는 https://github.com/gbowerman/azure-myriad/blob/master/bigtest/bigbottle.json을 참조하세요.For a complete example of a large scale set template, refer to https://github.com/gbowerman/azure-myriad/blob/master/bigtest/bigbottle.json.

여러 배치 그룹을 확장하기 위해 기존 확장 집합을 변환Converting an existing scale set to span multiple placement groups

기존의 가상 머신 확장 집합을 100대 이상의 VM으로 확장할 수 있도록 하려면 확장 집합 모델에서 singlePlacementGroup 속성을 false_로 변경해야 합니다.To make an existing virtual machine scale set capable of scaling to more than 100 VMs, you need to change the _singlePlacementGroup property to false in the scale set model. Azure 리소스 탐색기로 이 속성 변경을 테스트할 수 있습니다.You can test changing this property with the Azure Resource Explorer. 기존 크기 집합을 찾아 편집_을 선택하고 _singlePlacementGroup 속성을 변경합니다.Find an existing scale set, select Edit and change the singlePlacementGroup property. 이 속성이 표시되지 않으면 Microsoft.Compute API의 이전 버전으로 크기 집합을 볼 수 있습니다.If you do not see this property, you may be viewing the scale set with an older version of the Microsoft.Compute API.

참고

단일 배치 그룹만 지원하는 것(기본 동작)에서 여러 배치 그룹을 지원하도록 확장 집합을 변경할 수 있지만 그 반대로는 변환할 수 없습니다.You can change a scale set from supporting a single placement group only (the default behavior) to a supporting multiple placement groups, but you cannot convert the other way around. 따라서 변환하기 전에 대규모 확장 집합의 속성을 이해해야 합니다.Therefore make sure you understand the properties of large scale sets before converting.