제퍼넷 로고

Amazon MWAA 더 큰 환경 크기 소개 | 아마존 웹 서비스

시간

Apache Airflow용 Amazon 관리형 워크플로 (Amazon MWAA)는 다음을 위한 관리형 서비스입니다. 아파치 에어 플로우 이는 클라우드에서 데이터 파이프라인을 조정하기 위해 인프라의 설정과 운영을 간소화합니다. 고객은 Amazon MWAA를 사용하여 Apache Airflow 환경의 확장성, 가용성 및 보안을 관리합니다. 더욱 집약적이고 복잡하며 지속적으로 성장하는 데이터 처리 파이프라인을 설계함에 따라 고객은 작업 및 워크플로우에 더 큰 동시성과 용량을 제공하기 위해 추가적인 기본 리소스를 요청해 왔습니다.

이 문제를 해결하기 위해 오늘 Amazon MWAA에서 더 큰 환경 클래스를 사용할 수 있음을 발표합니다. 이 게시물에서는 이러한 새로운 XL 및 2XL 환경의 기능, 적합한 시나리오, 기존 Amazon MWAA 환경을 설정하거나 업그레이드하여 증가된 리소스를 활용하는 방법에 대해 자세히 알아봅니다.

현재의 과제

Amazon MWAA 환경을 생성하면 관리되는 일련의 Amazon 탄력적 컨테이너 서비스 (아마존 ECS) AWS 파게이트 컨테이너는 정의된 가상 CPU 및 RAM으로 프로비저닝됩니다.

더 크고 복잡하며 리소스 집약적인 워크로드를 처리하거나 수천 개의 워크로드를 실행할 때 방향성 비순환 그래프 (DAG)씩 스케줄러와 작업자의 CPU 가용성이 소진되거나 작업자의 메모리 한도에 도달하기 시작할 수 있습니다. 대규모로 Apache Airflow를 실행하면 Airflow 메타데이터 데이터베이스에 비례적으로 더 많은 로드가 발생하고 때로는 기본 데이터베이스에서 CPU 및 메모리 문제가 발생합니다. Amazon 관계형 데이터베이스 서비스 (Amazon RDS) 클러스터. 리소스가 부족한 메타데이터 데이터베이스로 인해 작업자의 연결이 끊어지고 작업이 조기에 실패할 수 있습니다.

작업의 성능과 탄력성을 향상하려면 다음을 고려하세요. Apache Airflow 모범 사례 DAG를 작성합니다. 대안으로 여러 Amazon MWAA 환경을 생성하여 워크로드를 분산할 수 있습니다. 그러나 이를 위해서는 추가적인 엔지니어링 및 관리 노력이 필요합니다.

새로운 환경 클래스

오늘 릴리스를 통해 이제 기존 환경 클래스 외에도 Amazon MWAA에서 XL 및 2XL 환경을 생성할 수 있습니다. 현재 대규모 Amazon MWAA 환경 인스턴스 클래스에 비해 각각 XNUMX배 및 XNUMX배의 컴퓨팅 성능과 XNUMX배 및 XNUMX배의 메모리 성능을 갖추고 있습니다. 이러한 인스턴스는 컴퓨팅과 RAM을 선형적으로 추가하여 모든 Apache Airflow 구성 요소의 용량과 성능을 직접적으로 향상시킵니다. 다음 표에는 환경 역량.

. 스케줄러 및 작업자 CPU/RAM

웹 서버

CPU / 램

동시 작업 DAG 용량
mw1.xlarge vCPU 8개/24GB vCPU 4개/12GB 작업 40개(기본값) 최대 2000까지
mw1.2x대형 vCPU 16개/48GB vCPU 8개/24GB 작업 80개(기본값) 최대 4000까지

이러한 대규모 환경이 도입됨에 따라 Amazon Aurora 메타데이터 데이터베이스는 이제 AWS 그래비톤2. Graviton2 프로세서 제품군을 사용하면 컴퓨팅, 스토리지 및 네트워킹이 향상되고 AWS 프로세서 제품군이 제공하는 탄소 배출량이 줄어듭니다.

가격 정책

