Amazon MWAA 네트워크 아키텍처 살펴보기 - Amazon Managed Workflows for Apache Airflow

Amazon MWAA 네트워크 아키텍처 살펴보기

다음 섹션에서는 Amazon MWAA 환경을 구성하는 주요 구성 요소와 각 환경이 리소스를 관리하고, 데이터를 안전하게 유지하고, 워크플로에 대한 모니터링 및 가시성을 제공하기 위해 통합되는 AWS 서비스 세트에 대해 설명합니다.

Amazon MWAA 구성 요소

Amazon MWAA 환경은 다음과 같은 네 가지 주요 구성 요소로 구성되어 있습니다.

  1. 스케줄러 — 모든 DAG를 구문 분석 및 모니터링하고 DAG의 종속성이 충족되면 실행을 위해 작업을 대기열에 넣습니다. Amazon MWAA는 스케줄러를 최소 2개의 스케줄러가 있는 AWS Fargate 클러스터로 배포합니다. 워크로드에 따라 스케줄러 수를 최대 5개까지 늘릴 수 있습니다. Amazon MWAA 환경 클래스에 대한 자세한 내용은 Amazon MWAA 환경 클래스를 참조하십시오.

  2. 작업자 — 예약된 작업을 실행하는 하나 이상의 Fargate 작업. 사용자 환경의 작업자 수는 지정한 최소최대 수 사이의 범위에 따라 결정됩니다. Amazon MWAA는 대기하고 실행 중인 작업의 수가 기존 작업자가 처리할 수 있는 양보다 많을 때 작업자 자동 규모 조정을 시작합니다. 실행 중인 작업과 대기 중인 작업의 합계가 2분 이상 0이 되면 Amazon MWAA는 작업자 수를 최소로 축소합니다. Amazon MWAA가 자동 규모 조정 작업자를 처리하는 방법에 대한 자세한 내용은 Amazon MWAA 자동 규모 조정을 참조하십시오.

  3. 웹 서버 — Apache Airflow 웹 UI를 실행합니다. 프라이빗 또는 퍼블릭 네트워크 액세스로 웹 서버를 구성할 수 있습니다. 두 경우 모두 Apache Airflow 사용자의 액세스는 AWS Identity and Access Management(IAM)에서 정의한 액세스 제어 정책 및 SSO에 의해 제어됩니다. 환경에 대한 IAM 액세스 정책을 구성하는 방법에 대한 자세한 내용은 Amazon MWAA 환경 액세스를 참조하십시오.

  4. 데이터베이스 — DAG 실행 기록을 포함하여 Apache Airflow 환경 및 워크플로에 대한 메타데이터를 저장합니다. 데이터베이스는 AWS에서 관리하는 단일 테넌트 Aurora PostgreSQL 데이터베이스이며 비공개로 보호된 Amazon VPC 엔드포인트를 통해 스케줄러작업자 Fargate 컨테이너에 액세스할 수 있습니다.

또한 모든 Amazon MWAA 환경은 DAG 및 작업 종속성 저장 및 액세스, 저장된 데이터 보호, 환경 로깅 및 모니터링을 비롯한 다양한 태스크를 처리하기 위한 일련의 AWS 서비스와 상호 작용합니다. 다음 다이어그램은 Amazon MWAA 환경의 다양한 구성 요소를 보여줍니다.

이 이미지는 Amazon MWAA 환경의 아키텍처를 보여줍니다.
참고

서비스 Amazon VPC는 공유 VPC가 아닙니다. Amazon MWAA는 사용자가 생성하는 모든 환경에 대해 AWS 소유의 VPC를 생성합니다.

  • Amazon S3 — Amazon MWAA는 DAG, 요구 사항 및 플러그인 파일과 같은 모든 워크플로 리소스를 Amazon S3 버킷에 저장합니다. 환경 생성의 일환으로 버킷을 생성하고 Amazon MWAA 리소스를 업로드하는 방법에 대한 자세한 내용은 Amazon MWAA 사용 설명서Amazon MWAA용 Amazon S3 버킷 생성을 참조하십시오.

  • Amazon SQS — Amazon MWAA는 Amazon SQS를 사용하여 Celery 실행자로 워크플로 작업을 대기열에 추가합니다/

  • Amazon ECR — Amazon ECR은 모든 Apache Airflow 이미지를 호스팅합니다. Amazon MWAA는 AWS 관리형 Apache Airflow 이미지만 지원합니다.

  • AWS KMS — Amazon MWAA는 저장된 데이터를 안전하게 보호하기 위해 AWS KMS를 사용합니다. 기본적으로 Amazon MWAA는 AWS관리형 AWS KMS 키를 사용하지만 고객이 관리형 AWS KMS 키를 사용하도록 환경을 구성할 수 있습니다. 자체 고객 관리형 AWS KMS 키 사용에 대한 자세한 내용은 Amazon MWAA 사용 설명서데이터 암호화를 위한 고객 관리형 키를 참조하십시오.

  • CloudWatch — Amazon MWAA는 CloudWatch와 통합되어 Apache Airflow 로그 및 환경 지표를 CloudWatch에 제공하므로, 사용자는 Amazon MWAA 리소스를 모니터링하고 문제를 해결할 수 있습니다.

연결

Amazon MWAA 환경은 통합되는 모든 AWS 서비스에 액세스할 수 있어야 합니다. Amazon MWAA 실행 역할은 사용자를 대신하여 다른 AWS 서비스에 연결할 수 있도록 Amazon MWAA에 액세스 권한을 부여하는 방법을 제어합니다. 네트워크 연결의 경우 Amazon VPC에 대한 퍼블릭 인터넷 액세스를 제공하거나 Amazon VPC 엔드포인트를 생성할 수 있습니다. 환경에 맞게 Amazon VPC 엔드포인트(AWS PrivateLink)를 구성하는 방법에 대한 자세한 내용은 Amazon MWAA 사용 설명서Amazon MWAA의 VPC 엔드포인트에 대한 액세스 관리를 참조하십시오.

Amazon MWAA는 스케줄러 및 작업자에 요구 사항을 설치합니다. 요구 사항이 공개 PyPI 리포지토리에서 제공되는 경우 필요한 라이브러리를 다운로드하려면 환경에 인터넷에 연결되어 있어야 합니다. 프라이빗 환경의 경우 프라이빗 PyPI 리포지토리를 사용하거나 라이브러리를 사용자 환경에 맞는 사용자 지정 플러그인으로 .whl 파일에 번들로 묶을 수 있습니다.

Apache Airflow를 프라이빗 모드로 구성하면 Amazon VPC 엔드포인트를 통해서만 Amazon VPC가 Apache Airflow UI에 액세스할 수 있습니다.

네트워킹에 대한 자세한 내용은 Amazon MWAA 사용 설명서네트워킹을 참조하십시오.