Amazon Managed Workflows for Apache Airflow(Amazon MWAA)의 Apache Airflow UI 액세스 문제를 해결하고 싶습니다.
간략한 설명
Amazon MWAA에서 Apache Airflow UI에 액세스하려고 하면 죄송합니다. 문제가 발생했습니다 또는 403 금지됨 오류가 발생할 수 있습니다. 이러한 오류는 AWS Identity and Access Management(IAM) 역할에 필요한 권한이 없을 때 발생합니다.
서버 오류와 5xx 오류가 발생할 수도 있습니다. 이러한 오류는 DNS 문제, Amazon Virtual Private Cloud(Amazon VPC) 연결 문제 또는 환경 요구 사항과의 비호환성 때문에 발생합니다.
Amazon MWAA는 Apache Airflow UI에 퍼블릭 및 프라이빗 네트워크 액세스 모드를 제공합니다. 프라이빗 모드에서 연결 시간 초과 오류가 발생하는 경우 Amazon VPC에 중간 메커니즘이 올바르게 구성되어 있는지 확인하십시오.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
"죄송합니다. 문제가 발생했습니다" 오류 또는 403 금지됨 오류 해결
죄송합니다. 문제가 발생했습니다 오류 또는 403 금지됨 오류를 해결하려면 IAM 역할의 IAM 액세스 정책 권한을 확인합니다. airflow:CreateWebLoginToken 권한을 포함하도록 IAM 액세스 역할 정책을 편집합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "airflow:CreateWebLoginToken",
"Resource": "arn:aws:airflow:example-region:example-account-id:role/example-mwaa-environment/example-role";
}
]
}
참고: example-region을 AWS 리전으로, example-account-id를 계정 ID로, example-role을 Admin, Op, User, Viewer 또는 Public으로 바꾸십시오. UI 액세스를 위해서는 IAM 액세스 정책이 Apache Airflow가 지원하는 사전 정의된 역할 기반 액세스 제어(RBAC) 역할과 일치해야 합니다. 자세한 내용은 Apache Airflow UI 액세스 정책: AmazonMWAAWebServerAccess를 참조하십시오.
만료된 웹 로그인 토큰으로 인한 403 금지됨 오류 해결
웹 로그인 토큰의 유효 기간은 60초입니다. 프라이빗 웹 서버 액세스의 경우 배스천 호스트 또는 AWS Client VPN과 같은 메커니즘을 사용하십시오.
UI에 액세스하기 전에 웹 로그인 토큰을 생성하려면 create-web-login-token 명령을 실행합니다.
token=$(aws mwaa create-web-login-token --name example-mwaa-environment)
WEB_TOKEN=$(echo $token | jq --raw-output '.WebToken')
echo $WEB_TOKEN
참고: example-mwaa-environment를 Amazon MWAA 환경 이름으로 바꾸십시오.
Application Load Balancer 뒤의 Apache Airflow UI에 액세스하려면 URL에 다음 형식을 사용하십시오.
https://example-alb-dns/aws_mwaa/aws-console-sso?login=true#example-web-token
참고: example-alb-dns를 Application Load Balancer DNS로, example-web-token을 웹 토큰으로 바꾸십시오.
Amazon VPC 액세스의 경우 LiveHosts 또는 내부 리디렉터와 같은 브라우저 확장 기능을 사용하여 Airflow 엔드포인트를 Application Load Balancer DNS로 리디렉션합니다.
서버 오류 및 5xx 오류 해결
시작하기 전에 AWS 지원 도구에서 Amazon MWAA 확인 스크립트를 실행하여 환경의 상태를 확인합니다. 자세한 내용은 GitHub 웹사이트의 aws-support-tools를 참조하십시오. 그런 다음 실행 역할 권한, DNS 설정 및 네트워크 구성, 리소스 경합을 확인합니다.
실행 역할 권한 확인
실행 역할 정책을 검토하고 편집하려면 실행 역할 정책 보기 및 업데이트를 참조하십시오.
DNS 설정 및 네트워크 구성 확인
DNS 설정 및 네트워크 구성이 웹 서버와 메타데이터베이스에 대한 액세스를 허용하는지 확인하십시오.
DNS 설정 및 네트워크 구성 문제를 해결하려면 다음 작업을 수행하십시오.
리소스 경합 확인
CPU와 메모리 사용량이 많은 스케줄러, 웹 서버 및 작업자 구성 요소는 UI 액세스 문제를 일으킬 수 있습니다. 또한 잘못된 DAG 구문이나 호환성 문제로 인해 리소스 경합이 발생할 수 있습니다. 이러한 문제가 발생하면 Airflow UI에 액세스할 때 죄송합니다. 문제가 발생했습니다 오류 또는 5xx 오류가 발생합니다. 리소스 경합을 확인하려면 Amazon CloudWatch 지표인 CPUUtilization 및 MemoryUtilization에서 CPU와 메모리 사용량이 높은지 검토합니다.
DAG 중 하나가 액세스 문제를 일으키는지 확인하려면 Amazon Simple Storage Service(Amazon S3)의 사용자 환경에 있는 DAG 위치에서 모든 Python 파일을 제거합니다. 그런 다음 한 번에 하나씩 다시 추가하면서 UI 액세스 또는 성능의 변화를 모니터링하여 영향을 주는 DAG를 파악합니다.
자세한 내용은 Amazon MWAA에서 스케줄러와 관련된 일반적인 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.
Python 패키지 버전 요구 사항 확인
호환되지 않는 Python 패키지 버전은 Airflow UI 액세스 문제를 일으킬 수 있습니다. 이 문제를 해결하려면 호환되지 않는 종속성이나 누락된 제약 조건이 있는지 확인하십시오. 또한 CloudWatch의 Airflow 로그에서 Airflow 스케줄러, 작업자 및 웹 서버를 확인하십시오. DAG 처리, 요구 사항 설치 또는 플러그인 런타임과 관련된 오류가 있는지 확인합니다.
자세한 내용은 Amazon MWAA 환경에 라이브러리를 설치하려면 어떻게 해야 합니까?를 참조하십시오.
관련 정보
웹 서버에 액세스하는 중 5xx 오류 발생