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 ドメインを必要な変更なしで維持します。
前提条件
以下のセクションでは、このページのコマンドとスクリプトを使用するために必要な準備手順について説明します。
アクセス
-
Amazon MWAA アクセス許可ポリシー Apache Airflow UI アクセスポリシー: AmazonMWAAWebServerAccess への AWS Identity and Access Management (IAM) の AWS アカウント アクセス。
-
Amazon MWAA アクセス許可ポリシー API とコンソールのフルアクセスポリシー: AmazonMWAAFullApiAccess への AWS Identity and Access Management (IAM) の AWS アカウント アクセス。
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 --nameYOUR_ENVIRONMENT_NAME
Bash スクリプトを使用する
この例では、bash スクリプトを使用して、AWS CLI の create-web-login-token コマンドを呼び出して Apache Airflow の Web ログイントークンを作成します。
-
以下のコードサンプルの内容をコピーし、ローカルに
get-web-token.shとして保存します。#!/bin/bash HOST=YOUR_HOST_NAMEYOUR_URL=https://$HOST/aws_mwaa/aws-console-sso?login=true# WEB_TOKEN=$(aws mwaa create-web-login-token --nameYOUR_ENVIRONMENT_NAME--query WebToken --output text) echo $YOUR_URL$WEB_TOKEN -
赤色のプレースホルダーをYOUR_HOST_NAMEとYOUR_ENVIRONMENT_NAMEに置き換えます。例えば、パブリックネットワークのホスト名は次のようになります (https://を除く)。123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com -
(オプション) macOS と Linux ユーザーは、次のコマンドを実行して、スクリプトが実行可能であることを確認しなければならないことがあります。
chmod +x get-web-token.sh -
次のスクリプトを実行して、ウェブへのログイントークンを作成します。
./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
-
以下のコードサンプルの内容をコピーし、ローカルに
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) -
赤色のプレースホルダーをYOUR_ENVIRONMENT_NAMEの代わりに使用してください。 -
次のスクリプトを実行して、Web へのログイントークンを作成します。
python3 create-web-login-token.py
次のステップ
-
CreateWebLoginToken でウェブログイントークンの作成に使用される Amazon MWAA API オペレーションをご覧ください。