翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon MWAA での Apache Airflow 構成オプションの使用
Apache Airflow 構成オプションは、Apache Airflow 用 Amazon マネージドワークフロー環境に環境変数としてアタッチできます。推奨ドロップダウンリストから選択するか、Amazon MWAA コンソールでお使いの Apache Airflow バージョンに合わせてカスタム構成オプションを指定できます。このページでは、使用可能な Apache Airflow 構成オプションと、これらのオプションを使用して環境の Apache Airflow 構成設定を上書きする方法について説明します。
目次
前提条件
このページのステップを完了するには、以下のものが必要です。
-
アクセス許可 — AWS アカウントには、管理者から環境の AmazonMWAAFullConsole アクセスコントロールポリシーへのアクセスが付与されている必要があります。さらに、Amazon MWAA 環境は、環境で使用される AWS リソースへのアクセスを実行ロールで許可する必要があります。
-
アクセス — 依存関係をウェブサーバーに直接インストールするためにパブリックリポジトリにアクセスする必要がある場合は、パブリックネットワークのウェブサーバーアクセスが環境に設定されている必要があります。詳細については、「Apache Airflow のアクセスモード」を参照してください。
-
Amazon S3 設定 —
plugins.zip
で DAG、カスタムプラグイン、およびrequirements.txt
で Python の依存関係を保存するために使用される「Amazon S3 バケット」は、Public Access Blocked と Versioning Enabledで構成する必要があります。
仕組み
環境を作成すると、Amazon MWAA は Airflow 設定オプションの Amazon MWAA コンソールで指定した設定を環境変数として環境の AWS Fargate コンテナにアタッチします。airflow.cfg
で同じ名前の設定を使用している場合は、Amazon MWAA コンソールで指定するオプションのほうが、airflow.cfg
の値よりも優先されます。
デフォルトでは、Amazon MWAA 環境の Apache Airflow UI airflow.cfg
で を公開しませんが、設定を公開webserver.expose_config
する設定を含め、Amazon MWAA コンソールで Apache Airflow 設定オプションを直接変更できます。
設定オプションを使用して Apache Airflow v2 にプラグインをロードする
Apache Airflow v2 のデフォルトでは、プラグインは設定を使用して「遅延的に」ロードされるようにcore.lazy_load_plugins : True
設定されています。Apache Airflow v2でカスタムプラグインを使用している場合、デフォルトの設定をオーバーライドするために、Airflowプロセスの開始時にプラグインをロードするためのApache Airflow 構成オプションとしてcore.lazy_load_plugins : False
を追加する必要があります。を追加する必要があります。
設定オプションの概要
Amazon MWAA コンソールで設定を追加すると、Amazon MWAA はその設定を環境変数として書き込みます。
-
リストされたオプション。ドロップダウンリストで、お使いの Apache Airflow バージョンで使用可能な設定のいずれかを選択できます。例えば、
dag_concurrency
:16
です。その構成設定は、環境のFargateコンテナにAIRFLOW__CORE__DAG_CONCURRENCY : 16
として反映されます。 -
「カスタムオプション」 お使いの Apache Airflow バージョンにはない Airflow 設定オプションをドロップダウンリストに指定することもできます。例えば、
foo.user
:YOUR_USER_NAME
です。その構成設定は、環境のFargateコンテナにAIRFLOW__FOO__USER : YOUR_USER_NAME
として反映されます。
Apache Airflow 構成オプション
以下の画像は、Amazon MWAA コンソールで Apache Airflow 構成オプションをカスタマイズできる場所を示しています。
Apache エアフローリファレンス
Apache Airflow でサポートされている設定オプションのリストについては、『Apache Airflow リファレンスガイド』の「設定リファレンス
Amazon MWAA コンソールの使用
以下の手順では、Airflow 構成オプションを環境に追加するステップを説明します。
-
Amazon MWAA コンソールで「環境ページ
」を開きます。 -
環境を選択します。
-
[編集] を選択します。
-
[次へ] をクリックします。
-
Airflow 設定オプションペインで [カスタム設定を追加] を選択します。
-
ドロップダウンリストから構成を選択して値を入力するか、カスタム構成を入力して値を入力します。
-
追加する設定ごとに [カスタム設定を追加] を選択します。
-
[保存] を選択します。
設定リファレンス
以下のセクションでは、Amazon MWAA コンソールのドロップダウンリストに利用可能な Apache Airflow 設定のリストが表示されます。
電子メールの設定
次のリストは、Amazon MWAA で使用できる Airflow E メール通知設定オプションを示しています。
SMTP トラフィックにはポート 587 を使用することをお勧めします。デフォルトでは、 はすべての Amazon EC2 インスタンスのポート 25 でアウトバウンド SMTP トラフィックを AWS ブロックします。ポート 25 でアウトバウンド・トラフィックを送信したい場合は、「この制限を解除するようリクエストする
タスクの設定
次のリストは、Amazon MWAA の Airflow タスクのドロップダウンリストで使用できる設定を示しています。
スケジューラーの設定
次のリストは、Amazon MWAA のドロップダウンリストで使用できる Apache Airflow スケジューラー設定を示しています。
ワーカーの設定
次のリストは、Amazon MWAA のドロップダウンリストで使用できる Airflow ワーカー設定を示しています。
ウェブサーバーの設定
次のリストは、Amazon MWAA のドロップダウンリストで使用できる Airflow ウェブサーバー設定を示しています。
トリガー設定
以下のリストは、Amazon MAA で利用できる Apache エアフロートリガー
例とサンプルコード
DAG の例
次の DAG を使用して email_backend
Apache Airflow 構成オプションを印刷できます。Amazon MWAA イベントに応答して実行するには、Amazon S3 ストレージバケットにある環境の DAG フォルダにコードをコピーします。
from airflow.decorators import dag from datetime import datetime def print_var(**kwargs): email_backend = kwargs['conf'].get(section='email', key='email_backend') print("email_backend") return email_backend @dag( dag_id="print_env_variable_example", schedule_interval=None, start_date=datetime(
yyyy
,m
,d
), catchup=False, ) def print_variable_dag(): email_backend_test = PythonOperator( task_id="email_backend_test", python_callable=print_var, provide_context=True ) print_variable_test = print_variable_dag()
電子メール通知の設定例
アプリパスワードを使用する Gmail.com メールアカウントには、次の Apache Airflow 構成オプションを使用できます。詳しくは、Gmail ヘルプリファレンスガイドの「アプリパスワードを使用してログインする
次のステップ
-
DAG の追加と更新で、DAG フォルダを Amazon S3 バケットにアップロードする方法について説明します。