Azure Monitor 자동 크기 조정 문제 해결

Azure Monitor 자동 크기 조정을 사용하면 애플리케이션의 부하를 처리하기 위해 적절한 양의 리소스가 실행되도록 할 수 있습니다. 이를 통해 부하 증가를 처리하는 리소스를 추가하고 유휴 상태인 리소스를 제거하여 비용을 절감할 수 있습니다. 일정, 고정 날짜-시간 또는 선택한 리소스 메트릭에 따라 크기를 조정할 수 있습니다. 자세한 내용은 자동 크기 조정 개요를 참조하세요.

자동 크기 조정 서비스는 발생한 크기 조정 작업 및 해당 작업으로 이어진 조건의 평가를 이해하는 데 도움이 되는 메트릭과 로그를 제공합니다. 다음과 같은 질문에 대한 답변을 찾을 수 있습니다.

  • 내 서비스가 스케일 아웃 또는 스케일 인된 이유는 무엇인가요?
  • 내 서비스가 확장되지 않은 이유는 무엇인가요?
  • 자동 크기 조정 작업이 실패한 이유는 무엇인가요?
  • 자동 크기 조정 작업의 스케일링에 시간이 걸리는 이유는 무엇인가요?

Flex Virtual Machine Scale Sets

자동 크기 조정 크기 조정 작업은 특정 Virtual Machine 작업 집합에 대한 Flex Microsoft.Compute/virtualMachineScaleSets(VMSS) 리소스에 수동 크기 조정 작업이 적용된 후 최대 몇 시간까지 지연됩니다.
예를 들어 Azure VM CLI 삭제 또는 개별 VM에서 작업이 수행되는 Azure VM Rest API Delete 가 있습니다.

이러한 경우 자동 크기 조정 서비스는 개별 VM 작업을 인식하지 못합니다.

이 시나리오를 방지하려면 Virtual Machine Scale Set 수준에서 동일한 작업을 사용합니다. 예를 들어 Azure VMSS CLI Delete 인스턴스 또는 Azure VMSS Rest API Delete Instance가 있습니다. 자동 크기 조정은 Virtual Machine Scale Set의 인스턴스 수 변경을 검색하고 적절한 크기 조정 작업을 수행합니다.

자동 크기 조정 메트릭

자동 크기 조정은 작업을 이해하는 네 가지 메트릭을 제공합니다.

  • 관찰된 메트릭 값: 자동 크기 조정 엔진에서 보거나 계산한 대로 크기 조정 작업을 수행하도록 선택한 메트릭의 값입니다. 단일 자동 크기 조정 설정에는 여러 규칙과 여러 메트릭 원본이 있을 수 있으므로 차원으로 "메트릭 원본"을 사용하여 필터링할 수 있습니다.
  • 메트릭 임계값: 크기 조정 작업을 수행하도록 설정한 임계값입니다. 단일 자동 크기 조정 설정에는 여러 규칙과 여러 메트릭 원본이 있을 수 있으므로 차원으로 "메트릭 규칙"을 사용하여 필터링할 수 있습니다.
  • 관찰된 용량: 자동 크기 조정 엔진에서 볼 수 있는 대상 리소스의 활성 인스턴스 수입니다.
  • 크기 조정 작업 시작: 자동 크기 조정 엔진에서 시작한 스케일 아웃 및 스케일 인 작업의 수입니다. 스케일 아웃 및 스케일 인 작업별로 필터링할 수 있습니다.

메트릭 탐색기를 사용하여 이전 메트릭을 모두 한 곳에서 차트로 표시할 수 있습니다. 차트에 다음이 표시됩니다.

  • 실제 메트릭입니다.
  • 자동 크기 조정 엔진에서 보거나 계산한 메트릭입니다.
  • 크기 조정 작업에 대한 임계값입니다.
  • 용량 변경.

예제 1: 자동 크기 조정 규칙 분석

가상 머신 확장 집합에 대한 자동 크기 조정 설정:

  • 집합의 평균 CPU 비율이 10분 동안 70%를 초과하면 확장됩니다.
  • 집합의 CPU 비율이 10분 이상 5% 미만이면 크기가 조정됩니다.

자동 크기 조정 서비스의 메트릭을 검토해 보겠습니다.

다음 차트에서는 가상 머신 확장 집합에 대한 CPU 백분율 메트릭을 보여 줍니다.

Screenshot that shows a virtual machine scale set percentage CPU example.

다음 차트는 자동 크기 조정 설정에 대한 관찰된 메트릭 값 메트릭을 보여 주는 차트입니다.

Screenshot that shows another virtual machine scale set percentage CPU example.

