Amazon MWAA 환경에 사용자 지정 패키지를 설치하려면 어떻게 해야 하나요?

3분 분량
0

Amazon Managed Workflows for Apache Airflow(Amazon MWAA) 환경에 plugins.zip 사용자 지정 패키지를 설치하고 싶습니다.

간략한 설명

requirements.txt 및 plugins.zip 파일을 사용하여 Amazon MWAA에 Python 라이브러리를 설치합니다. requirements.txt 파일을 사용하여 패키지를 설치하는 경우 패키지는 기본적으로 Python 패키지 인덱스(PyPI 웹 사이트)에서 설치됩니다. 컴파일된 아티팩트와 함께 라이브러리(.whl 파일)를 제공하는 경우 plugins.zip 파일을 사용하여 이러한 Python 휠을 설치합니다.

plugins.zip 파일을 사용하여 사용자 지정 Apache Airflow 연산자, 후크, 센서 또는 인터페이스를 설치합니다. 이 파일은 /usr/local/airflow/plugins/ 위치의 백엔드 Amazon ECS Fargate 컨테이너에 기록됩니다. 플러그인을 사용하여 환경 변수와 인증 및 구성 파일(예: .crt.yaml)을 내보낼 수도 있습니다.

해결 방법

Python 휠로 라이브러리 설치

Python 휠은 컴파일된 아티팩트가 있는 패키지 파일입니다. 이 패키지를 설치하려면 (.whl) 파일을 plugins.zip 파일에 넣은 다음 requirements.txt 파일에서 이 파일을 참조하세요. .whl 파일을 plugins.zip 파일에 추가한 후 환경을 업데이트하면 .whl이 /usr/local/airflow/plugins/ 위치로 제공됩니다. 이 위치는 기본 Amazon Elastic Container Service(Amazon ECS) Fargate 컨테이너에 있습니다.

Python 휠로 라이브러리를 설치하려면 Amazon MWAA 환경에 라이브러리를 설치하려면 어떻게 해야 합니까?를 참조하세요.

사용자 지정 연산자, 후크, 센서 또는 인터페이스 설치

Amazon MWAA는 사용자 지정 Apache Airflow 연산자, 후크 센서 또는 인터페이스의 사용을 허용하는 Apache Airflow의 내장 플러그인 관리자를 지원합니다. 이러한 사용자 지정 플러그인은 플랫 및 중첩된 디렉터리 구조로 plugins.zip 파일에 배치될 수 있습니다. 사용자 지정 플러그인의 예는 사용자 지정 플러그인의 예를 참조하세요.

런타임 환경 변수를 생성하는 사용자 지정 플러그인 생성

Amazon MWAA 환경에서 런타임 환경 변수를 생성하는 사용자 지정 플러그인을 생성할 수도 있습니다. 그런 다음, Directed Acyclic Graph(DAG) 코드에서 이러한 환경 변수를 사용할 수 있습니다. 자세한 내용은 런타임 환경 변수를 생성하는 사용자 지정 플러그인 생성을 참조하세요.

PEM, .crt 및 구성 파일 내보내기

환경이 실행될 때 특정 파일을 지속적으로 업데이트할 필요가 없는 경우 plugins.zip 를 사용하여 이러한 파일을 제공하세요. 또한 DAG를 쓰는 사용자에게 액세스 권한을 부여할 필요가 없는 파일을 배치할 수 있습니다. 이러한 파일에는 인증서(.crt) 파일, PEM 파일 및 구성 YAML 파일이 포함됩니다. 파일을 plugins.zip 파일로 압축한 후 plugins.zip 파일을 S3에 업로드합니다. 그런 다음 환경을 업데이트합니다. 파일이 /usr/local/airflow/plugins에 액세스하는 데 필요한 권한으로 복제됩니다.

사용자 지정 CA 인증서를 plugins.zip 파일에 압축하려면 다음 명령을 실행합니다.

$ zip plugins.zip ca-certificates.crt

파일이 이제 /usr/local/airflow/plugins/ca-certificates.crt에 있습니다. kube_config.yaml을 plugins.zip 파일에 압축하려면 다음 명령을 실행합니다.

$ zip plugins.zip kube_config.yaml

파일이 이제 /usr/local/airflow/plugins/kube_config.yaml에 있습니다.

설치 프로세스 문제 해결

이러한 패키지 설치에 문제가 있는 경우 aws-mwaa-local-runner를 사용하여 DAG, 사용자 지정 플러그인 또는 Python 종속성을 로컬에서 테스트할 수 있습니다.

plugins.zip 파일을 사용하여 Python 패키지를 설치할 때 발생하는 문제를 해결하려면 Apache Airflow Worker 또는 Scheduler 로그 그룹에서 로그 파일(requirements_install_ip)을 볼 수 있습니다.

중요: Amazon MWAA 환경에 패키지 또는 plugins.zip 파일을 설치하기 전에 Amazon MWAA CLI 유틸리티를 사용하여 Python 종속성과 plugins.zip 파일을 테스트(aws-mwaa-local-runner)하는 것이 모범 사례입니다.

관련 정보

플러그인

AWS 공식
AWS 공식업데이트됨 8달 전
댓글 없음