자동 크기 조정 모범 사례 살펴보기

완료됨

자동 스케일링 설정을 만들 때 모범 사례를 따르지 않으면 원하지 않는 결과를 초래하는 조건을 만들 수 있습니다. 이 단원에서는 서로 충돌하지 않는 규칙을 만드는 방법을 알아봅니다.

자동 크기 조정 개념

  • 자동 크기 조정 설정은 인스턴스 크기를 수평적으로 조정합니다. 즉, 인스턴스를 늘려 규모를 확장하고 인스턴스 수를 줄여 규모를 감축합니다. 자동 크기 조정 설정에는 최대, 최소 및 기본 인스턴스 값이 있습니다.

  • 자동 크기 조정 작업에서는 항상 규모 확장 또는 규모 감축에 대해 구성된 임계값에 도달했는지 확인하여 크기를 조정할 연관된 메트릭을 읽습니다.

  • 모든 임계값은 인스턴스 수준에서 계산됩니다. 예를 들어 “인스턴스 수가 2일 때 평균 CPU >가 80%이면 인스턴스를 1개씩 스케일 아웃”은 모든 인스턴스의 평균 CPU가 80%를 초과할 때 스케일 아웃을 의미합니다.

  • 모든 자동 크기 조정 성공 및 실패는 활동 로그에 로그됩니다. 그러므로 활동이 있을 때마다 메일, SMS 또는 웹후크를 통해 알림을 받을 수 있도록 활동 로그 경고를 구성할 수 있습니다.

자동 크기 조정 모범 사례

자동 크기 조정 규칙을 만들 때 다음 모범 사례를 따르세요.

최댓값과 최솟값이 다르고 둘 사이의 간격이 적당한지 확인

최솟값=2, 최댓값=2, 현재 인스턴스 수가 2인 설정이 있는 경우에는 발생할 수 있는 스케일링 동작이 없습니다. 최대 인스턴스 수와 최소 인스턴스 수 간에 적당한 간격을 유지하세요(두 숫자 모두 포함). 자동 크기 조정은 항상 이러한 한도 사이에서 크기를 조정합니다.

진단 메트릭에 적절한 통계 선택

진단 메트릭의 경우 크기를 조정할 메트릭으로 평균, 최소, 최대합계 중에서 선택할 수 있습니다. 가장 일반적인 통계는 평균입니다.

모든 메트릭 유형에 대해 신중하게 임계값 선택

현실적인 상황을 기반으로 서로 다른 규모 확장 및 규모 감축 임계값을 신중하게 선택하는 것이 좋습니다.

다음 예와 같이 스케일 아웃 및 스케일 인 조건에 동일하거나 유사한 임계값을 사용하는 자동 스케일링 설정은 권장되지 않습니다.

  • 스레드 수 >= 600이면 인스턴스를 1개씩 늘리기
  • 스레드 수 <= 600이면 인스턴스를 1개씩 줄이기

혼동스러운 동작을 초래할 수 있는 예를 살펴보겠습니다. 다음과 같은 시퀀스를 고려해 보세요.

  1. 인스턴스 2개로 시작한 다음 인스턴스당 평균 스레드 수가 625로 증가했다고 가정해 보겠습니다.
  2. 자동 크기 조정에서 세 번째 인스턴스를 추가하여 규모를 확장합니다.
  3. 다음으로, 인스턴스 전체의 평균 스레드 수가 575로 떨어졌다고 가정해 보겠습니다.
  4. 스케일 인하기 전에 자동 스케일링 기능은 스케일 인된 경우의 최종 상태를 예측하려고 합니다. 예: 575 x 3(현재 인스턴스 수) = 1725/2(스케일 인된 경우 최종 인스턴스 수) = 862.5 스레드 이는 평균 스레드 수가 동일하게 유지되거나 약간만 감소한 경우 자동 크기 조정에서 규모가 축소된 후에도 즉시 다시 규모 확장해야 함을 의미합니다. 그러나 다시 스케일 아웃되면 전체 프로세스가 반복되어 무한 루프를 발생시킬 수 있습니다.
  5. 이러한 상황(“플래핑”이라고 함)을 방지하기 위해 자동 스케일링 기능은 전혀 스케일 인하지 않습니다. 대신 건너뛰고 다음에 서비스의 작업이 실행될 때 조건을 다시 평가합니다. 이는 평균 스레드 수가 575일 때 자동 크기 조정이 작동하지 않는 것처럼 보이기 때문에 많은 사용자에게 혼동을 줄 수 있습니다.

