기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon MWAA 작업자 자동 조정 구성
오토 스케일링 메커니즘은 Amazon Managed Workflows for Apache Airflow 환경에서 실행 중인 작업과 대기 중인 작업에 대한 응답으로 Apache Airflow 작업자 수를 자동으로 늘리고, 대기 중이거나 실행 중인 작업이 더 이상 없을 때는 추가 작업자를 처리합니다. 이 주제에서는 Amazon MWAA 콘솔을 사용하여 환경에서 실행되는 Apache Airflow 작업자의 최대 수를 지정하여 Auto Scaling을 구성하는 방법을 설명합니다.
참고
Amazon은 Apache Airflow 지표를 MWAA 사용하여 추가 Celery Executormax-workers
. 추가 작업자가 작업을 완료하고 작업 부하가 감소하면 Amazon은 해당 작업자를 MWAA 제거하므로에서 설정한 값으로 축소됩니다min-workers
.
작업자가 축소 중에 새 작업을 선택하는 경우 Amazon은 Fargate 리소스를 MWAA 유지하고 작업자를 제거하지 않습니다. 자세한 내용은 Amazon MWAA Auto Scaling 작동 방식을 참조하세요.
작업자 규모 조정 작동 방식
Amazon은 RunningTasks
및 QueuedTasks
지표를 MWAA 사용합니다. 여기서 (실행 중인 작업 + 대기열에 있는 작업) / (작업자당 작업) = (필수 작업자)입니다. 필요한 작업자 수가 현재 작업자 수보다 많으면 AmazonMWAA은에서 지정한 최대값까지 Fargate 작업자 컨테이너를 해당 값에 추가합니다max-workers
.
워크로드가 감소하고 RunningTasks
및 QueuedTasks
지표 합계가 감소함에 따라 Amazon은 Fargate에 환경에 맞게 작업자를 축소하도록 MWAA 요청합니다. 여전히 작업을 완료하는 작업자는 작업을 완료할 때까지 스케일 다운 중에 보호 상태를 유지합니다. 워크로드에 따라 작업자가 스케일 다운되는 동안 작업이 대기열에 있을 수 있습니다.
Amazon MWAA 콘솔 사용
Amazon MWAA 콘솔에서 동시에 환경에서 실행할 수 있는 최대 작업자 수를 선택할 수 있습니다. 기본적으로 최대값을 최대 25까지 지정할 수 있습니다.
작업자 수를 구성하려면
-
Amazon MWAA 콘솔에서 환경 페이지를
엽니다. -
환경을 선택합니다.
-
편집을 선택합니다.
-
Next(다음)를 선택합니다.
-
환경 클래스 창의 최대 작업자 수에 값을 입력합니다.
-
저장(Save)을 선택합니다.
참고
환경에 변경 사항이 적용되려면 몇 분 정도 걸릴 수 있습니다.
고성능 사용 사례 예시
다음 섹션에서는 환경에서 고성능 및 병렬 처리를 활성화하는 데 사용할 수 있는 구성 유형에 대해 설명합니다.
온프레미스 Apache Airflow
일반적으로 온프레미스 Apache Airflow 플랫폼에서는 airflow.cfg
파일에서 작업 병렬성, 오토 스케일링 및 동시성 설정을 구성합니다.
-
core.parallelism
– 스케줄러당 동시에 실행할 수 있는 최대 작업 인스턴스 수입니다. -
core.dag_concurrency
-에 대한 최대 동시성DAGs(작업자 아님). -
celery.worker_autoscale
– 모든 작업자에서 동시에 실행할 수 있는 최대 및 최소 작업 수입니다.
예를 들어 core.parallelism
가 로 설정100
core.dag_concurrency
되고가 로 설정된 경우 7
가 2개인 경우에만 총 14
작업을 동시에 실행할 수 있습니다DAGs. 따라서 전체 병렬 처리DAG가 ()로 설정되어 있더라도 각는 7개의 작업만 동시에 실행하도록(에서core.dag_concurrency
) 설정됩니다100
core.parallelism
.
Amazon MWAA 환경에서
Amazon MWAA 환경에서는 , Amazon MWAA에서 Apache Airflow 구성 옵션 사용 Amazon MWAA 환경 클래스 구성및 최대 작업자 수 자동 조정 메커니즘을 사용하여 Amazon MWAA 콘솔에서 직접 이러한 설정을 구성할 수 있습니다. core.dag_concurrency
는 드롭다운 목록에서 Amazon MWAA 콘솔의 Apache Airflow 구성 옵션으로 사용할 수 없지만 사용자 지정 Apache Airflow 구성 옵션으로 추가할 수 있습니다.
환경을 만들 때 다음 설정을 선택했다고 가정해 보겠습니다.
-
각 작업자가 기본적으로 실행할 수 있는 동시 작업의 최대 수와 컨테이너의 vCPU를 제어하는 mw1.small 환경 클래스입니다.
-
최대 작업자 수의
10
작업자 기본 설정입니다. -
작업자당
5,5
작업 중celery.worker_autoscale
작업에 대한 Apache Airflow 구성 옵션입니다.
즉, 해당 환경에서 50개의 작업을 동시에 실행할 수 있습니다. 50개를 초과하는 모든 작업은 대기열에 추가되며 실행 중인 작업이 완료될 때까지 기다립니다.
더 많은 동시 작업을 실행합니다. 다음 구성을 사용하여 더 많은 작업을 동시에 실행하도록 환경을 수정할 수 있습니다.
-
mw1.medium
(기본적으로 동시 작업 10개) 환경 클래스를 선택하여 각 작업자가 기본적으로 실행할 수 있는 최대 동시 작업 수와 컨테이너의 vCPU를 늘립니다. -
celery.worker_autoscale
을(를) Apache Airflow 구성 옵션으로 추가합니다. -
최대 작업자 수를 늘립니다. 이 예제에서 최대 작업자를
10
에서20
(으)로 늘리면 환경에서 실행할 수 있는 동시 작업 수가 두 배로 늘어납니다.
최소 작업자를 지정합니다. AWS Command Line Interface ()를 사용하여 환경에서 실행되는 Apache Airflow 작업자의 최소 및 최대 수를 지정할 수도 있습니다AWS CLI. 예시:
aws mwaa update-environment --max-workers 10 --min-workers 10 --name
YOUR_ENVIRONMENT_NAME
자세한 내용은 AWS CLI의 update-environment 명령을 참조하십시오.
실행 상태에서 멈춘 작업 문제 해결
드문 경우이긴 하지만 Apache Airflow는 작업이 아직 실행 중이라고 생각할 수 있습니다. 이 문제를 해결하려면 Apache Airflow UI에서 문제가 있는 작업을 지워야 합니다. 자세한 정보는 Amazon Managed Workflows for Apache Airflow 문제 해결 문제 해결 단원을 참조하십시오.
다음 단계
-
Amazon의 Apache Airflow에 대한 성능 튜닝 MWAA에서 환경 성능 조정을 위해 권장하는 모범 사례에 대해 자세히 알아봅니다.