MWAA 환경에서 Apache Airflow CLI를 사용할 때 발생하는 오류를 해결하려면 어떻게 해야 합니까?
Amazon Managed Workflows for Apache Airflow(Amazon MWAA) 환경에서 Apache Airflow Command Line Interface(CLI)를 사용할 때 발생하는 오류를 해결하려고 합니다.
간략한 설명
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
Amazon MWAA를 사용하면 사용자가 Apache Airflow CLI 명령을 사용하여 Apache Airflow 환경과 상호 작용할 수 있습니다. 이러한 명령은 Amazon MWAA 환경의 웹 서버에서 처리되며 인증에는 Apache Airflow CLI 토큰을 사용합니다.
참고: 일회성 작업과 같은 동기식 작업의 경우 Apache Airflow CLI만 사용하는 것이 모범 사례입니다. DAG 호출과 같은 비동기식 작업에 Apache Airflow CLI를 사용하는 것은 모범 사례가 아닙니다. 모든 사용자가 웹 서버를 사용할 수 있도록 하려면 동시 사용하는 Apache Airflow 명령 수를 최대 4개로 제한하십시오.
다음은 Amazon MWAA 환경에서 Apache Airflow CLI를 사용할 때 발생할 수 있는 일반적인 오류입니다.
- 액세스 거부 오류
- DAG를 찾을 수 없음 오류
- 4## HTTP 응답 코드 오류
- 5## HTTP 응답 코드 오류
해결 방법
Apache Airflow CLI를 사용할 때 나타나는 오류 메시지는 다음과 같은 오류 유형에 기반하여 해결하십시오.
액세스 거부 오류
다음 오류 메시지 또는 다음과 유사한 메시지를 받았는지 확인하십시오.
"AccessDeniedException: An error occurred (AccessDeniedException) when calling the CreateCliToken operation: User: is not authorized to perform: airflow:CreateCliToken on resource."
이 오류를 해결하려면 구성된 AWS Identity and Access Management(IAM) 보안 주체에 필요한 권한 정책 문이 있는지 확인합니다. 권한 정책 문에서는 IAM 보안 주체가 airflow:CreateCliToken API를 수행할 수 있도록 허용해야 합니다. 다음 IAM 정책을 IAM 보안 주체에 연결하여 Apache Airflow CLI 토큰을 생성할 수 있도록 허용하십시오.
참고: example-region을 필요한 AWS 리전으로 바꾸고, example-account-number를 필요한 계정 번호로 바꾸고, example-environment-name을 환경 이름으로 바꾸십시오.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:CreateCliToken" ], "Resource": "arn:aws:airflow:::environment/" } ] }
DAG를 찾을 수 없음 오류
dags list 및 dags next-execution과 같은 Apache Airflow CLI 명령을 사용하려면 DAG 파일을 구문 분석해야 합니다. 웹 서버에 설치되지 않은 패키지에 의해 처리된 DAG가 있는 경우 다음 오류 또는 유사한 오류가 나타납니다.
"airflow.exceptions.AirflowException: Dag 'sample\_\_dag' could not be found; either it does not exist or it failed to parse."
프라이빗 전용 웹 서버를 사용하는 Amazon MWAA 환경의 경우 웹 서버는 인터넷에 액세스하여 추가 패키지를 설치할 수 없습니다. 추가 패키지는 Python Package Index 공개 리포지토리에서 찾을 수 있습니다. 자세한 내용은 Python Package Index 웹사이트에서 Python Package Index를 참조하십시오. 웹 서버가 Python Package Index 또는 공개적으로 호스팅되는 다른 리포지토리에서 패키지를 설치하려고 하면 패키지 설치에 실패합니다. 이 문제를 해결하려면 Python wheels(.whl) 파일에서 requirement 파일에 목록으로 추가된 패키지를 설치하십시오.
참고: 웹 서버에 추가 패키지를 설치한 후에는 DAG 파일을 구문 분석해야 하는 Apache Airflow CLI 명령이 성공적으로 실행됩니다.
4## HTTP 응답 오류 코드
400 HTTP 응답 - 명령 구문 분석 오류
이 오류는 Apache Airflow 명령 구문 분석 오류를 나타냅니다. 이 오류는 Apache Airflow CLI 명령을 잘못된 구문(예: 파라미터 누락 또는 잘못된 옵션)으로 제출했을 때 발생합니다. 이 오류를 해결하려면 사용하는 Apache Airflow CLI 명령에 올바른 구문을 사용해야 합니다. 자세한 내용은 Apache Airflow 웹사이트에서 명령줄 인터페이스 및 환경 변수 참조를 참조하십시오.
참고: 오픈 소스 Apache Airflow CLI 명령의 경우 airflow [-h] GROUP_OR_COMMAND 명령 구조가 사용됩니다. Amazon MWAA 환경의 Apache Airflow CLI 명령에는 [-h] GROUP_OR_COMMAND 명령 구조가 사용됩니다.
403 forbidden HTTP 응답 - 요청된 리소스에 액세스할 수 있는 권한이 없음
이 오류는 요청된 리소스에 액세스할 수 있는 권한이 없으며 해당 리소스가 읽기 보호되어 있거나 서버에서 읽을 수 없음을 나타냅니다. 이 오류는 만료된 인증 토큰을 사용하여 Apache Airflow CLI 명령을 제출할 때 발생합니다. 인증 토큰은 60초 동안 유효하며 조정하거나 늘릴 수 없는 고정 제한입니다. 이 오류를 해결하려면 새 토큰을 생성한 후 Apache Airflow CLI 명령을 다시 제출하십시오.
참고: Amazon MWAA는 두 개의 토큰 즉, CLI 토큰과 웹 로그인 토큰을 인증에 사용합니다. CLI 토큰은 사용자를 인증하며 사용자가 Apache Airflow CLI 명령을 제출할 수 있도록 합니다. 웹 로그인 토큰은 환경의 Apache Airflow UI에 로그인하는 사용자를 인증합니다. Apache Airflow CLI 요청에서 웹 로그인 토큰을 사용하는 경우 해당 토큰은 유효하지 않으며 웹 서버는 403 forbidden HTTP 응답을 반환합니다. 이 문제를 해결하려면 Amazon MWAA 환경을 위한 CLI 토큰을 생성하도록 스크립트를 업데이트하십시오.
405 HTTP 응답 - 잘못된 요청이 생성됨
이 오류는 해당 요청이 유효하지 않음을 나타냅니다. 이 오류는 POST 요청을 사용하여 Apache Airflow CLI 명령을 웹 서버에 제출하지 않을 때 발생합니다. 이 오류를 해결하려면 POST 메서드를 사용하여 웹 서버에 요청하도록 스크립트를 업데이트하십시오.
405 HTTP 응답 - 죄송합니다! 문제가 발생했습니다.
이 오류는 지원되지 않는 Apache Airflow CLI 명령이 제출되었음을 나타냅니다. 이 문제를 해결하려면 사용하는 명령이 사용자 환경에서 사용되는 Apache Airflow 버전에서 지원되는지 확인하십시오.
5## HTTP 응답 오류 코드
500 HTTP 응답 - 응답 시간 초과
Apache Airflow CLI 명령은 Amazon MWAA 환경의 웹 서버에 의해 처리됩니다. 환경이 프라이빗 전용 액세스만 가능하도록 구성된 경우 웹 서버를 공개적으로 라우팅할 수 없습니다. 이 오류를 해결하려면 Apache Airflow CLI 명령이 제출되는 로컬 시스템에서 프라이빗 웹 서버로의 사용 가능한 경로를 제공하십시오. 자세한 내용은 Amazon MWAA 환경에서 프라이빗 네트워크 액세스 모드를 사용하여 Apache Airflow UI에 액세스하려면 어떻게 해야 합니까?를 참조하십시오.
503 HTTP 응답
이 오류는 권장 Apache Airflow CLI 명령 동시성을 초과했음을 나타냅니다. 이로 인해 웹 서버 리소스 사용률이 증가하여 웹 서버를 사용할 수 없게 될 수 있습니다. 이 오류를 해결하려면 Apache Airflow CLI 명령을 제출하는 속도를 낮추십시오. 새 명령을 제출하기 전에 이전 명령을 완료해야 합니다.
관련 콘텐츠
- 질문됨 한 달 전lg...
- 질문됨 9달 전lg...
- 질문됨 2년 전lg...
- 질문됨 9달 전lg...
- AWS 공식업데이트됨 3달 전
- AWS 공식업데이트됨 3달 전
- AWS 공식업데이트됨 일 년 전