고가용성 및 비용 절감을 위한 Spot Priority Mix
적용 대상: ✔️ 유연한 확장 집합
Azure를 사용하면 Virtual Machine Scale Set 배포를 위해 중단할 수 없는 표준 VM과 중단할 수 있는 스폿 VM을 혼합하여 실행할 수 있는 유연성을 확보할 수 있습니다. 유연한 오케스트레이션을 사용하여 이 스폿 우선 순위 혼합을 배포하여 워크로드 요구 사항에 따라 고용량 가용성과 낮은 인프라 비용 간에 쉽게 균형을 맞출 수 있습니다. 이 기능을 사용하면 확장 집합 기능을 쉽게 관리하여 다음을 달성할 수 있습니다.
- 스폿 VM의 대폭 할인을 적용하여 컴퓨팅 인프라 비용 절감
- 확장 집합 배포에서 중단할 수 없는 표준 VM을 통해 용량 가용성 유지
- 인프라가 제거된 용량에 대응하고 복구할 시간이 있기 전에 제거로 인해 모든 VM이 동시에 제거되지 않는다는 확신 제공
- Azure에서 VM 만들기 및 삭제를 오케스트레이션하도록 하여 스폿 및 표준 VM이 모두 필요한 컴퓨팅 워크로드의 스케일 아웃 및 스케일 인 간소화
제한 사항
확장 집합에서 singlePlacementMode
가 사용하도록 설정된 경우 스폿 우선 순위 혼합이 지원되지 않습니다.
혼합 구성
스폿 및 표준 VM에서 사용자 지정 백분율 분포를 구성할 수 있습니다. 플랫폼은 만들거나 삭제할 적절한 수의 VM을 선택하여 원하는 배포를 달성하기 위해 각 스케일 아웃 및 스케일 인 작업을 자동으로 오케스트레이션합니다. 확장 작업 중에 Virtual Machine Scale Set에서 유지할 기본 표준 VM의 수를 선택적으로 구성할 수도 있습니다.
스폿 VM의 제거 정책은 확장 집합의 스폿 VM에 대해 설정된 정책을 따릅니다. 할당 취소는 제거된 스팟 VM이 중지-할당 취소 상태로 이동하는 기본 동작입니다. 또는 스폿 제거 정책을 삭제로 설정할 수 있습니다. 여기서 VM 및 해당 기본 디스크는 삭제됩니다.
규모 감축 정책
스폿 우선 순위 혼합을 사용하는 경우 확장 집합에 대한 스케일 인 정책은 확장 집합에서 스폿 및 표준 VM의 백분율 분할을 유지하려고 작동합니다. 스폿 우선 순위 믹스는 가장 오래되거나 최신 VM을 삭제하는 대신 비율 분할을 유지하기 위해 스케일 인 작업 중에 스폿 또는 표준 VM을 제거해야 하는지 결정합니다.
ARM 템플릿
ARM 템플릿으로 스폿 우선 순위 혼합을 설정하여 스폿 우선 순위 VM 프로필을 사용하는 유연한 오케스트레이션을 통해 확장 집합에 다음 속성을 추가할 수 있습니다.
"priorityMixPolicy": {
"baseRegularPriorityCount": 0,
"regularPriorityPercentageAboveBase": 50
},
매개 변수:
baseRegularPriorityCount
– 표준, 일반 우선 순위인 기본 VM 수를 지정합니다. 확장 집합 용량이 이 수치 이하이면 모든 VM이 일반 우선 순위가 됩니다.regularPriorityPercentageAboveBase
– 확장 집합 용량이 baseRegularPriorityCount를 초과할 때 사용되는 일반 및 스폿 우선 순위 VM의 백분율 분할을 지정합니다.
Azure Portal에 있는 Virtual Machine Scale Sets 만들기 프로세스의 스폿 탭에서 스폿 우선 순위 혼합을 설정할 수 있습니다. 다음 단계에서는 해당 프로세스 중에 이 기능에 액세스하는 방법을 설명합니다.
- Azure Portal에 로그인합니다.
- 검색 창에서 가상 머신 확장 집합을 검색하고 선택합니다.
- Virtual Machine Scale Sets 페이지에서 만들기를 선택합니다.
- 기본 탭에서 필수 필드를 입력하고, 오케스트레이션 모드로 유연한을 선택하고, Azure Spot 할인으로 실행 확인란을 선택합니다.
- 스폿 탭에서 VM 및 할인된 스폿 VM으로 확장 섹션 아래의 VM 및 스폿 VM으로 확장 옵션 옆에 있는 확인란을 선택합니다.
- 기본 VM(무중단) 수 및 인스턴스 배포 필드를 작성하여 스폿 VM과 표준 VM 간의 백분율 분할을 구성합니다.
- Virtual Machine Scale Set 만들기 프로세스를 계속 진행합니다.
스폿 우선 순위 혼합 업데이트
스폿 및 표준 VM의 이상적인 백분율 분할이 변경되면 확장 집합이 배포된 후 스폿 우선 순위 혼합을 업데이트할 수 있습니다. 스폿 우선 순위 혼합 업데이트는 변경 후 모든 확장 집합 작업에 적용되며 기존 VM은 그대로 유지됩니다.
Azure Portal에 있는 Virtual Machine Scale Set 리소스 페이지의 구성 탭에서 기존 스폿 우선 순위 혼합을 업데이트할 수 있습니다. 다음 단계에서는 해당 프로세스 중에 이 기능에 액세스하는 방법을 설명합니다. 참고: Portal에서는 이미 스폿 우선 순위 혼합이 사용하도록 설정된 확장 집합에 대해서만 스폿 우선 순위 혼합을 업데이트할 수 있습니다.
Azure Portal에 있는 Virtual Machine Scale Set 리소스 페이지의 구성 탭에서 기존 스폿 우선 순위 혼합을 업데이트할 수 있습니다. 다음 단계에서는 해당 프로세스 중에 이 기능에 액세스하는 방법을 설명합니다. 참고: Portal에서는 이미 스폿 우선 순위 혼합이 사용하도록 설정된 확장 집합에 대해서만 스폿 우선 순위 혼합을 업데이트할 수 있습니다.
- 스폿 우선 순위 혼합을 조정하는 특정 가상 머신 확장 집합으로 이동합니다.
- 왼쪽 사이드바에서 아래로 스크롤하여 구성을 선택합니다.
- 현재 스폿 우선 순위 혼합이 표시되어야 합니다. 여기에서 스폿 및 표준 VM의 기본 VM(무중단) 수 및 인스턴스 배포를 변경할 수 있습니다.
- 필요에 따라 스폿 혼합을 업데이트합니다.
- 저장 단추를 눌러 변경 내용을 적용합니다.
예제
다음 예제에는 Spot Priority Mix 구성의 작동 방식을 이해하는 데 도움이 되는 시나리오 가정, 작업 테이블 및 결과 연습이 있습니다.
다음 예제를 참조하기 전에 주의해야 할 몇 가지 중요한 용어는 다음과 같습니다.
- sku.capacity는 Virtual Machine Scale Set의 총 VM 수입니다.
- 기본(표준) VM은 최소 VM 수와 유사한 표준 비 스폿 VM의 수입니다.
시나리오 1
다음 시나리오 가정은 이 예제에 적용됩니다.
- sku.capacity는 자동 크기 조정이 확장 집합에서 VM을 추가하거나 제거하기 때문에 가변적입니다.
- 기본(표준) VM: 10
- 추가 표준 VM: 0
- 스폿 우선 순위 VM: 0
- regularPriorityPercentageAboveBase: 50%
- 제거 정책: 삭제
작업 | sku.capacity | 기본(표준) VM | 추가 표준 VM | 스폿 우선 순위 VM |
---|---|---|---|---|
만들기 | 10 | 10 | 0 | 0 |
확장 | 20 | 10 | 5 | 5 |
확장 | 30 | 10 | 10 | 10 |
확장 | 40 | 10 | 15 | 15 |
확장 | 41 | 10 | 15 | 16 |
확장 | 42 | 10 | 16 | 16 |
스케일 인 - 제거-삭제(모든 스폿 인스턴스) | 26 | 10 | 16 | 0 |
확장 | 30 | 10 | 16 | 4 |
확장 | 42 | 10 | 16 | 16 |
확장 | 44 | 10 | 17 | 17 |
예제 연습:
- VM이 10개인 Virtual Machine Scale Set로 시작합니다.
sku.capacity
는 변수이며 VM의 시작 수를 설정하지 않습니다. 기본 VM은 10으로 설정되므로 총 시작 VM 수는 10개의 기본(표준) VM에 불과합니다.
- 그런 다음, 표준 VM 50%와 스폿 VM 50%를 사용하여 5회 스케일 아웃합니다.
- 50/50 분할이 있기 때문에 네 번째 스케일 아웃에는 표준 VM보다 스폿 VM이 하나 더 있습니다. 다시 스케일 아웃(5번째 스케일 아웃)되면 또다른 표준 VM으로 50/50 균형이 복원됩니다.
- 그런 다음, 모든 스폿 VM을 삭제하는 제거-삭제 제거 정책을 사용하여 확장 집합의 크기를 조정합니다.
- 이 시나리오에서 언급한 스케일 아웃 작업을 사용하면 스폿 VM만 만들어 확장 집합에서 50/50 균형을 복원할 수 있습니다.
- 마지막 스케일 아웃까지 확장 집합이 이미 균형을 이루므로 각 VM 유형 중 하나가 만들어집니다.
시나리오 2
다음 시나리오 가정은 이 예제에 적용됩니다.
- sku.capacity는 20부터 시작하는 자동 크기 조정기에서 정의한 변수입니다.
- 기본(표준) VM: 10
- 추가 표준 VM: 2
- 스폿 우선 순위 VM: 8
- regularPriorityPercentageAboveBase: 25%
- 제거 정책: 할당 취소
작업 | sku.capacity | 기본(표준) VM | 추가 표준 VM | 스폿 우선 순위 VM |
---|---|---|---|---|
만들기 | 20 | 10 | 2 | 8 |
확장 | 50 | 10 | 10 | 30 |
확장 | 110 | 10 | 25 | 75 |
스케일 인: 중지-할당 취소(10개 인스턴스) | 100 | 10 | 25 | 75개(실행 중인 VM 65개, 중지-할당 취소된 VM 10개) |
확장 | 120 | 10 | 27 | 83개(실행 중인 VM 73개, 중지-할당 취소된 VM 10개) |
예제 연습:
- Virtual Machine Scale Set 및 Spot Priority Mix를 처음 만들면 20개의 VM이 있습니다.
- 이러한 VM 중 10개는 기본(표준) VM, 2개의 추가 표준 VM 및 25% regularPriorityPercentageAboveBase에 대한 8개의 스폿 우선 순위 VM입니다.
- 이 비율을 살펴보는 또 다른 방법은 확장 집합에 있는 4개의 스폿 VM마다 1개의 표준 VM이 있다는 것입니다.
- 그런 다음, 두 번 스케일 아웃하여 90개의 VM을 더 만듭니다. 23개의 표준 VM 및 67개의 스폿 VM입니다.
- 10개의 VM으로 스케일 인하면 10개의 스폿 VM이 중지-할당 취소되어 확장 집합에 불균형이 발생합니다.
- 다음 스케일 아웃 작업은 또 다른 2개의 표준 VM과 8개의 스폿 VM을 만들어 기본 비율에 25% 이상 더 가까워집니다.
문제 해결
스폿 우선 순위 혼합을 사용할 수 없는 경우 virtualMachineProfile
에서 스폿 우선 순위를 지정하도록 priorityMixPolicy
를 구성해야 합니다. priorityMixPolicy
설정을 사용하도록 설정하지 않으면 이 스폿 기능에 액세스할 수 없습니다.
FAQ
Q: 스폿 우선 순위 혼합 설정을 변경했는데 기존 VM이 변경되지 않는 이유는 무엇인가요?
스폿 우선 순위 혼합은 확장 집합의 크기 조정 작업에 적용됩니다. 스폿 및 표준 VM의 백분율 분할을 변경해도 기존 확장 집합의 균형이 다시 조정되지 않습니다. 확장 집합의 크기를 조정하면 실제 백분율 분할 변경 내용이 표시됩니다.
Q: 균일 오케스트레이션 모드에 스폿 우선 순위 혼합이 사용하도록 설정되어 있나요?
스폿 우선 순위 혼합은 유연한 오케스트레이션 모드를 사용하는 Virtual Machine Scale Sets에서만 사용할 수 있습니다.
Q: 스폿 우선 순위 혼합을 사용할 수 있는 지역은 어디인가요?
스폿 VM 및 스폿 우선 순위 혼합은 전 세계 모든 Azure 지역에서 사용할 수 있습니다.