가상 머신 확장 집합의 기능 및 이점

완료됨

Azure Virtual Machine Scale Sets는 일련의 가상 머신(VM)에서 애플리케이션을 실행하는 확장성 있는 방법을 제공합니다. 확장 집합의 VM은 구성이 모두 동일하며 동일한 애플리케이션을 실행하거나 구성이 다르고 다른 애플리케이션을 실행할 수 있습니다. 수요가 증가하면 확장 집합에서 실행되는 VM의 수도 늘어납니다. 수요가 줄어들면 초과 VM을 제거할 수 있습니다. 가상 머신 확장 집합은 컴퓨팅 워크로드, 빅 데이터 워크로드, 컨테이너 워크로드가 포함된 시나리오에 적합합니다.

예시 시나리오에서 고객은 회사의 웹 사이트 중 하나를 사용하여 배송 상태를 관리하고 확인합니다. 웹 사이트는 전 세계에서 액세스되므로 하루 중 특정 시간의 부하를 예측하기 어려울 수 있습니다. 또한 연말연시 휴일이 낀 12월에는 부하가 늘어나는 등 계절별로 부하가 바뀔 수도 있습니다. 부하 변동을 처리하고 고객 요청에 대한 응답 시간을 짧게 유지하기 위해 가상 머신 확장 집합을 사용하기로 결정한다고 생각해 보세요.

이 단원에서는 가상 머신 확장 집합의 기능을 살펴봅니다. 이 단원을 마치면 확장 집합의 작동 방식을 설명할 수 있습니다. 확장 집합이 스케일 아웃 및 스케일 업 시나리오를 지원하는 방법을 알아보고 자동 크기 조정 및 일정 기반 크기 조정을 사용하여 확장 집합에 사용할 수 있는 리소스를 조정하는 방법을 알아봅니다.

가상 머신 확장 집합이란?

Azure의 가상 머신 확장 집합을 사용하면 부하가 분산된 여러 VM을 배포하고 관리할 수 있습니다. 가상 머신 확장 집합은 지능적이므로 VM 인스턴스 수를 자동으로 확장 또는 축소할 수 있습니다.

확장 또는 축소 활성화에 사용되는 기준은 사용자 지정된 일정 또는 실제 수요와 사용량에 따라 달라질 수 있습니다. 확장 집합은 하나의 VM 그룹에 동시에 동일한 구성을 적용할 수 있습니다. 사용자가 원치 않으면 인스턴스를 개별적으로 직접 구성할 필요가 없습니다.

확장 집합은 부하 분산 장치를 사용하여 여러 VM 인스턴스에 요청을 분산합니다. 상태 프로브나 애플리케이션 상태 확장을 사용하여 각 인스턴스의 가용성을 확인합니다. 상태 프로브 또는 애플리케이션 상태 확장은 인스턴스를 ping합니다. 인스턴스가 응답하면 확장 집합은 인스턴스를 사용할 수 있음을 알 수 있고, ping이 실패하거나 시간 초과되면 인스턴스를 사용할 수 없다는 것을 알고 해당 인스턴스에 요청을 보내지 않습니다.

가상 머신 확장 집합은 Azure에서 Linux 및 Windows VM을 모두 지원하며 단일 확장 집합에서 최대 1,000개의 VM을 실행할 수 있습니다.

수요가 달라지거나 예측할 수 없는 대규모 워크로드를 처리하는 경우 확장 집합은 훌륭한 솔루션입니다. Virtual Machine Scale Sets는 수요에 따라 확장할 수 있고 부하가 분산된 가상 머신을 제공합니다. 고가용성 환경을 자동으로 제공합니다.

확장 집합의 크기 조정 옵션

확장 집합은 비용 효율성을 고려하여 설계되었습니다. 필요한 경우에만 새 VM 인스턴스가 생성됩니다.

수요에 따라 확장 집합에 있는 가상 머신의 수를 늘리거나 줄여야 하는 경우가 있습니다. 예를 들어 수요가 적은 주 또는 날에는 일부 가상 머신을 실행하지 않아도 됩니다. 인스턴스 개수를 늘리거나 줄임으로써 수동으로 확장 집합의 VM 수를 조정할 수 있습니다. 많은 경우, 규칙을 사용하여 VM을 자동으로 추가하거나 제거하는 것이 좋습니다. 이러한 규칙은 메트릭을 기반으로 하며, 수요 또는 일정에 따라 적절한 수의 VM이 추가되도록 합니다.

확장 집합 크기 조정

