과거 패턴을 사용하여 예측 규모 조정으로 Amazon ECS 서비스 규모 조정 - Amazon Elastic Container Service

과거 패턴을 사용하여 예측 규모 조정으로 Amazon ECS 서비스 규모 조정

예측 규모 조정에서는 트래픽 흐름의 과거 로드 데이터 조사를 통해 일간 또는 주간 패턴이 분석됩니다. 그런 다음에 이 분석이 향후 필요성을 예측하고 필요에 따라 서비스의 태스크 미리 늘리는 데 사용됩니다.

예측 오토 스케일링은 다음과 같은 상황에서 가장 유용합니다.

  • 주기적 트래픽 - 정규 업무 시간에는 리소스 사용이 증가하고 저녁과 주말에는 리소스 사용이 감소했습니다.

  • 반복적인 온/오프 워크로드 패턴 - 배치 처리, 테스트 또는 주기적 데이터 분석이 예에 포함됩니다.

  • 초기화 시간이 오래 걸리는 애플리케이션 - 현저한 대기 시간의 원인이 되는 스케일 아웃 이벤트 동안 애플리케이션 성능에 영향을 줄 수 있습니다.

규칙적인 패턴으로 애플리케이션 초기화에 시간이 오래 걸리고 트래픽이 증가하는 경우 예측 규모 조정 사용을 고려해야 합니다. 대상 추적 또는 단계 규모 조정과 같은 동적 조정 정책을 단독으로 사용하는 대신에 예상되는 로드에 대한 태스크 수를 사전에 늘려 더 빠르게 규모를 조정할 수 있습니다. 태스크 수를 과도하게 프로비저닝할 가능성을 방지하는 데 도움이 되므로 예측 규모 조정을 통해 잠재적으로 비용도 절감할 수도 있습니다.

예컨대, 업무 시간 중에는 사용량이 많고 밤새 사용량이 줄어드는 애플리케이션을 생각해 보겠습니다. 각 영업일이 시작될 때 예측 규모 조정은 트래픽이 처음 유입되기 전에 태스크를 스케일 아웃할 수 있습니다. 이를 통해 사용률이 낮은 기간에서 높은 기간으로 전환될 때 애플리케이션이 고가용성과 성능을 유지할 수 있습니다. 동적 조정이 변화하는 트래픽에 대응할 때까지 기다릴 필요가 없습니다. 또한 애플리케이션의 로드 패턴을 검토하고 예약된 조정을 사용하여 적절한 태스크를 예약하는 데 시간을 할애할 필요가 없습니다.

Amazon ECS에서 예측 규모 조정이 작동하는 방식 알아보기

여기에서 예측 규모 조정 사용에 대한 고려 사항, 작동 방식 및 제한 사항에 대해 알아볼 수 있습니다.

예측 규모 조정 사용 시 고려 사항

  • 예측 규모 조정이 워크로드에 적합한지 확인하는 것이 좋습니다. 예측 전용 모드에서 규모 조정 정책을 구성하여 이를 확인하고 콘솔의 권장 사항을 참조할 수 있습니다. 예측 규모 조정을 사용하기 전에 예측 및 권장 사항을 평가해야 합니다.

  • 예측 규모 조정에서 예측이 시작될 수 있으려면 최소 24시간 동안의 기록 데이터가 필요합니다. 사용 가능한 기록 데이터가 많을수록 예측이 더 효과적이며 2주 분량이 이상적입니다. 또한 Amazon ECS 서비스를 삭제하고 새 서비스를 생성할 때 예측 규모 조정에서 새 예측이 생성될 수 있도록 24시간을 기다려야 합니다. 속도를 높이는 한 가지 방법은 사용자 지정 지표를 사용하여 이전 및 새 Amazon ECS 서비스 전체의 지표를 집계하는 것입니다.

  • 애플리케이션의 전체 로드를 정확하게 나타내고 확장해야 하는 애플리케이션의 측면인 부하 지표를 선택합니다.

  • 예측 규모 조정을 통한 동적 규모 조정은 애플리케이션에 대한 수요를 면밀히 따라가는 데 도움이 되므로 소강 상태인 동안 스케일 인하고 예기치 않게 트래픽이 증가하는 동안 스케일 아웃할 수 있습니다. 여러 규모 조정 정책이 활성화된 경우, 각 정책에서는 원하는 태스크 수가 독립적으로 결정되고 원하는 태스크 수가 최댓값으로 설정됩니다.

  • 실시간 패턴과 과거 패턴을 모두 기반으로 하여 애플리케이션 규모가 조정되도록 대상 추적 또는 단계 규모 조정과 같은 동적 규모 조정 정책과 함께 예측 규모 조정을 사용할 수 있습니다. 예측 규모 조정 자체로는 태스크가 스케일 인되지 않습니다.

  • register-scalable-target API를 직접적으로 호출할 때 사용자 지정 역할을 사용하는 경우 활성화된 SLR만 예측 규모 조정 정책과 연동한다는 오류가 발생할 수 있습니다. 이 경우에는 role-arn이 없는 register-scalable-target을 다시 호출해야 합니다. 확장 가능한 대상을 등록할 때 SLR을 사용하고 put-scaling-policy API를 직접적으로 호출합니다.