마지막 차트는 메트릭 임계값관찰된 용량 메트릭을 보여 줍니다. 스케일 아웃 규칙의 맨 위에 있는 메트릭 임계값 메트릭은 70입니다. 아래쪽의 관찰된 용량 메트릭은 현재 3인 활성 인스턴스 수를 보여 줍니다.

Screenshot that shows Metric Threshold and Observed Capacity.

참고 항목

메트릭 트리거 규칙 차원 스케일 아웃(증가) 규칙을 기준으로 메트릭 임계값을 필터링하여 스케일 아웃 임계값과 스케일 인 규칙(감소)을 확인할 수 있습니다.

예제 2: 가상 머신 확장 집합에 대한 고급 자동 크기 조정

자동 크기 조정 설정을 사용하면 자체 아웃바운드 흐름 메트릭에 따라 가상 머신 확장 집합 리소스를 스케일 아웃할 수 있습니다 . 메트릭 임계값에 대한 인스턴스 수별 메트릭 나누기 옵션이 선택됩니다.

크기 조정 작업 규칙은 인스턴스당 아웃바운드 흐름 값이 10보다 크면 자동 크기 조정 서비스가 1개의 인스턴스로 확장되어야 합니다.

이 경우 자동 크기 조정 엔진의 관찰된 메트릭 값은 실제 메트릭 값으로 인스턴스 수로 나눈 값으로 계산됩니다. 관찰된 메트릭 값이 임계값보다 작으면 스케일 아웃 작업이 시작되지 않습니다.

다음 스크린샷은 두 개의 메트릭 차트를 보여 줍니다.

평균 아웃바운드 흐름 차트에는 아웃바운드 흐름 메트릭의 값이 표시됩니다. 실제 값은 6입니다.

Screenshot that shows the Average Outbound Flows page with an example of a virtual machine scale set autoscale metrics chart.

다음 차트에는 몇 가지 값이 표시됩니다.

  • 중간에 관찰된 메트릭 값 메트릭은 활성 인스턴스가 2개 있고 6을 2로 나눈 값이 3이므로 3입니다.
  • 아래쪽의 관찰된 용량 메트릭은 자동 크기 조정 엔진에서 볼 수 있는 인스턴스 수를 보여 줍니다.
  • 맨 위에 있는 메트릭 임계값 메트릭은 10으로 설정됩니다.Screenshot that shows a virtual machine scale set autoscale metrics charts example.

크기 조정 작업 규칙이 여러 개 있는 경우 메트릭 탐색기 차트에서 분할 또는 필터 추가 옵션을 사용하여 특정 원본 또는 규칙별로 메트릭을 볼 수 있습니다. 메트릭 차트 분할에 대한 자세한 내용은 메트릭 차트의 고급 기능인 분할을 참조 하세요.

예제 3: 자동 크기 조정 이벤트 이해

자동 크기 조정 설정 화면에서 실행 기록 탭으로 이동하여 가장 최근의 스케일링 작업을 확인합니다. 또한 시간에 따른 관찰된 용량의 변경 내용도 탭에 표시됩니다. 자동 크기 조정 설정 업데이트/삭제와 같은 작업을 포함하여 모든 자동 크기 조정 작업에 대한 자세한 내용을 찾으려면 작업 로그를 보고 자동 크기 조정 작업을 기준으로 필터링합니다.

Screenshot that shows autoscale settings run history.

리소스 로그 자동 크기 조정

자동 크기 조정 서비스는 리소스 로그를 제공합니다. 로그에는 다음 두 가지 범주가 있습니다.

  • 자동 스케일링 평가: 자동 스케일링 엔진은 검사를 수행할 때마다 모든 단일 조건 평가에 대한 로그 항목을 기록합니다. 항목에는 관찰된 메트릭 값에 대한 세부 정보, 평가된 규칙, 평가 결과가 스케일링 작업인지 여부가 포함됩니다.
  • 자동 크기 조정 크기 조정 작업: 엔진은 자동 크기 조정 서비스에서 시작한 크기 조정 작업 이벤트와 해당 크기 조정 작업의 결과(성공, 실패 및 자동 크기 조정 서비스에서 볼 수 있는 크기 조정이 발생한 양)를 기록합니다.

Azure Monitor 지원 서비스와 마찬가지로 진단 설정을 사용하여 이러한 로그를 다음으로 라우팅할 수 있습니다.

  • 자세한 분석을 위한 Log Analytics 작업 영역입니다.
  • Azure Event Hubs를 사용한 다음 비 Azure 도구로 이동합니다.
  • 보관을 위한 Azure Storage 계정입니다.

Screenshot that shows autoscale diagnostic settings.

