Apache Airflow ウェブサーバーアクセストークンを作成する - Amazon Managed Workflows for Apache Airflow

Apache Airflow ウェブサーバーアクセストークンを作成する

このページのコマンドを使用して、ウェブサーバーアクセストークンを作成できます。アクセストークンは、Amazon MWAA 環境へのアクセスを提供します。例えば、トークンを取得し、Amazon MWAA API を使用してプログラムで DAG をデプロイできます。次のセクションでは、AWS CLI、bash スクリプト、POST API リクエスト、または Python スクリプトを使用して Apache Airflow Web ログイントークンを作成するステップについて説明します。レスポンスでリターンされるトークンは 60 秒間有効です。

重要

2025 年 8 月 19 日以降、Amazon MWAA では IPv6 エンドポイントのサポートが追加され、IPv4 と IPv6 エンドポイントもサポートされるようになりました。この日付の時点で、新しく作成されたすべての環境は Airflow ユーザーインターフェイス (UI) の .on.aws ドメインを使用します。お客様は、新しく作成された環境のために、Airflow UI を .amazonaws.com から .on.aws のドメインに移行する必要があります。ウェブサーバーとデータベース用の 仮想プライベートクラウド (VPC) エンドポイントサービスは、現在の .amazonaws.com ドメインを必要な変更なしで維持します。

前提条件

以下のセクションでは、このページのコマンドとスクリプトを使用するために必要な準備手順について説明します。

アクセス

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 の Web ログイントークンを作成します。

  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

    コマンドプロンプトに次のように表示されます。

    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 の Web ログイン・トークンを作成しています。このスクリプトは、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. 次のスクリプトを実行して、Web へのログイントークンを作成します。

    python3 create-web-login-token.py

次のステップ

  • CreateWebLoginToken でウェブログイントークンの作成に使用される Amazon MWAA API オペレーションをご覧ください。