Apache Airflow 웹 서버 액세스 토큰 생성 - Amazon Managed Workflows for Apache Airflow

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Apache Airflow 웹 서버 액세스 토큰 생성

이 페이지의 명령을 사용하여 웹 서버 액세스 토큰을 생성할 수 있습니다. 액세스 토큰을 통해 Amazon MWAA 환경에 액세스할 수 있습니다. 예를 들어, 토큰을 얻은 다음 Amazon MWAA API를 사용하여 프로그래밍 방식으로 DAG를 배포할 수 있습니다. 다음 섹션에는 AWS CLI, bash 스크립트, POST API 요청 또는 Python 스크립트를 사용하여 Apache Airflow 웹 로그인 토큰을 생성하는 단계가 포함되어 있습니다. 응답에 반환되는 토큰은 60초 동안 유효합니다.

필수 조건

다음 섹션에서는 이 페이지의 명령과 스크립트를 사용하는 데 필요한 예비 단계를 설명합니다.

액세스

AWS CLI

AWS Command Line Interface(AWS CLI)는 명령줄 쉘의 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다. 이 페이지에서 단계를 완료하려면 다음이 필요합니다.

AWS CLI 사용

다음 예제에서는 AWS CLI에서 create-web-login-token 명령을 사용하여 Apache Airflow 웹 로그인 토큰을 생성합니다.

aws mwaa create-web-login-token --name YOUR_ENVIRONMENT_NAME

bash 스크립트 사용

다음 예제에서는 bash 스크립트를 사용하여 AWS CLI에서 create-web-login-token 명령을 호출하여 Apache Airflow 웹 로그인 토큰을 생성합니다.

  1. 다음 코드 샘플의 내용을 복사하고 로컬에서 get-web-token.sh로 저장합니다.

    #!/bin/bash HOST=YOUR_HOST_NAME YOUR_URL=https://$HOST/aws_mwaa/aws-console-sso?login=true# WEB_TOKEN=$(aws mwaa create-web-login-token --name YOUR_ENVIRONMENT_NAME --query WebToken --output text) echo $YOUR_URL$WEB_TOKEN
  2. YOUR_HOST_NAMEYOUR_ENVIRONMENT_NAME에 대해 빨간색으로 표시된 자리 표시자를 대체합니다. 예를 들어, 퍼블릭 네트워크의 호스트 이름은 이와 같을 수 있습니다(https://) 없음.

    123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
  3. (선택 사항) macOS 및 Linux 사용자는 스크립트가 실행 가능한지 확인하기 위해 다음 명령을 실행해야 할 수 있습니다.

    chmod +x get-web-token.sh
  4. 다음 스크립트를 실행하여 웹 로그인 토큰을 얻습니다.

    ./get-web-token.sh
  5. 명령 프롬프트에 다음이 표시되어야 합니다.

    https://123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com/aws_mwaa/aws-console-sso?login=true#{your-web-login-token}

Python 스크립트 사용

다음 예제에서는 Python 스크립트의 boto3 create_web_login_token 메서드를 사용하여 Apache Airflow 웹 로그인 토큰을 생성합니다. 이 스크립트는 Amazon MWAA 외부에서 실행할 수 있습니다. boto3 라이브러리를 설치하기만 하면 됩니다. 가상 환경을 만들어 라이브러리를 설치할 수도 있습니다. 계정에 대한 AWS 인증 보안 인증을 구성했다고 가정합니다.

  1. 다음 코드 샘플의 내용을 복사하고 로컬에서 create-web-login-token.py로 저장합니다.

    import boto3 mwaa = boto3.client('mwaa') response = mwaa.create_web_login_token( Name="YOUR_ENVIRONMENT_NAME" ) webServerHostName = response["WebServerHostname"] webToken = response["WebToken"] airflowUIUrl = 'https://{0}/aws_mwaa/aws-console-sso?login=true#{1}'.format(webServerHostName, webToken) print("Here is your Airflow UI URL: ") print(airflowUIUrl)
  2. YOUR_ENVIRONMENT_NAME빨간색으로 표시된 자리 표시자로 대체합니다.

  3. 다음 스크립트를 실행하여 웹 로그인 토큰을 얻습니다.

    python3 create-web-login-token.py

다음 단계

  • CreateWebLoginToken에서 웹 로그인 토큰을 생성하는 데 사용되는 Amazon MWAA API 작업을 살펴봅니다.