가상 머신 확장 집합은 워크로드 변동에 따라 VM을 빠르게 만들고 관리해야 한다는 요구 사항을 해결합니다. 확장 집합에 다음과 같은 두 가지 유형의 크기 조정을 구성할 수 있습니다.

  • 예약 크기 조정: 트래픽 급증을 수용할 수 있도록 확장 집합이 하나 이상의 인스턴스를 배포한 다음 트래픽 급증이 끝나면 다시 축소하도록 사전에 예약할 수 있습니다.

  • 자동 크기 조정: 워크로드가 가변적이어서 예약이 어려운 경우, 메트릭 기반 임계값 크기 조정을 사용할 수 있습니다. 자동 크기 조정은 노드 사용량에 따라 확장합니다. 그런 다음 리소스가 기준선으로 돌아오면 다시 축소합니다.

두 가지 옵션 모두 크기 조정 요구 사항을 처리하면서 관련 비용을 관리합니다. 다음 예에서는 각 크기 조정 유형을 사용할 수 있는 시나리오에 대해 설명합니다.

예약 크기 조정

대형 음식 배달 회사의 DevOps 팀에서 근무한다고 가정해 보세요. 금요일 밤은 일반적으로 가장 바쁜 시간입니다. 반대로 수요일 오전 7시는 일반적으로 가장 조용한 시간입니다.

Azure에서는 리소스 사용량을 기준으로 요금이 청구되므로 필요하지 않은 서비스는 실행하지 않는 것이 좋습니다. 금요일 저녁의 수요에 맞추기 위해 100개의 웹 서버가 필요하다면 기꺼이 그 요금을 지불할 용의가 있습니다. 하지만 수요일 아침에는 서버가 2개만 필요하므로 나머지 98개의 유휴 서버의 요금을 지불하는 것이 아깝습니다. 비용을 관리하면서도 운영 요구 사항을 충족하기 위해서는 예약 크기 조정을 사용하는 것이 좋습니다.

자동 크기 조정

인기 있는 신발 회사의 DevOps 팀에서 근무한다고 가정해 보세요. 제품 출시가 다가오면서 서비스에 대한 상당한 수요가 있다고 예상합니다. 하지만 수요 급증은 예측이 불가능하고 수량화하기 어렵습니다. 현재 리소스를 사용하면서 수평적으로 크기를 조정하여 서비스를 수요에 맞추려 합니다.

이 시나리오에서는 메트릭 기반 자동 스케일링을 사용할 수 있습니다. 이 유형의 자동 크기 조정은 수요가 늘어나면 인프라를 확장하고, 수요가 줄어들면 다시 축소합니다.

스폿 가상 머신을 사용하여 비용 절감

Azure Spot Virtual Machines를 사용하면 대폭 절감된 비용으로 사용되지 않은 용량을 활용할 수 있습니다. Azure에서 용량을 다시 필요로 하는 경우 언제든지 Azure 인프라는 Azure Spot Virtual Machines를 제거합니다. 따라서 이러한 VM은 일괄 처리 작업, 개발/테스트 환경, 대규모 컴퓨팅 작업 등과 같은 중단을 처리할 수 있는 워크로드에 매우 적합합니다.

사용 가능한 용량의 크기는 크기, 지역, 하루 중 시간 및 기타 요인에 따라 달라질 수 있습니다. Azure Spot Virtual Machines를 배포할 때 Azure에서는 사용 가능한 용량이 있는 경우 VM을 할당하지만 이러한 VM에 대한 SLA는 없습니다. Azure 스폿 가상 머신은 고가용성을 보장하지 않습니다. Azure에서 용량을 다시 필요로 하는 경우 언제든지 Azure 인프라는 30초 전에 Azure Spot Virtual Machines를 제거합니다.

Azure에 컴퓨팅 성능이 다시 필요한 경우 확장 집합에서 제거될 VM Azure에 대한 알림을 받습니다. VM에서 코드를 정리하거나 정상적으로 종료해야 하는 경우, Azure Scheduled Events를 사용하여 해당 VM 내에서 알림에 반응하면 됩니다. 확장 집합이 다른 VM을 만들어 제거될 VM을 대체하도록 할 수도 있습니다. 단, 새 VM이 만들어진다는 보장은 없습니다.

Azure Spot Virtual Machines를 사용하면 제거 정책을 설정하여 두 가지 종류의 제거를 지정할 수 있습니다.

  • 할당 취소 정책(기본값): VM이 중지됩니다. 처리 및 메모리 리소스가 할당 취소됩니다. 디스크는 그대로 유지되고 데이터도 유지됩니다. VM이 실행되지 않는 동안 디스크 공간에 대한 요금이 청구됩니다.
  • 정책 삭제: 모든 기본 디스크를 포함하여 VM 전체가 제거되므로 스토리지 요금이 계속 청구되지 않습니다.

Azure Spot Virtual Machines는 실행 중 중단이 발생하는 워크로드를 실행할 때나 훨씬 저렴한 비용으로 대규모 VM을 사용해야 하는 경우에 유용합니다. VM이 제거되는 시기를 제어할 수 없다는 점을 명심하세요.