Amazon MWAA 가격 차원은 변경되지 않으며 사용한 만큼만 비용을 지불합니다.

  • 환경 수업
  • 추가 작업자 인스턴스
  • 추가 스케줄러 인스턴스
  • 소비된 메타데이터 데이터베이스 스토리지

이제 처음 2개 차원에 환경 클래스, 추가 작업자 및 스케줄러 인스턴스에 대한 XL 및 XNUMXXL이라는 두 가지 추가 옵션이 제공됩니다. 메타데이터 데이터베이스 스토리지 가격은 동일하게 유지됩니다. 인용하다 Apache Airflow를 위한 Amazon 관리형 워크플로 요금 요금 및 자세한 내용을 확인하세요.

더 큰 환경으로의 확장을 계획하려면 Amazon MWAA 성능을 관찰하세요.

새 환경 클래스를 사용하기 전에 메타데이터 데이터베이스 메모리 부족, 작업자 또는 스케줄러가 높은 CPU 사용량으로 실행되는 등 용량 문제와 관련된 시나리오에 있는지 이해하는 것이 중요합니다. 환경 리소스의 성능을 이해하는 것은 용량과 관련된 문제를 해결하는 데 중요합니다. 다음에 설명된 지침을 따르는 것이 좋습니다. Amazon MWAA 환경에 대한 컨테이너, 데이터베이스 및 대기열 활용도 지표 소개 Amazon MWAA 환경의 상태를 더 잘 이해하고 인스턴스 크기를 적절하게 조정하기 위한 통찰력을 얻으려면

다음 테스트에서는 고부하 시나리오를 시뮬레이션합니다. CloudWatch 관측 가능성 지표 일반적인 문제를 식별하고 문제를 완화하기 위해 더 큰 환경으로 확장할 계획을 세우는 현명한 결정을 내립니다.

테스트 중에 우리는 500개 이상의 작업을 동적으로 생성하고 외부 센서를 사용하여 다른 DAG에서 작업 완료를 기다리는 복잡한 DAG를 실행했습니다. 최대 10개의 작업자 노드로 Auto Scaling이 설정된 Amazon MWAA 대규모 환경 클래스에서 실행한 후 다음 지표와 값을 확인했습니다. CloudWatch 대시보드.

작업자 노드가 최대 CPU 용량에 도달하여 대기 중인 작업 수가 계속 증가합니다. 메타데이터 데이터베이스 CPU 사용률은 65% 이상으로 최고조에 이르렀으며 사용 가능한 데이터베이스 여유 메모리가 감소했습니다. 이 상황에서는 확장을 위해 작업자 노드를 더 늘릴 수 있지만 그렇게 하면 메타데이터 데이터베이스 CPU에 추가 로드가 발생합니다. 이로 인해 작업자 데이터베이스 연결 수와 사용 가능한 여유 데이터베이스 메모리가 줄어들 수 있습니다.

새로운 환경 클래스를 사용하면 다음 스크린샷에 표시된 것처럼 환경을 편집하고 더 높은 환경 클래스를 선택하여 수직으로 확장하여 사용 가능한 리소스를 늘릴 수 있습니다.

환경 목록에서 이 테스트에 사용되는 환경을 선택합니다. 선택하다 편집 로 이동 고급 설정 구성 페이지에서 필요에 따라 적절한 xlarge 또는 2xlarge 환경을 선택하십시오.

변경 사항을 저장한 후 환경 업그레이드를 완료하는 데 20~30분이 소요됩니다. 업그레이드 중에 중단된 실행 중인 DAG는 DAG에 대한 재시도를 구성한 방식에 따라 재시도가 예약됩니다. 이제 수동으로 호출하거나 다음 예약된 실행을 기다리도록 선택할 수 있습니다.

환경 클래스를 업그레이드한 후 동일한 DAG를 테스트하고 이제 더 많은 리소스를 사용할 수 있으므로 측정항목이 향상된 값을 표시하는 것을 관찰했습니다. 이 XL 환경을 사용하면 더 적은 수의 작업자 노드에서 더 많은 작업을 실행할 수 있으므로 대기 중인 작업 수가 계속 감소합니다. 또는 더 많은 메모리 및/또는 CPU가 필요한 작업이 있는 경우 작업자당 작업 수를 줄이면서도 더 큰 환경 크기로 작업자당 작업 수를 계속 높일 수 있습니다. 예를 들어 작업자 노드 CPU가 다음과 같이 최대화되는 대규모 환경이 있는 경우 celery.worker_autoscale (작업자당 작업 수를 정의하는 Airflow 구성) 20,20으로 설정하면 XL 환경으로 늘려서 설정할 수 있습니다. celery.worker_autoscale XL 환경에서 작업자당 기본 20,20개의 작업이 아닌 XL에서 40으로 변경하면 CPU 부하가 크게 줄어듭니다.

