Amazon MWAA 작업자 자동 크기 조정 구성 - Amazon Managed Workflows for Apache Airflow

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

Amazon MWAA 작업자 자동 크기 조정 구성

Auto Scaling 메커니즘은 Apache Airflow용 Amazon Managed Workflows 환경에서 실행 중인 작업과 대기 중인 작업에 대한 응답으로 Apache Airflow 작업자 수를 자동으로 늘리고, 대기 중이거나 실행 중인 작업이 더 이상 없을 경우 추가 작업자를 처리합니다. 이 페이지에서는 Amazon MWAA 콘솔을 사용하여 사용자 환경에서 실행되는 Apache Airflow 작업자의 최대 수를 지정하여 Auto Scaling을 구성하는 방법을 설명합니다.

참고

Amazon MWAA는 Apache Airflow 지표를 사용하여 Celery Executor 작업자가 추가로 필요한 시기를 결정하고 필요에 따라 Fargate 작업자 수를 max-workers에서 지정한 값까지 늘립니다. 추가 작업자가 작업을 완료하고 작업량이 감소하면 Amazon MWAA에서 해당 작업자를 제거하여 설정된 값으로 축소합니다. min-workers

축소하는 동안 작업자가 새 작업을 배정하는 경우 Amazon MWAA는 Fargate 리소스를 유지하고 작업자를 제거하지 않습니다. 자세한 내용은 Amazon MWAA 자동 크기 조정 작동 방식을 참조하십시오.

작업자 규모 조정 작동 방식

Amazon MWAA는 RunningTasksQueuedTasks 지표를 사용합니다. 여기서 (실행 중인 작업 + 대기 중인 작업)/(작업자당 작업) = (필요한 작업자)입니다. 필요한 작업자 수가 현재 작업자 수보다 많으면 Amazon MWAA는 Fargate 작업자 컨테이너를 이 값에 max-workers에서 지정한 최대값까지 추가합니다.

워크로드가 감소하고 QueuedTasks 측정치 합계가 감소함에 따라 Amazon MWAA는 Fargate에 작업 환경을 위해 작업자 규모를 축소하도록 요청합니다. RunningTasks 아직 작업을 완료하고 있는 모든 작업자는 작업을 완료할 때까지 축소 중에도 보호 상태를 유지합니다. 작업량에 따라 작업은 대기열에 남아 있고 작업자는 규모를 축소할 수 있습니다.

Amazon MWAA 콘솔 사용

Amazon MWAA 콘솔에서 사용자 환경에서 동시에 실행할 최대 작업자 수를 선택할 수 있습니다. 기본적으로 최대값을 최대 25까지 지정할 수 있습니다.

작업자 수를 구성하려면
  1. Amazon MWAA 콘솔에서 환경 페이지를 엽니다.

  2. 환경을 선택합니다.

  3. 편집을 선택합니다.

  4. 다음을 선택합니다.

  5. 환경 클래스 창의 최대 작업자 수에 값을 입력합니다.

  6. 저장을 선택합니다.

참고

환경에 변경 사항이 적용되려면 몇 분 정도 걸릴 수 있습니다.

고성능 사용 사례 예시

다음 섹션에서는 환경에서 고성능 및 병렬 처리를 활성화하는 데 사용할 수 있는 구성 유형에 대해 설명합니다.

온프레미스 Apache Airflow

일반적으로 온프레미스 Apache Airflow 플랫폼에서는 파일에서 작업 병렬성, 자동 크기 조정 및 동시성 설정을 구성합니다. airflow.cfg

  • core.parallelism – 스케줄러당 동시에 실행할 수 있는 최대 작업 인스턴스 수입니다.

  • core.dag_concurrency – DAG의 최대 동시성(작업자 아님)

  • celery.worker_autoscale – 모든 작업자에서 동시에 실행할 수 있는 최대 및 최소 작업 수입니다.

예를 들어 core.parallelism을(를) 100(으)로 설정하고 core.dag_concurrency을(를) 7(으)로 설정한 경우 DAG가 2개인 경우에도 총 14개의 작업만 동시에 실행할 수 있습니다. 전체 병렬 처리가 core.parallelism에서 100(으)로 설정되어 있더라도 각 DAG는 core.dag_concurrency에서 7개의 작업만 동시에 실행하도록 설정되어 있습니다.

Amazon MWAA 환경

Amazon MWAA 환경에서는 Amazon MWAA에서 Apache Airflow 구성 옵션 사용Amazon MWAA 환경 클래스 구성, 및 최대 작업자 수 자동 조정 메커니즘을 사용하여 Amazon MWAA 콘솔에서 직접 이러한 설정을 구성할 수 있습니다. Amazon MWAA 콘솔의 Apache Airflow 구성 옵션으로는 드롭다운 목록에서 사용할 수 없지만 core.dag_concurrency 사용자 지정 Apache Airflow 구성 옵션으로 추가할 수 있습니다.

환경을 만들 때 다음 설정을 선택했다고 가정해 보겠습니다.

  1. 각 워커가 기본적으로 실행할 수 있는 최대 동시 작업 수와 컨테이너의 vCPU를 제어하는 mw1.small 환경 클래스입니다.

  2. 최대 작업자 수10 작업자 기본 설정입니다.

  3. 작업자당 5,5 작업 중 celery.worker_autoscale 작업에 대한 Apache Airflow 구성 옵션입니다.

즉, 해당 환경에서 50개의 작업을 동시에 실행할 수 있습니다. 50개를 초과하는 모든 작업은 대기열에 추가되며 실행 중인 작업이 완료될 때까지 기다립니다.

더 많은 동시 작업을 실행합니다. 다음 구성을 사용하여 더 많은 작업을 동시에 실행하도록 환경을 수정할 수 있습니다.

  1. mw1.medium (기본 동시 작업 10개) 환경 클래스를 선택하여 각 작업자가 기본적으로 실행할 수 있는 최대 동시 작업 수와 컨테이너의 vCPU를 늘립니다.

  2. celery.worker_autoscale을(를) Apache Airflow 구성 옵션으로 추가합니다.

  3. 최대 작업자 수를 늘립니다. 이 예제에서 최대 작업자를 10에서 20(으)로 늘리면 환경에서 실행할 수 있는 동시 작업 수가 두 배로 늘어납니다.

최소 작업자를 지정합니다. () 를 사용하여 사용자 환경에서 실행되는 Apache Airflow 작업자의 최소 및 최대 수를 지정할 수도 있습니다. AWS Command Line Interface 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에서 문제가 있는 작업을 지워야 합니다. 자세한 정보는 작업이 중단되거나 완료되지 않은 것으로 보임 문제 해결 단원을 참조하십시오.

다음 단계