Azure에서 자동 크기 조정 시작

자동 크기 조정은 수요에 따라 애플리케이션 또는 리소스의 크기를 자동으로 조정합니다. 자동 크기 조정을 사용하여 애플리케이션의 수요를 충족할 만큼 충분한 리소스를 프로비전하되, 과도하게 프로비전하거나 불필요한 비용이 발생하지 않도록 하세요.

이 문서에서는 Azure 포털에서 자동 크기 조정 설정을 구성하는 방법을 설명합니다. 연습 과정에서는 App Service 플랜을 사용하지만 Azure Monitor 자동 크기 조정 기능은 많은 리소스 유형을 지원합니다. 자세한 내용은 자동 크기 조정 지원 리소스를 참조하세요.

이 연습에서는 자동 크기 조정을 지원하는 리소스를 검색하고, 메트릭 기반 스케일 아웃 및 스케일 인 규칙을 만들고, 예약된 크기 조정 조건을 추가하고, 실행 기록 및 JSON 구성을 검토합니다.

필수 조건

  • 활성 구독이 있는 Azure 계정. 무료로 계정을 만듭니다.
  • 표준 이상 계층의 App Service 요금제
  • App Service 요금제에 하나 이상의 앱
  • App Service 플랜에 대한 소유자 또는 기여자 역할이나 Microsoft.Insights/autoscaleSettings/* 권한이 있는 사용자 지정 역할.

Azure Monitor 자동 크기 조정은 메트릭 및 일정 규칙을 전체 App Service 계획에 적용하므로 크기 조정은 계획의 모든 앱에 영향을 줍니다.

참고

App Service 자동 크기 조정 은 메트릭 규칙이나 일정 없이 HTTP 트래픽에 따라 개별 앱의 크기를 조정하는 별도의 옵션입니다.

구독에서 자동 크기 조정 설정 검색

자동 크기 조정에 사용할 수 있는 리소스를 검색하려면 다음 단계를 수행합니다.

  1. Azure Portal을 여세요.

  2. 모니터를 검색하고 선택합니다.

  3. 설정에서 자동 크기 조정을 선택하여 자동 크기 조정 및 현재 상태를 지원하는 리소스를 확인합니다.

  4. 필터를 사용하여 구독, 리소스 그룹, 리소스 종류 또는 리소스를 선택합니다.

    자동 크기 조정 및 해당 상태를 사용할 수 있는 리소스를 보여 주는 스크린샷.

    페이지에는 각 리소스의 인스턴스 수와 자동 크기 조정 상태가 표시됩니다. 자동 크기 조정 상태는 다음과 같습니다.

    • 구성되지 않음: 이 리소스에 대해 자동 크기 조정이 아직 설정되지 않았습니다.
    • 활성화: 이 리소스에 대해 자동 크기 조정이 사용됩니다.
    • 비활성화: 이 리소스에 대해 자동 크기 조정을 사용할 수 없습니다.

    App Service 계획의 경우 계획을 열고 설정에서 규모 확장(App Service 계획)을 선택할 수도 있습니다.

    설정에서 스케일 아웃이 선택된 App Service 계획의 스크린샷.

첫 번째 자동 크기 조정 설정 만들기

이 섹션의 단계에 따라 첫 번째 자동 크기 조정 설정을 만듭니다.

  1. Azure Monitor 자동 크기 조정 창을 열고 크기를 조정할 App Service 계획을 선택합니다.

  2. 현재 인스턴스 수는 1입니다. 사용자 지정 자동 크기 조정을 선택합니다.

  3. 생성된 자동 크기 조정 설정 이름리소스 그룹을 검토합니다. 필요한 경우 변경합니다.

    App Service 계획에 대해 선택된 사용자 지정 자동 크기 조정의 스크린샷

  4. 메트릭에 따라 스케일링을 선택합니다.

  5. 규칙 추가를 선택하여 배율 규칙 창을 엽니다.

  6. 새 규칙은 App Service 계획의 CPU 백분율 메트릭이 10분 동안 70% 이상일 때 인스턴스 수를 1씩 늘리는 기본값입니다.

    기본값을 유지하고 추가를 선택합니다.

  7. 첫 번째 스케일 아웃 규칙을 만들었습니다. 모범 사례는 최소한 하나의 스케일인 규칙을 마련하는 것입니다. 다른 규칙을 추가하려면 규칙 추가를 선택합니다.

  8. 연산자보다 작음으로 설정합니다.

  9. 크기 조정 작업을 트리거하는 메트릭 임계값20으로 설정합니다.

  10. 작업다음을 기준으로 개수 줄이기로 설정합니다.

    CPU 임계값이 20%인 App Service 스케일 인 규칙의 스크린샷.

  11. 추가를 선택합니다.

    CPU 사용량에 따라 스케일 아웃 및 스케일 인되는 크기 조정 설정을 구성했지만 여전히 최대 하나의 인스턴스로 제한됩니다. 더 많은 인스턴스를 허용하도록 인스턴스 제한을 변경합니다.

  12. 인스턴스 제한에서 최대값을3으로 설정합니다.

    인스턴스 제한이 1에서 3까지인 App Service 스케일 아웃 및 스케일 인 규칙의 스크린샷.

  13. 저장을 선택합니다.

CPU 사용량에 따라 App Service 계획의 크기를 조정하는 자동 크기 조정 설정을 만들었습니다. CPU 사용량이 70%보다 큰 경우 자동 크기 조정은 인스턴스를 최대 3개까지 추가합니다. CPU 사용량이 20% 미만이면 자동 크기 조정은 인스턴스를 최소 1개까지 제거합니다. 기본 인스턴스 수는 1입니다.

예약된 크기 조정 조건 추가

기본 크기 조정 조건은 다른 크기 조정 조건이 적용되지 않을 때 활성화되는 크기 조정 규칙을 정의합니다. 지정된 날짜 및 시간에 활성화되거나 매주 되풀이되는 크기 조정 조건을 추가합니다.

반복 일정에 따라 크기 조정

일요일에 단일 인스턴스로 크기 조정되도록 리소스를 설정합니다.

  1. 스케일링 조건 추가를 선택합니다.

  2. 특정 인스턴스 수로 스케일링를 선택합니다. 이 크기 조정 조건과 관련된 메트릭 및 임계값에 따라 크기를 조정할 수도 있습니다.

  3. 인스턴스 수 필드에서 1을 입력합니다.

  4. 특정 일 반복을 선택합니다.

  5. 일요일을 선택합니다.

  6. 크기 조정 조건을 적용할 시작 시간종료 시간을 설정합니다. 이 시간 범위를 벗어나면 기본 크기 조정 조건이 적용됩니다.

    일요일에 반복되는 App Service 계획 크기 조정 조건의 스크린샷

  7. 저장을 선택합니다.

지정된 시간 범위 동안 매주 일요일마다 App Service 계획을 하나의 인스턴스로 줄이는 확장 조건을 정의했습니다.

특정 날짜에 대해 다르게 크기 조정

서비스에 대한 비정상적인 수준의 수요가 예상되는 경우 특정 날짜에 대해 크기가 다르게 조정되도록 자동 크기 조정을 설정합니다.

  1. 스케일링 조건 추가를 선택합니다.

  2. 메트릭에 따라 스케일링을 선택합니다.

  3. 규칙 추가를 선택하여 스케일 아웃 및 스케일 인 규칙을 정의합니다. 규칙을 기본 조건과 동일하게 설정합니다.

  4. 최대 인스턴스 제한을 10으로 설정합니다.

  5. 기본 인스턴스 제한을 3으로 설정합니다.

  6. 시작/종료 날짜 지정을 선택합니다.

  7. 크기 조정 조건을 적용할 시작 날짜종료 날짜를 설정합니다.

    특정 시작 및 종료 날짜가 있는 App Service 계획 메트릭 조건의 스크린샷

  8. 저장을 선택합니다.

특정 날짜 범위에 대한 배율 조건을 정의했습니다. CPU 사용량이 70% 이상인 경우 자동 크기 조정은 인스턴스를 최대 10개까지 추가합니다. CPU 사용량이 20% 미만이면 자동 크기 조정은 인스턴스를 최소 1개까지 제거합니다. 이 크기 조정 조건이 활성화되면 기본 인스턴스 수는 3개입니다.

추가 설정

자동 크기 조정 설정 탭 및 리소스별 옵션을 사용하여 활동을 검토하고, JSON을 편집하고, 알림을 구성하고, 고급 크기 조정 기능에 액세스합니다.

리소스의 크기 조정 이벤트 기록 보기

리소스에 크기 조정 이벤트가 있을 때마다 활동 로그는 이를 기록합니다. 실행 기록 탭에서 크기 조정 이벤트 기록을 볼 수 있습니다.

실행 기록 탭에서 관찰된 App Service 계획 인스턴스 수의 스크린샷.

리소스에 대한 크기 조정 설정 보기

자동 크기 조정은 Azure Resource Manager의 리소스입니다. 다른 리소스와 마찬가지로 리소스 정의를 JSON 형식으로 볼 수 있습니다. JSON에서 자동 크기 조정 설정을 보려면 JSON 탭을 선택합니다.

JSON 탭의 App Service 계획 자동 크기 조정 규칙 스크린샷

필요한 경우 JSON에서 직접 변경합니다. 이러한 변경 내용은 저장한 후에 적용됩니다.

Virtual Machine Scale Sets의 예측 기반 자동 크기 조정

예측 자동 크기 조정은 기계 학습을 사용하여 주기적인 워크로드 패턴으로 Azure Virtual Machine Scale Sets를 관리하고 확장하는 데 도움이 됩니다. 기록 CPU 사용 패턴에 따라 Virtual Machine Scale Set에 대한 전체 CPU 부하를 예측합니다. 과거 사용량을 관찰하고 학습하여 전체 CPU 부하를 예측합니다. 이 프로세스는 수요를 충족하기 위해 적시에 스케일 아웃이 발생하도록 합니다. 자세한 내용은 부하 요구 전에 예측 자동 크기 조정을 사용하여 스케일 아웃을 참조하세요.

Virtual Machine Scale Sets의 스케일 인 정책

Virtual Machine Scale Set의 크기를 조정할 때 규모 감축 정책은 스케일 인 이벤트가 발생할 때 제거할 가상 머신을 선택합니다. 규모 감축 정책을 Default, NewestVM 또는 OldestVM으로 설정합니다. 자세한 내용은 Azure Virtual Machine Scale Sets 사용자 지정 스케일 인 정책 사용을 참조하세요.

스케일 인 정책 설정을 보여 주는 스크린샷.

알림

크기 조정 이벤트가 발생할 때 보내도록 알림을 구성합니다. 이메일 주소 또는 웹후크로 알림을 보냅니다. 자세한 내용은 자동 크기 조정 알림을 참조하세요.

대기 기간 효과

자동 크기 조정은 각 후보 규칙에 설정된 쿨다운 기간을 평가합니다. 크기 조정 작업 후에는 자체 냉각 기간이 경과할 때까지 규칙이 다른 크기 조정 작업을 시작할 수 없습니다. 대기 기간이 더 짧은 다른 규칙은 더 빨리 적용 대상이 될 수 있습니다. 휴지 기간을 사용하면 메트릭이 안정화되고 동일한 조건에 대해 두 번 이상 크기 조정되지 않도록 방지할 수 있습니다. 기본 냉각 기간은 5분입니다. 자세한 내용은 자동 크기 조정에서 쿨다운을 평가하는 방법을 참조하세요.

플래핑

플래핑은 일련의 서로 반대되는 스케일링 이벤트를 유발하는 루프 상태를 의미합니다. 하나의 크기 조정 이벤트에서 반대 크기 조정 이벤트를 트리거하면 플래핑이 수행됩니다. 예를 들어 스케일 인하면 인스턴스 수가 감소하여 나머지 인스턴스에서 CPU가 증가합니다. 이 조건은 스케일 아웃 이벤트를 트리거하여 CPU 사용량이 감소하고 프로세스가 반복됩니다. 자세한 내용은 자동 크기 조정의 플래핑자동 크기 조정 문제 해결을 참조하세요.

자동 크기 조정 설정 정리

리소스에서 자동 크기 조정을 중지하려면 리소스의 자동 크기 조정 창을 열고 수동 배율을 선택하고 인스턴스 수를 설정한 다음 저장을 선택합니다. 수동 크기 조정은 자동 크기 조정 규칙을 제거하고 리소스를 고정 인스턴스 수로 반환합니다.

자동 크기 조정을 다른 지역으로 이동

이 섹션에서는 Azure 자동 크기 조정을 같은 구독 및 리소스 그룹의 다른 지역으로 이동하는 방법을 설명합니다. REST API를 사용하여 자동 크기 조정 설정을 이동합니다.

필수 조건

  • 구독 및 리소스 그룹을 사용할 수 있고 원본과 대상 지역의 세부 정보가 같은지 확인합니다.
  • 이동하려는 Azure 지역에서 Azure 자동 스케일링을 사용할 수 있는지 확인합니다.

이동

REST API를 사용하여 새 환경에서 자동 스케일링 설정을 만듭니다. 대상 지역에서 만든 자동 크기 조정 설정은 원본 지역에 있는 자동 크기 조정 설정의 복사본입니다.

원본 지역의 자동 크기 조정 설정과 관련하여 만든 진단 설정을 이동할 수 없습니다. 자동 크기 조정 설정을 만든 후 대상 지역에서 진단 설정을 다시 만들어야 합니다.

Azure 지역 간 리소스 이동에 관한 자세한 내용

지역 간에 리소스를 이동하는 방법과 Azure의 재해 복구에 관한 자세한 내용은 새 리소스 그룹 또는 구독으로 리소스 이동을 참조하세요.