위의 스크린샷은 Azure Portal 자동 크기 조정 진단 설정 창을 보여줍니다. 진단/리소스 로그 탭을 선택하고 로그 수집 및 라우팅을 사용하도록 설정할 수 있습니다. 리소스 유형을 Microsoft.Insights/Autoscale설정 선택하여 진단 설정에 REST API, Azure CLI, PowerShell 및 Azure Resource Manager 템플릿을 사용하여 동일한 작업을 수행할 수도 있습니다.

자동 크기 조정 로그를 사용하여 문제 해결

최상의 문제 해결 환경을 위해 자동 크기 조정 설정을 만들 때 작업 영역을 통해 로그를 Azure Monitor 로그(Log Analytics)로 라우팅하는 것이 좋습니다. 이 프로세스는 이전 섹션의 스크린샷에 표시됩니다. Log Analytics를 사용하여 평가의 유효성을 검사하고 작업의 크기를 조정할 수 있습니다.

Log Analytics 작업 영역으로 전송되도록 자동 크기 조정 로그를 구성한 후 다음 쿼리를 실행하여 로그를 검사 수 있습니다.

시작하려면 이 쿼리를 사용하여 가장 최근의 자동 크기 조정 평가 로그를 확인합니다.

AutoscaleEvaluationsLog
| limit 50

또는 다음 쿼리를 시도하여 가장 최근의 크기 조정 작업 로그를 봅니다.

AutoscaleScaleActionsLog
| limit 50

다음 섹션을 사용하여 이러한 질문에 답변합니다.

예상하지 못한 크기 조정 작업이 발생했습니다.

먼저 크기 조정 작업에 대한 쿼리를 실행하여 관심 있는 크기 조정 작업을 찾습니다. 최신 크기 조정 작업인 경우 다음 쿼리를 사용합니다.

AutoscaleScaleActionsLog
| take 1

CorrelationId 크기 조정 작업 로그에서 필드를 선택합니다. 올바른 평가 로그를 찾는 데 사용합니다 CorrelationId . 다음 쿼리를 실행하면 평가되고 해당 크기 조정 작업으로 이어진 모든 규칙과 조건이 표시됩니다.

AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId>"

크기 조정 작업의 원인은 무엇인가요?

크기 조정된 작업이 발생했지만 규칙과 프로필이 겹치며 작업의 원인을 추적해야 합니다.

CorrelationId 예제 1에 설명된 대로 크기 조정 작업의 값을 찾습니다. 그런 다음 평가 로그에서 쿼리를 실행하여 프로필에 대해 자세히 알아봅니다.

AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId_Guid>"
| where ProfileSelected == true
| project ProfileEvaluationTime, Profile, ProfileSelected, EvaluationResult

다음 쿼리를 사용하여 전체 프로필 평가를 더 잘 이해할 수도 있습니다.

AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName contains == "profileEvaluation"
| project OperationName, Profile, ProfileEvaluationTime, ProfileSelected, EvaluationResult

크기 조정 작업이 발생하지 않음

크기 조정 작업이 예상되었으며 발생하지 않았습니다. 크기 조정 작업 이벤트 또는 로그가 없을 수 있습니다.

메트릭 기반 확장 규칙을 사용하는 경우 자동 크기 조정 메트릭을 검토합니다. 관찰된 메트릭 값 또는 관찰된 용량 값이 예상과 다를 수 있으므로 크기 조정 규칙이 실행되지 않았습니다. 평가는 계속 표시되지만 스케일 아웃 규칙은 표시되지 않습니다. 또한 냉각 시간이 크기 조정 작업이 발생하지 않도록 할 수도 있습니다.

크기 조정 작업이 발생할 것으로 예상한 기간 동안 자동 크기 조정 평가 로그를 검토합니다. 수행된 모든 평가와 크기 조정 작업을 트리거하지 않기로 결정한 이유를 검토합니다.

AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName == "MetricEvaluation" or OperationName == "ScaleRuleEvaluation"
| project OperationName, MetricData, ObservedValue, Threshold, EstimateScaleResult

크기 조정 작업이 실패했습니다.

자동 크기 조정 서비스가 크기 조정 작업을 수행했지만 시스템에서 크기 조정을 하지 않거나 크기 조정 작업을 완료하지 못한 경우가 있을 수 있습니다. 이 쿼리를 사용하여 실패한 크기 조정 작업을 찾습니다.

AutoscaleScaleActionsLog
| where ResultType == "Failed"
| project ResultDescription

자동 크기 조정 작업 또는 실패에 대한 알림을 받는 경고 규칙을 만듭니다. 자동 크기 조정 이벤트에 대한 알림을 받는 경고 규칙을 만들 수도 있습니다.

자동 크기 조정 리소스 로그의 스키마

자세한 내용은 리소스 로그 자동 크기 조정을 참조 하세요.

다음 단계

자동 크기 조정 모범 사례에 대한 정보를 읽습니다.