Azure의 자동 크기 조정 개요
이 문서에서는 Azure Monitor의 자동 크기 조정 기능과 이점에 대해 설명합니다.
자동 크기 조정은 다양한 리소스 종류를 지원합니다. 지원되는 리소스에 대한 자세한 내용은 지원되는 리소스 자동 크기 조정을 참조하세요.
참고 항목
가용성 집합는 지원이 제한된 가상 머신을 위한 이전 확장 기능입니다. 더 빠르고 안정적인 자동 크기 조정 지원을 위해 Azure Virtual Machine Scale Sets로 마이그레이션하는 것이 좋습니다.
자동 크기 조정이란?
Autoscale은 애플리케이션의 부하에 따라 리소스를 자동으로 추가 및 제거할 수 있는 서비스입니다.
애플리케이션에 더 높은 부하가 발생하면 자동 크기 조정은 증가된 부하를 처리하기 위해 리소스를 추가합니다. 부하가 낮으면 자동 크기 조정이 리소스 수를 줄여 비용을 낮춥니다. CPU 사용량, 큐 길이, 사용 가능한 메모리와 같은 메트릭을 기반으로 애플리케이션을 크기 조정할 수 있습니다. 일정에 따라 크기를 조정할 수도 있습니다. 메트릭과 일정은 규칙에서 설정됩니다. 규칙에는 애플리케이션을 실행하는 데 필요한 최소 수준의 리소스와 초과하지 않는 최대 리소스 수준이 포함됩니다.
예를 들어 VM당 평균 CPU 사용량이 70%를 초과하는 경우 VM을 추가하여 애플리케이션을 스케일 아웃합니다. CPU 사용량이 40%로 떨어지면 VM을 제거하여 축소합니다.
규칙의 조건이 충족되면 VM을 추가하거나 제거하는 하나 이상의 자동 크기 조정 작업이 트리거됩니다. 이메일 알림을 보내거나 웹후크를 전송하여 다른 시스템에서 프로세스를 트리거하는 것과 같은 다른 작업을 수행할 수 있습니다.
수평 및 수직적 크기 조정
자동 크기 조정은 스케일 인 및 스케일 아웃 또는 수평으로 확장됩니다. 수평 크기 조정은 리소스 인스턴스 수를 늘리거나 줄이는 수평적 크기 조정입니다. 예를 들어 가상 머신 확장 집합의 경우 스케일 아웃한다는 것은 더 많은 가상 머신을 추가하는 것을 의미합니다. 스케일 인은 가상 머신을 제거하는 것을 의미합니다. 수평적 스케일링은 부하를 처리하기 위해 많은 수의 VM을 실행할 수 있으므로 클라우드 상황에서 유연합니다.
자동 크기 조정은 수직 크기 조정을 지원하지 않습니다. 대조적으로 스케일 업과 스케일 다운 또는 수직적 스케일링은 동일한 수의 리소스 인스턴스를 일정하게 유지하지만 메모리, CPU 속도, 디스크 공간 및 네트워크 측면에서 더 많은 용량을 제공합니다. 수직적 스케일링은 더 큰 하드웨어의 가용성에 따라 제한되며 결국 상한에 도달하게 됩니다. 하드웨어 크기 가용성은 Azure에서 지역별로 다릅니다. 수직적 스케일링은 확장 프로세스 중에 VM을 다시 시작해야 할 수도 있습니다.
규칙의 조건이 충족되면 VM을 추가하거나 제거하는 하나 이상의 자동 크기 조정 작업이 트리거됩니다. 이메일 알림을 보내거나 웹후크를 전송하여 다른 시스템에서 프로세스를 트리거하는 것과 같은 다른 작업을 수행할 수 있습니다.
예측 자동 크기 조정
예측 자동 크기 조정은 기계 학습을 사용하여 주기적인 워크로드 패턴으로 Virtual Machine Scale Sets를 관리하고 확장하는 데 도움이 됩니다. 과거 CPU 사용 패턴을 기반으로 가상 머신 확장 집합의 전체 CPU 부하를 예측합니다. 그런 다음 확장 집합은 예측된 수요를 충족하도록 제 시간에 스케일 아웃될 수 있습니다.
자동 크기 조정 설정
자동 크기 조정은 다음을 통해 설정할 수 있습니다.
리소스 메트릭
리소스는 자동 크기 조정 규칙에서 크기 조정 이벤트를 트리거하는 데 사용되는 메트릭을 생성합니다. 가상 머신 확장 집합은 Azure Diagnostics 에이전트의 원격 분석 데이터를 사용하여 메트릭을 생성합니다. Azure App Service 및 Azure Cloud Services Web Apps 기능에 대한 원격 분석은 Azure 인프라에서 직접 제공됩니다. 일반적으로 사용되는 몇 가지 메트릭에는 CPU 사용량, 메모리 사용량, 스레드 수, 큐 길이 및 디스크 사용량이 포함됩니다. 사용 가능한 메트릭 목록은 일반 메트릭 자동 크기 조정을 참조하세요.
사용자 지정 메트릭
애플리케이션에서 생성하는 고유한 사용자 지정 메트릭을 사용합니다. 메트릭을 Application Insights로 보내도록 애플리케이션을 구성하면 해당 메트릭을 사용하여 크기 조정 시기를 결정할 수 있습니다.
Time
규모 이벤트를 트리거하는 일정 기반 규칙을 설정합니다. 부하의 시간 패턴을 확인하고 예상 부하 변경이 발생하기 전에 조정하려는 경우 일정 기반 규칙을 사용합니다.
규칙
규칙은 스케일링 이벤트를 트리거하는 데 필요한 조건, 스케일링 방향 및 스케일링 기준을 정의합니다. CPU 사용량 및 큐 길이와 같은 다양한 메트릭을 사용하여 여러 규칙을 결합할 수 있습니다. 프로필당 최대 10개의 규칙을 정의합니다.
규칙은 다음과 같을 수 있습니다.
- 메트릭 기반: 메트릭 값을 기반으로 트리거됨(예: CPU 사용량이 50% 이상인 경우).
- 시간 기반: 예를 들어 매주 토요일 오전 8시에 일정을 기준으로 트리거될 수 있습니다.
어느 한 규칙이 충족되면 자동 크기 조정이 확장됩니다. 모든 규칙이 충족될 때만 자동 크기 조정이 확장됩니다. 논리 연산자의 관점에서 OR 연산자는 여러 규칙을 사용하여 스케일 아웃할 때 사용됩니다. AND 연산자는 여러 규칙으로 스케일 인할 때 사용됩니다.
작업 및 자동화
규칙은 하나 이상의 작업을 트리거할 수 있습니다. 작업에는 다음이 포함됩니다.
- 크기 조정 - 리소스를 스케일 인 또는 스케일 아웃합니다.
- 이메일 - 구독 관리자, 공동 관리자 및/또는 기타 이메일 주소로 이메일을 보냅니다.
- 웹후크 - 웹후크를 호출하여 Azure 내부 또는 외부에서 여러 복잡한 작업을 트리거합니다. Azure에서 다음을 수행할 수 있습니다.
- Azure Automation Runbook을 시작합니다.
- Azure 함수를 호출합니다.
- Azure Logic 앱을 트리거합니다.
자동 크기 조정 설정
자동 크기 조정 설정에는 규칙, 제한, 일정 및 알림을 정의하는 크기 조정 조건이 포함됩니다. 설정에서 하나 이상의 스케일링 조건과 하나의 알림 설정을 정의합니다.
자동 크기 조정은 다음 용어와 구조를 사용합니다.
UI | JSON/CLI | 설명 |
---|---|---|
스케일링 조건 | profiles | 메트릭 또는 시간을 기반으로 하는 규칙, 인스턴스 제한 및 일정 컬렉션입니다. 하나 이상의 스케일링 조건 또는 프로필을 정의할 수 있습니다. 자동 크기 조정 설정당 최대 20개의 프로필을 정의합니다. |
규칙 | rules | 크기 조정 작업을 트리거하는 시간 또는 메트릭을 기반으로 하는 조건 집합입니다. 스케일 인 및 스케일 아웃 작업 모두에 대해 하나 이상의 규칙을 정의할 수 있습니다. 프로필당 최대 총 10개의 규칙을 정의합니다. |
인스턴스 제한 | capacity | 각 스케일링 조건 또는 프로필은 해당 프로필에서 실행할 수 있는 인스턴스의 기본, 최대 및 최소 수를 정의합니다. |
예약 | 되풀이 | 자동 크기 조정이 이 크기 조정 조건 또는 프로필을 적용하는 시기를 나타냅니다. 서로 다른 중복 요구 사항을 처리할 수 있는 여러 스케일링 조건을 가질 수 있습니다. 예를 들어, 다른 시간 또는 요일에 대해 다른 스케일링 조건을 가질 수 있습니다. |
알림 | 알림 | 자동 크기 조정 이벤트가 발생할 때 보낼 알림을 정의합니다. 자동 크기 조정은 하나 이상의 이메일 주소를 알리거나 하나 이상의 웹후크를 사용하여 호출할 수 있습니다. JSON에서 여러 웹후크를 구성할 수 있지만 UI에서는 하나만 구성할 수 있습니다. |
구성 가능한 필드 및 설명의 전체 목록은 자동 크기 조정 REST API에서 사용할 수 있습니다.
코드 예제는 다음을 참조하세요.
자동 크기 조정이 지원되는 서비스
자동 크기 조정은 다음 서비스를 지원합니다.
서비스 | 스키마 및 설명서 |
---|---|
Azure Virtual machines 확장 집합 | Azure Virtual Machine Scale Sets를 사용한 자동 크기 조정 개요 |
Azure App Service의 Web Apps 기능 | Web Apps 크기 조정 |
Azure API Management 서비스 | Azure API Management 인스턴스 자동 크기 조정 |
Azure Data Explorer 클러스터 | 변화하는 요구를 수용하기 위해 Azure Data Explorer 클러스터 크기 조정 관리 |
Azure Stream Analytics | 자동 스케일링 스트리밍 단위(미리 보기) |
Azure SignalR Service(프리미엄 계층) | Azure SignalR 서비스의 단위 자동 확장 |
Azure Machine Learning 작업 영역 | 온라인 엔드포인트 자동 스케일링 |
Azure Spring Apps | 애플리케이션에 대한 자동 스케일링 설정 |
Azure Media Services | Media Services의 자동 크기 조정 |
Azure Service Bus | Azure Service Bus 네임스페이스의 메시징 단위 자동 업데이트 |
다음 단계
자동 크기 조정에 대해 자세히 알아보려면 다음 리소스를 참조하세요.