Managed Service for Apache Flink에서 자동 크기 조정 사용 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Managed Service for Apache Flink에서 자동 크기 조정 사용

Managed Service for Apache Flink는 대부분의 시나리오에서 소스의 데이터 처리량과 연산자의 복잡성을 수용할 수 있도록 애플리케이션의 병렬성을 탄력적으로 조정합니다. 자동 조정은 기본적으로 활성화되어 있습니다. Managed Service for Apache Flink는 애플리케이션의 리소스(CPU) 사용량을 모니터링하고 애플리케이션의 병렬 처리를 탄력적으로 확장합니다.

  • CloudWatch 지표 최대값containerCPUUtilization이 15분 동안 75%보다 크면 애플리케이션이 스케일 업(병렬성 증가)됩니다. 즉, 1분 동안 75% 이상의 데이터 포인트가 15개 연속 있을 때 ScaleUp 작업이 시작됩니다. ScaleUp 작업은 애플리케이션의 를 두 배CurrentParallelism로 늘립니다. ParallelismPerKPU는 수정되지 않습니다. 따라서 할당된 수KPUs도 두 배가 됩니다.

  • CPU 사용량이 6시간 동안 10% 미만으로 유지되면 애플리케이션이 축소(병렬성 감소)됩니다. 즉, 1분 기간이 10% 미만인 연속 데이터 포인트가 360개 있을 때 ScaleDown 작업이 시작됩니다. ScaleDown 작업은 애플리케이션의 병렬 처리를 절반(반올림)으로 만듭니다. ParallelismPerKPU는 수정되지 않으며 할당된 수KPUs도 절반(반올림)으로 표시됩니다.

참고

최대 1분 containerCPUUtilization 이상의 기간을 참조하여 스케일링 작업에 사용되는 데이터 포인트와의 상관관계를 찾을 수 있지만 작업이 초기화되는 정확한 순간을 반영할 필요는 없습니다.

Managed Service for Apache Flink는 애플리케이션 CurrentParallelism 값을 애플리케이션의 Parallelism 설정보다 낮추지 않습니다.

Managed Service for Apache Flink 서비스가 애플리케이션을 확장할 때는 AUTOSCALING 상태가 됩니다. DescribeApplication 또는 ListApplications 작업을 사용하여 현재 애플리케이션 상태를 확인할 수 있습니다. 서비스가 애플리케이션을 확장하는 동안 사용할 수 StopApplication 있는 유일한 유효한 API 작업은 Force 파라미터가 로 설정된 상태입니다true.

AutoScalingEnabled 속성(FlinkApplicationConfiguration에 속함)을 사용하여 Auto Scaling 동작을 활성화하거나 비활성화할 수 있습니다. 애플리케이션 parallelismparallelismPerKPU 설정의 함수인 KPUs Managed Service for Apache Flink 조항에 대해서는 AWS 계정에 요금이 부과됩니다. 활동이 급증하면 Managed Service for Apache Flink 비용이 증가합니다.

요금에 대한 자세한 내용을 알아보려면 Amazon Managed Service for Apache Flink 요금을 참조하세요.

애플리케이션 규모 조정에 대해 다음을 유의하세요.

  • 자동 조정은 기본적으로 활성화되어 있습니다.

  • 조정 기능은 Studio 노트북에는 적용되지 않습니다. 그러나 Studio Notebook을 내구성 상태의 애플리케이션으로 배포하는 경우 배포된 애플리케이션에 조정 작업이 적용됩니다.

  • 애플리케이션의 기본 제한은 64입니다KPUs. 자세한 내용은 Managed Service for Apache Flink 및 Studio 노트북 할당량 단원을 참조하십시오.

  • 자동 크기 조정이 애플리케이션 병렬성을 업데이트하면 애플리케이션 다운타임이 발생합니다. 이러한 다운타임을 방지하려면 다음을 수행하십시오.

    • 자동 조정 사용 중지

    • UpdateApplication 작업을 parallelismPerKPU 사용하여 애플리케이션 parallelism 및 를 구성합니다. 애플리케이션의 병렬 설정 설정에 대한 자세한 내용은 섹션을 참조하세요애플리케이션의 병렬 처리 업데이트.

    • 애플리케이션의 리소스 사용량을 주기적으로 모니터링하여 애플리케이션의 워크로드에 대한 병렬성 설정이 올바른지 확인하십시오. 할당 리소스 사용량 모니터링에 대한 자세한 내용을 알아보려면 Apache Flink용 매니지드 서비스의 메트릭과 디멘션 섹션을 참조하십시오.

사용자 지정 Autoscaling 구현

오토스케일링에 대해 더 세분화된 제어를 원하거나 이외의 트리거 지표를 사용하려는 경우 다음 예제를 사용할 containerCPUUtilization수 있습니다.

  • AutoScaling

    이 예제에서는 소스 또는 싱크로 사용되는 Amazon MSK 및 Amazon Kinesis Data Streams의 CloudWatch 지표를 포함하여 Apache Flink 애플리케이션과 다른 지표를 사용하여 Managed Service for Apache Flink 애플리케이션을 확장하는 방법을 보여줍니다.

자세한 내용은 Apache Flink 에 대한 향상된 모니터링 및 자동 조정을 참조하세요.

예약된 Autoscaling 구현

워크로드가 시간이 지남에 따라 예측 가능한 프로파일을 따르는 경우 Apache Flink 애플리케이션을 선제적으로 확장하는 것이 좋습니다. 이렇게 하면 지표를 기반으로 사후 조정하는 대신 예약된 시간에 애플리케이션이 조정됩니다. 하루 중 고정된 시간에 크기 조정 및 축소를 설정하려면 다음 예제를 사용합니다.