스케일 인 중 예측은 스케일 인 및 스케일 아웃 작업이 지속적으로 앞뒤로 이동하는 “플래핑” 상황을 방지하기 위한 것입니다. 규모 확장 및 감축에 대해 동일한 임계값을 선택할 때 이 동작을 염두에 두어야 합니다.

규모 확장 및 감축 임계값 사이에 적당한 간격을 선택하는 것이 좋습니다. 예를 들어, 다음과 같은 더 나은 규칙 조합을 고려합니다.

  • CPU% >= 80이면 인스턴스를 1개씩 늘립니다.
  • CPU% <= 60이면 인스턴스 수를 1개씩 줄입니다.

이 경우

  1. 두 개의 인스턴스로 시작한다고 가정합니다.
  2. 인스턴스의 평균 CPU%가 80이 되면 자동 크기 조정에서 세 번째 인스턴스를 추가하여 규모를 확장합니다.
  3. 이제 시간이 지남에 따라 CPU%가 60으로 감소했다고 가정합니다.
  4. 자동 크기 조정의 규모 감축 규칙에서 규모가 감축된 경우의 최종 상태를 평가합니다. 예: 60 x 3(현재 인스턴스 수) = 180/2(스케일 인된 경우 최종 인스턴스 수) = 90 따라서 자동 스케일링에서는 즉시 다시 스케일 아웃해야 하므로 스케일 인하지 않습니다. 대신, 스케일 인을 건너뜁니다.
  5. 다음 자동 크기 조정 확인 시 CPU는 계속해서 50으로 감소합니다. 그러면 50 x 3 인스턴스 = 150 / 2 인스턴스 = 75로 다시 추정합니다. 이 값은 스케일 아웃 임계값 80보다 낮으므로 인스턴스 2개까지 성공적으로 스케일 인합니다.

하나의 프로필에 여러 규칙이 구성된 경우 크기 조정에 대한 고려 사항

하나의 프로필에 여러 규칙을 설정해야 할 수 있는 경우가 있습니다. 여러 규칙이 설정된 경우 다음과 같은 자동 크기 조정 규칙 집합이 서비스에서 사용됩니다.

규모 확장의 경우 임의의 규칙이 충족되면 자동 크기 조정이 실행됩니다. 규모 감축의 경우 모든 규칙이 충족되어야 자동 크기 조정이 실행됩니다.

이를 설명하기 위해 다음 4가지 자동 크기 조정 규칙이 있다고 가정합니다.

  • CPU가 30% 미만인 경우 1만큼 규모 감축
  • 메모리 <가 50%이면 1씩 스케일 인
  • CPU >가 75%이면 1씩 스케일 아웃
  • 메모리 >가 75%이면 1씩 스케일 아웃

그러면 다음이 발생합니다.

  • CPU가 76%이고 메모리가 50%인 경우 규모가 확장됩니다.
  • CPU가 50%이고 메모리가 76%인 경우 스케일 아웃됩니다.

반면, CPU가 25%이고 메모리가 51%인 경우 자동 스케일링에서 스케일 인하지 않습니다. CPU가 29%이고 메모리가 49%이면 자동 스케일 인이 발생합니다. 두 가지 스케일 인 규칙이 모두 맞기 때문에 발생합니다.

항상 안전한 기본 인스턴스 수 선택

기본 인스턴스 수는 메트릭을 사용할 수 없을 때 자동 스케일링이 서비스 크기를 이 수로 스케일링하므로 중요합니다. 따라서 워크로드에 안전한 기본 인스턴스 수를 선택해야 합니다.

자동 크기 조정 알림 구성

자동 스케일링은 다음 조건 중 하나가 발생할 경우 활동 로그에 게시됩니다.

  • 자동 크기 조정에서 크기 조정 작업이 생성되는 경우
  • 자동 크기 조정 서비스에서 크기 조정 작업을 성공적으로 완료하는 경우
  • 자동 크기 조정 서비스에서 크기 조정 작업에 실패한 경우.
  • 자동 스케일링 서비스에서 스케일링 결정을 내리는 데 메트릭을 사용할 수 없습니다.
  • 크기 조정 결정을 내리는 데 메트릭을 다시 사용할 수 있게 된(복구) 경우.

또한 활동 로그 경고를 사용하여 자동 크기 조정 엔진의 상태를 모니터링할 수도 있습니다. 활동 로그 경고를 사용하는 것 외에, 크기 조정 설정의 알림 탭을 통해 성공적인 크기 조정 작업에 대한 알림을 받도록 전자 메일 또는 웹후크 알림을 구성할 수도 있습니다.