예측 조정의 작동 방식

모니터링하고 분석할 CloudWatch 지표가 지정되는 예측 규모 조정 정책을 생성하여 예측 규모 조정을 사용합니다. 예측 규모 조정에서 미래 값 예측이 시작되려면 예측 규모 조정에 24시간 이상의 데이터가 있어야 합니다.

정책을 생성한 후 예측 조정은 패턴을 식별하기 위해 지난 14일까지의 지표 데이터를 분석하기 시작합니다. 이 분석은 향후 48시간의 요구 사항 시간별 예측 생성에 사용됩니다. 최신 CloudWatch 데이터를 사용하여 6시간마다 예측이 업데이트됩니다. 새로운 데이터가 들어오면 예측 규모 조정을 통해 향후 예측의 정확도가 지속적으로 개선됩니다.

예측 조정을 처음 활성화하면 예측 전용 모드에서 실행됩니다. 이 모드로 예측이 생성되지만, 해당 예측을 기반으로 Amazon ECS 서비스의 규모가 조정되지는 않습니다. 따라서 예측의 정확성과 적합성을 평가할 수 있습니다. GetPredictiveScalingForecast API 작업 또는 AWS Management Console을 사용하여 예측 데이터를 봅니다.

예측 규모 조정 사용을 시작하기로 결정하면 규모 조정 정책을 예측 및 규모 조정 모드로 전환합니다. 이 모드에서는 다음과 같이 진행됩니다.

기본적으로 해당 시간의 예측을 기반으로 매시간 시작 시 Amazon ECS 서비스의 규모가 조정됩니다. PutScalingPolicy API 작업의 SchedulingBufferTime 속성을 사용하여 더 일찍 시작하도록 선택할 수 있습니다. 그러면 예측된 수요에 앞서 새 태스크가 시작되고 부팅되어 트래픽을 처리할 준비가 될 시간이 주어집니다.

최대 태스크 한도

규모 조정을 위해 Amazon ECS 서비스를 등록할 때 서비스당 시작할 수 있는 최대 태스크 수를 정의합니다. 기본적으로 규모 조정 정책이 설정되면 태스크 수를 최대한도보다 높게 늘릴 수 없습니다.

그 대신에 예측이 Amazon ECS 서비스의 최대 태스크 수에 근접하거나 이를 초과하는 경우 서비스의 최대 태스크 수가 자동으로 증가하도록 허용할 수 있습니다.

주의

최대 태스크 수가 자동으로 증가하도록 허용할 때는 주의해야 합니다. 증가한 최대 태스크 수를 모니터링하고 관리하지 않으면 의도한 것보다 더 많은 태스크가 시작될 수 있습니다. 그러면 증가한 최대 태스크 수는 수동으로 업데이트할 때까지 Amazon ECS 서비스의 새로운 정상 최대 태스크 수가 됩니다. 최대 태스크 수는 원래 최대 태스크 수로 자동으로 다시 감소하지 않습니다.

지원되는 리전

  • 미국 동부(버지니아 북부)

  • 미국 동부(오하이오)

  • 미국 서부(캘리포니아 북부)

  • 미국 서부(오레곤)

  • 아프리카(케이프타운)

  • 아시아 태평양(홍콩)

  • 아시아 태평양(자카르타)

  • 아시아 태평양(뭄바이)

  • 아시아 태평양(오사카)

  • 아시아 태평양(서울)

  • 아시아 태평양(싱가포르)

  • 아시아 태평양(시드니)

  • 아시아 태평양(도쿄)

  • 캐나다(중부)

  • 중국(베이징)

  • 중국(닝샤)

  • 유럽(프랑크푸르트)

  • 유럽(아일랜드)

  • 유럽(런던)

  • 유럽(밀라노)

  • 유럽(파리)

  • 유럽(스톡홀름)

  • 중동(바레인)

  • 남아메리카(상파울루)

  • AWS GovCloud(미국 동부)

  • AWS GovCloud(미국 서부)