Amazon Managed Service for Apache Flink(Amazon MSF)는 이전에 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% 이상이면 애플리케이션이 스케일 업(병렬성 증가)합니다. 즉, 75% 이상인 1분 기간의 연속 데이터 포인트가 15개 있을 때ScaleUp작업이 시작됩니다.ScaleUp작업은 애플리케이션의CurrentParallelism을 두 배로 증가시키며,ParallelismPerKPU는 변경되지 않습니다. 그 결과 할당된 KPU도 두 배가 됩니다.CPU 사용량이 6시간 동안 10% 미만으로 유지되면 애플리케이션이 축소됩니다 (병렬성 감소). 즉, 10% 미만인 1분 기간의 연속 데이터 포인트가 360개 있을 때
ScaleDown작업이 시작됩니다.ScaleDown작업은 애플리케이션의 병렬 처리를 절반(올림 적용)으로 줄이며,ParallelismPerKPU는 변경되지 않고, 할당된 KPU 수도 절반(올림 적용)으로 줄어듭니다.
참고
1분 이상의 최대 containerCPUUtilization 기간을 참조하여 조정 작업에 사용되는 데이터 포인트와의 상관 관계를 찾을 수 있지만, 작업이 시작된 정확한 순간을 반영할 필요는 없습니다.
Managed Service for Apache Flink는 애플리케이션 CurrentParallelism 값을 애플리케이션의 Parallelism 설정보다 낮추지 않습니다.
Managed Service for Apache Flink 서비스가 애플리케이션을 확장할 때는 AUTOSCALING 상태가 됩니다. DescribeApplication 또는 ListApplications 작업을 사용하여 현재 애플리케이션 상태를 확인할 수 있습니다. 서비스가 애플리케이션을 확장하는 동안 사용할 수 있는 유효한 API 작업은 Force 파라미터가 true로 설정된 StopApplication뿐입니다.
AutoScalingEnabled 속성(FlinkApplicationConfiguration에 속함)을 사용하여 Auto Scaling 동작을 활성화하거나 비활성화할 수 있습니다. Managed Service for Apache Flink가 애플리케이션 parallelism 및 parallelismPerKPU 설정에 따라 제공하는 KPU에 대한 요금이 사용자 AWS 계정에 청구됩니다. 활동이 급증하면 Managed Service for Apache Flink 비용이 증가합니다.
요금에 대한 자세한 내용을 알아보려면 Amazon Managed Service for Apache Flink 요금
애플리케이션 규모 조정에 대해 다음을 유의하세요.
자동 조정은 기본적으로 활성화되어 있습니다.
조정 기능은 Studio 노트북에는 적용되지 않습니다. 그러나 Studio Notebook을 내구성 상태의 애플리케이션으로 배포하는 경우 배포된 애플리케이션에 조정 작업이 적용됩니다.
애플리케이션의 기본 한도는 64 KPU입니다. 자세한 내용은 Managed Service for Apache Flink 및 Studio 노트북 할당량 섹션을 참조하세요.
자동 크기 조정이 애플리케이션 병렬성을 업데이트하면 애플리케이션 다운타임이 발생합니다. 이러한 다운타임을 방지하려면 다음을 수행하십시오.
자동 조정 사용 중지
parallelismUpdateApplication 작업을 사용하여 애플리케이션의 및parallelismPerKPU을 구성합니다. 애플리케이션의 병렬 처리 설정에 관한 자세한 내용은 애플리케이션의 병렬 처리 업데이트 섹션을 참조하세요.애플리케이션의 리소스 사용량을 주기적으로 모니터링하여 애플리케이션의 워크로드에 대한 병렬성 설정이 올바른지 확인하십시오. 할당 리소스 사용량 모니터링에 대한 자세한 내용을 알아보려면 Managed Service for Apache Flink의 지표 및 차원 섹션을 참조하십시오.
사용자 지정 자동 크기 조정 구현
자동 크기 조정을 더 세밀하게 제어하거나 이외의 트리거 지표를 사용하려면 다음 예제를 사용할 containerCPUUtilization수 있습니다.
-
이 예제에서는 소스 또는 싱크로 사용되는 Amazon MSK 및 Amazon Kinesis Data Streams의 지표를 포함하여 Apache Flink 애플리케이션과 다른 CloudWatch 지표를 사용하여 Managed Service for Apache Flink 애플리케이션을 규모 조정하는 방법을 보여줍니다.
자세한 내용은 Apache Flink에 대한 향상된 모니터링 및 자동 규모 조정
예약된 자동 크기 조정 구현
워크로드가 시간 경과에 따라 예측 가능한 프로파일을 따르는 경우 Apache Flink 애플리케이션을 사전에 규모 조정하는 것이 더 적합할 수 있습니다. 이 방식은 지표 기반의 반응형 규모 조정과 달리 예약된 시간에 애플리케이션을 규모 조정합니다. 하루 중 고정된 시간에 스케일 업 및 스케일 다운을 설정하려면 다음 예제를 사용할 수 있습니다.