Amazon MWAA에서 새로운 XL 환경 설정

여러분의 시간과 재능으로 Amazon MWAA 시작하기 귀하의 계정과 선호하는 AWS 지역에서 AWS 관리 콘솔, API 또는 AWS 명령 줄 인터페이스 (AWS CLI). IaC(코드형 인프라)를 채택하는 경우 다음을 사용하여 설정을 자동화할 수 있습니다. AWS 클라우드 포메이션Walk Through California 프로그램, AWS 클라우드 개발 키트 (AWS CDK) 또는 Terraform 스크립트.

Amazon MWAA XL 및 2XL 환경 클래스는 현재 Amazon MWAA가 제공되는 모든 리전에서 사용할 수 있습니다.

결론

오늘 우리는 Amazon MWAA에서 두 가지 새로운 환경 클래스를 사용할 수 있음을 발표합니다. XL 및 2XL 환경 클래스를 사용하면 더 많은 양의 복잡하거나 리소스 집약적인 워크플로를 조율할 수 있습니다. 종속성이 높은 DAG를 실행하거나, 여러 환경에서 수천 개의 DAG를 실행하거나, 컴퓨팅을 위해 작업자를 많이 사용해야 하는 시나리오에서는 이제 환경 리소스를 몇 가지로 늘려 관련 용량 문제를 극복할 수 있습니다. 간단한 단계.

이 게시물에서는 가격 책정 및 이들이 해결하는 몇 가지 일반적인 리소스 제약 문제를 포함하여 두 가지 새로운 환경 클래스의 기능에 대해 논의했습니다. XL 또는 2XL로의 확장을 계획하기 위해 기존 환경을 관찰하는 방법에 대한 지침과 예를 제공했으며, 증가된 리소스를 사용하기 위해 기존 환경을 업그레이드하는 방법을 설명했습니다.

Amazon MWAA에 대한 추가 세부 정보 및 코드 예제는 다음을 방문하십시오. Amazon MWAA 사용 설명서 그리고 Amazon MWAA 예제 GitHub 리포지토리.

Apache, Apache Airflow 및 Airflow는 다음의 등록 상표 또는 상표입니다. Apache Software Foundation 미국 및 / 또는 기타 국가에서.


저자에 관하여

에르난 가르시아 네덜란드에 본사를 둔 AWS의 수석 솔루션 아키텍트입니다. 그는 금융 서비스 업계에서 근무하며 기업의 클라우드 도입을 지원합니다. 그는 서버리스 기술, 보안 및 규정 준수에 열정을 갖고 있습니다. 그는 가족, 친구들과 함께 시간을 보내고 다양한 요리의 새로운 요리를 맛보는 것을 즐깁니다.

지텐드라 바이디야 AWS의 수석 솔루션 아키텍트로서 AI/ML, 서버리스 및 데이터 분석 영역에 대한 전문 지식을 제공합니다. 그는 고객이 안전하고 확장 가능하며 신뢰할 수 있고 비용 효과적인 솔루션을 설계하도록 지원하는 데 열정을 쏟고 있습니다.

스리하쉬 아다리 그는 AWS의 수석 솔루션 아키텍트로서 고객이 비즈니스 결과를 바탕으로 AWS에서 혁신적인 솔루션을 개발할 수 있도록 지원합니다. 수년에 걸쳐 그는 업계 전반에 걸쳐 데이터 플랫폼 전환에 관해 여러 고객을 도왔습니다. 그의 핵심 전문 분야는 기술 전략, 데이터 분석, 데이터 과학입니다. 여가 시간에는 스포츠, TV 프로그램 시청, Tabla 게임을 즐깁니다.

spot_img

최신 인텔리전스

spot_img