PowerShell을 사용하여 근접 배치 그룹 만들기

참고 항목

이 문서에 나열된 대부분의 단계는 균일한 오케스트레이션 모드를 사용하는 Virtual Machine Scale Sets에 적용됩니다. 새 워크로드에 유연한 오케스트레이션을 사용하는 것이 좋습니다. 자세한 내용은 Azure의 Virtual Machine Scale Set에 대한 오케스트레이션 모드를 참조하세요.

VM을 단일 지역에 배치하면 인스턴스 간의 물리적 거리가 줄어듭니다. 단일 가용성 영역 내에 배치하면 물리적으로 더 가까워집니다. 그러나 Azure 공간이 증가함에 따라 단일 가용성 영역은 여러 물리적 데이터 센터에 걸쳐 있을 수 있으며, 이로 인해 애플리케이션에 영향을 미치는 네트워크 대기 시간이 발생할 수 있습니다.

VM을 최대한 가깝게 유지하고, 대기 시간을 최대한 줄이려면 VM을 근접 배치 그룹 내에 배포할 수 있습니다.

근접 배치 그룹은 Azure 컴퓨팅 리소스가 물리적으로 서로 가까운 위치에 있도록 하는 데 사용되는 논리적 그룹화입니다. 근접 배치 그룹은 짧은 대기 시간이 필요한 워크로드에 유용합니다.

  • 독립 실행형 VM 간에 대기 시간이 짧습니다.
  • 단일 가용성 집합 또는 Virtual Machine Scale Set의 VM 간에 대기 시간이 짧습니다.
  • 독립 실행형 VM, 여러 가용성 집합의 VM 또는 여러 확장 집합의 VM 간에 대기 시간이 짧습니다. 단일 배치 그룹에 여러 컴퓨팅 리소스를 포함하여 다중 계층 애플리케이션을 통합할 수 있습니다.
  • 서로 다른 하드웨어 유형을 사용하는 여러 애플리케이션 계층 간에 대기 시간이 짧습니다. 예를 들어, 단일 근접 배치 그룹에서 가용성 집합에 M 시리즈를 사용하여 백엔드를 실행하고 확장 집합에 D 시리즈 인스턴스를 사용하여 프런트 엔드를 실행합니다.

근접 배치 그룹 사용

근접 배치 그룹은 Azure의 리소스입니다. 다른 리소스와 함께 사용하기 전에 만들어야 합니다. 만든 후에는 가상 머신, 가용성 집합 또는 Virtual Machine Scale Sets에 사용할 수 있습니다. 근접 배치 그룹 ID를 제공하는 컴퓨팅 리소스를 만들 때 근접 배치 그룹을 지정합니다.

기존 리소스를 근접 배치 그룹으로 이동할 수도 있습니다. 리소스를 근접 배치 그룹으로 이동하는 경우 공동 배치 제약 조건을 충족하기 위해 지역 내 다른 데이터 센터에 잠재적으로 다시 배포되므로 먼저 자산을 중지(할당 취소)해야 합니다.

가용성 집합 및 Virtual Machine Scale Sets의 경우 개별 가상 머신이 아니라 리소스 수준에서 근접 배치 그룹을 설정해야 합니다.

근접 배치 그룹은 고정 메커니즘이 아닌 공동 배치 제약 조건입니다. 이를 사용하는 첫 번째 리소스를 배포하여 특정 데이터 센터에 고정됩니다. 근접 배치 그룹을 사용하는 모든 리소스를 중지(할당 취소)하거나 삭제한 후에는 더 이상 고정되지 않습니다. 따라서 여러 VM 시리즈를 포함하는 근접 배치 그룹을 사용하는 경우 가능하면 템플릿에서 필요한 모든 유형을 미리 지정하거나 성공적인 배포 가능성을 높일 수 있는 배포 시퀀스를 따르는 것이 중요합니다. 배포에 실패하는 경우 배포할 첫 번째 크기로 실패한 VM 크기를 사용하여 배포를 다시 시작합니다.

근접 배치 그룹을 사용할 때 필요한 사항

