Amazon Keyspaces에서 Auto Scaling 문제를 해결하려면 어떻게 해야 하나요?

3분 분량
0

Amazon Keyspaces(Apache Cassandra용) 테이블에서 AWS Auto Scaling을 켰습니다. 하지만 소비된 용량이 프로비저닝된 용량보다 커서 여전히 병목 현상이 발생합니다.

간략한 설명

Amazon Keyspaces는 타겟 추적 AWS Application Auto Scaling을 사용합니다. 타겟 사용률 값은 사용된 용량 대 프로비저닝된 용량의 비율입니다.

Application Auto Scaling은 사용자 대신 Amazon CloudWatch 경보를 생성합니다. 이 알람은 테이블의 프로비저닝된 처리량 용량을 조정하도록 Amazon Keyspaces에 알리는 AWS Application Auto Scaling을 호출합니다.

Amazon Keyspaces용 Application Auto Scaling은 워크로드가 몇 분 동안 감소 또는 증가된 상태로 유지되는 경우에만 프로비저닝된 처리량을 수정합니다. 예를 들어, 최소 읽기 용량 단위(RCU)를 100으로 설정하고 타겟 사용률을 70%로 설정합니다.

  • Application Auto Scaling은 사용률이 3분 이상 연속으로 70 RCU를 초과하면 프로비저닝된 용량을 늘립니다.
  • Application Auto Scaling은 사용률이 15분 연속으로 타겟보다 20% 이상 낮으면(50 RCU) 프로비저닝된 용량을 줄입니다.

해결 방법

Application Auto Scaling은 테이블에서 트래픽 부하가 급증하는 경우에는 적합하지 않을 수 있습니다. 용량 요구 사항을 충족하기 위해 소비된 용량에 대한 연속 데이터 포인트가 부족할 수 있기 때문입니다. 이 경우 소비된 용량이 프로비저닝된 용량을 초과하여 테이블에 제한이 발생할 수 있습니다. 이는 충분한 데이터 포인트가 Application Auto Scaling을 위한 사용률 임계값을 초과하지 않아 용량을 확장할 수 없기 때문입니다.

소비된 용량이 프로비저닝된 용량보다 많은지 확인하려면 Amazon CloudWatch 지표를 사용하세요. Sum 통계로 소비된 처리량을 계산합니다. 예를 들어, 1분 동안의 Sum 값을 구합니다. 그런 다음 이를 60으로 나누어 초당 평균 ConsumedReadCapacityUnits를 계산합니다. 이 평균에는 해당 1분 동안 발생한 읽기 활동의 크지만 짧은 급등은 표시되지 않습니다. 계산된 값을 Amazon Keyspaces에 지정한 프로비저닝된 처리량 값과 비교할 수 있습니다.

다음은 Amazon Keyspaces 테이블에서 Application Auto Scaling 문제를 해결하기 위한 몇 가지 모범 사례입니다.

  • 테이블의 트래픽이 자주 예측할 수 없게 변동하는 경우, 테이블을 온디맨드 모드로 업데이트하는 것이 좋습니다. 온디맨드 모드는 용량 요구 사항을 즉시 충족하므로 급증하는 워크로드를 실행하는 데 적합합니다. 트래픽이 일정하거나 점진적으로 증가하면 Application Auto Scaling을 다시 사용하기 시작합니다.
  • 애플리케이션에서 재시도 정책을 구성합니다. 지수 백오프를 사용한 다음 다시 시도합니다. 또는 지터를 추가합니다. 이러한 접근 방식으로 후속 재시도 간에 약간의 지연을 추가할 수 있습니다. 이러한 접근 방식으로 재시도가 빨리 소진되지 않도록 할 수 있습니다. 자세한 내용은 지수 백오프 및 지터를 참조하세요.
  • Amazon Keyspaces에 대한 Application Auto Scaling이 생성하는 CloudWatch 경보를 삭제하지 마세요. 이러한 경보를 삭제하면 Application Auto Scaling이 예상대로 작동하지 않을 수 있습니다. 실수로 이러한 경보를 삭제한 경우 Application Auto Scaling을 끄고 다시 켜세요. CloudWatch는 자동으로 경보를 다시 생성합니다.
  • 가끔 발생하는 단기간의 활동 급증을 처리하기 위해 Application Auto Scaling에 의존하지 마세요. Application Auto Scaling은 점진적으로 증가하거나 감소하는 트래픽을 처리하는 데 적합합니다. 테이블의 기본 제공 버스트 용량은 가끔 발생하는 활동 급증을 처리합니다. Amazon Keyspaces는 사전 통지 없이 백그라운드 유지 관리 및 기타 작업에 버스트 용량을 소비할 수도 있습니다.
AWS 공식
AWS 공식업데이트됨 10달 전