근접 배치 그룹은 동일한 데이터 센터에 공동 배치를 제공합니다. 그러나 근접 배치 그룹은 추가 배포 제약 조건을 나타내므로 할당 오류가 발생할 수 있습니다. 근접 배치 그룹을 사용하는 경우 할당 오류를 볼 수 있는 몇 가지 사용 사례가 있습니다.

  • 근접 배치 그룹의 첫 번째 가상 머신을 요청하면 데이터 센터가 자동으로 선택됩니다. 경우에 따라 다른 가상 머신 SKU에 대한 두 번째 요청이 해당 데이터 센터에 존재하지 않는 경우 실패할 수 있습니다. 이 경우 OverconstrainedAllocationRequest 오류가 반환됩니다. 이를 방지하려면 SKU를 배포하는 순서를 변경하거나 단일 ARM 템플릿을 사용하여 두 리소스를 모두 배포합니다.
  • VM 인스턴스를 추가하고 제거하는 탄력적 워크로드의 경우 배포에 근접 배치 그룹 제약 조건을 적용하면 요청을 충족하지 못하여 AllocationFailure 오류가 발생할 수 있습니다.
  • 필요에 따라 VM을 중지(할당 취소)하고 시작하는 것은 탄력성을 달성할 수 있는 또 다른 방법입니다. VM을 중지(할당 취소)하면 용량이 유지되지 않으므로 다시 시작하면 AllocationFailure 오류가 발생할 수 있습니다.
  • VM 시작 및 다시 배포 작업은 성공적으로 구성되면 근접 배치 그룹을 계속 준수합니다.

계획된 유지 관리 및 근접 배치 그룹

Azure 데이터 센터에서 하드웨어 서비스 해제와 같은 계획된 유지 관리 이벤트는 근접 배치 그룹의 리소스 정렬에 잠재적으로 영향을 미칠 수 있습니다. 리소스를 다른 데이터 센터로 이동되어 근접 배치 그룹과 관련하여 예상되는 공동 배치 및 대기 시간을 방해할 수 있습니다.

정렬 상태 확인

다음을 수행하여 근접 배치 그룹의 정렬 상태를 확인할 수 있습니다.

  • 근접 배치 그룹 공동 배치 상태는 포털, CLI, PowerShell을 사용하여 볼 수 있습니다.

    • PowerShell의 경우 선택적 매개 변수 ‘-ColocationStatus`를 포함한 Get-AzProximityPlacementGroup cmdlet을 사용하여 공동 배치 상태를 가져올 수 있습니다.

    • CLI의 경우 선택적 매개 변수 ‘--include-colocation-status`를 포함한 az ppg show를 사용하여 공동 배치 상태를 가져올 수 있습니다.

  • 각 근접 배치 그룹에 대해 공동 배치 상태 속성은 그룹화된 리소스의 현재 정렬 상태를 요약해서 보여 줍니다.

    • 정렬됨: 리소스가 근접 배치 그룹과 동일한 대기 시간 봉투(Envelope) 내에 있습니다.

    • 알 수 없음: 하나 이상의 VM 리소스 할당이 취소됩니다. 성공적으로 시작되면 상태가 다시 정렬됨으로 돌아갑니다.

    • 정렬되지 않음: 하나 이상의 VM 리소스가 근접 배치 그룹에 정렬되어 있지 않습니다. 또한 정렬되지 않은 특정 리소스는 멤버 자격 섹션에서 별도로 호출됩니다.

  • 가용성 집합의 경우 가용성 집합 개요 페이지에서 개별 VM의 정렬에 대한 정보를 볼 수 있습니다.

  • 확장 집합의 경우 개별 인스턴스의 정렬에 대한 정보는 확장 집합에 대한 개요 페이지의 인스턴스 탭에서 볼 수 있습니다.

리소스 다시 정렬

근접 배치 그룹이 Not Aligned인 경우 중지/할당 취소한 다음 영향을 받는 리소스를 다시 시작할 수 있습니다. VM이 가용성 집합 또는 확장 집합에 있는 경우 가용성 집합 또는 확장 집합의 모든 VM을 먼저 중지/할당 취소한 후 다시 시작해야 합니다.

배포 제약 조건으로 인해 할당 오류가 발생한 경우 먼저 영향을 받는 근접 배치 그룹(정렬된 리소스 포함)의 모든 리소스를 중지/할당 취소한 다음, 다시 시작하여 정렬을 복원해야 할 수 있습니다.

모범 사례

  • 대기 시간이 가장 짧은 경우 근접 배치 그룹을 가속화된 네트워킹과 함께 사용합니다. 자세한 내용은 가속화된 네트워킹을 사용하여 Linux 가상 머신 만들기 또는 가속 네트워킹을 사용하여 Windows 가상 머신 만들기를 참조하세요.
  • 모든 VM 크기를 단일 템플릿으로 배포합니다. 필요한 모든 VM SKU 및 크기를 지원하지 않는 하드웨어를 사용하지 않도록 하려면 모든 애플리케이션 계층을 단일 템플릿에 포함하여 동시에 배포되도록 합니다.
  • PowerShell, CLI 또는 SDK를 사용하여 배포를 스크립팅하는 경우 할당 오류 OverconstrainedAllocationRequest가 발생할 수 있습니다. 이 경우 기존 VM을 모두 중지/할당 취소하고 실패한 VM SKU/크기로 시작하도록 배포 스크립트의 시퀀스를 변경해야 합니다.
  • VM을 삭제한 기존 배치 그룹을 다시 사용하는 경우 VM을 추가하기 전에 삭제가 완전히 완료될 때까지 기다립니다.
  • 대기 시간이 첫 번째 우선 순위인 경우 VM을 근접 배치 그룹에 배치하고 전체 솔루션을 가용성 영역에 배치합니다. 그러나 복원력이 최우선인 경우에는 여러 가용성 영역에 인스턴스를 분산하세요(단일 근접 배치 그룹은 여러 영역에 걸쳐 있을 수 없음).

근접 배치 그룹 만들기

New-AzProximityPlacementGroup cmdlet을 사용하여 근접 배치 그룹을 만듭니다.

$resourceGroup = "myPPGResourceGroup"
$location = "East US"
$ppgName = "myPPG"
New-AzResourceGroup -Name $resourceGroup -Location $location
$ppg = New-AzProximityPlacementGroup `
   -Location $location `
   -Name $ppgName `
   -ResourceGroupName $resourceGroup `
   -ProximityPlacementGroupType Standard

근접 배치 그룹 나열

Get-AzProximityPlacementGroup cmdlet을 사용하여 모든 근접 배치 그룹을 나열할 수 있습니다.

Get-AzProximityPlacementGroup

근접 배치 그룹에서 확장 집합 만들기

Important

2023년 11월부터 PowerShell 및 Azure CLI를 사용하여 만들어진 VM Scale Sets는 오케스트레이션 모드가 지정되지 않은 경우 기본적으로 유연한 오케스트레이션 모드로 설정됩니다. 이 변경 내용과 취해야 할 작업에 대한 자세한 내용은 VMSS PowerShell/CLI 고객을 위한 호환성이 손상되는 변경 - Microsoft 커뮤니티 허브를 참조하세요.

New-AzVMSS를 사용하여 확장 집합을 만들 경우 -ProximityPlacementGroup $ppg.Id로 근접 배치 그룹 ID를 참조하여 근접 배치 그룹에 확장 집합을 만듭니다.

$scalesetName = "myVM"

New-AzVmss `
  -ResourceGroupName $resourceGroup `
  -Location $location `
  -OrchestrationMode "Uniform" `
  -VMScaleSetName $scalesetName `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -ProximityPlacementGroup $ppg.Id

Get-AzProximityPlacementGroup을 사용하여 배치 그룹에서 인스턴스를 볼 수 있습니다.

  Get-AzProximityPlacementGroup `
   -ResourceId $ppg.Id | Format-Table `
   -Wrap `
   -Property VirtualMachineScaleSets

다음 단계

또한 Azure CLI를 사용하여 근접 배치 그룹을 만들 수도 있습니다.