翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon MWAA での Apache Airflow 構成オプションの使用
Apache Airflow 構成オプションは、Amazon Managed Workflows for Apache Airflow 環境に環境変数としてアタッチできます。推奨されるドロップダウンリストから選択するか、Amazon MWAA コンソールで Apache Airflow バージョンのカスタム設定オプションを指定できます。このトピックでは、使用可能な Apache Airflow 設定オプションと、これらのオプションを使用して環境の Apache Airflow 設定を上書きする方法について説明します。
目次
前提条件
このページのステップを完了するには、以下のものが必要です。
-
アクセス許可 — 環境の AmazonMWAAFullConsoleAccess アクセスコントロールポリシーへのアクセス権が管理者から付与されている AWS アカウント 必要があります。さらに、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 以降では、デフォルトで core.lazy_load_plugins : True
設定を使用してプラグインが「遅延」ロードされるように設定されています。カスタムプラグインを使用している場合は、デフォルト設定を上書きするために、各 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 for Apache Airflow v2 および v3 で使用できる Airflow E メール通知設定オプションを示しています。
SMTP トラフィックにはポート 587 を使用することをお勧めします。デフォルトでは、 はすべての Amazon EC2 インスタンスのポート 25 でアウトバウンド SMTP トラフィックを AWS ブロックします。ポート 25 でアウトバウンド・トラフィックを送信したい場合は、「この制限を解除するようリクエストする
エアフロー設定のオプション | 説明 | 値の例 |
---|---|---|
メール.メール_バックエンド |
email_backend |
airflow.utils.email.send_email_smtp |
smtp.smtp_host |
smtp_host |
localhost |
smtp.smtp_starttls |
Transport Layer Security (TLS) は、smtp_starttls |
False |
smtp.smtp_ssl |
セキュアソケットレイヤー (SSL) は、smtp_ssl |
真 |
smtp.smtp_port |
smtp_port |
587 |
smtp.smtp_mail_from |
smtp_mail_from |
myemail@domain.com |
タスクの設定
次のリストは、Amazon MWAA for Apache Airflow v2 および v3 の Airflow タスクのドロップダウンリストで使用可能な設定を示しています。
エアフロー設定のオプション | 説明 | 値の例 |
---|---|---|
core .default _task_retries |
Apache エアフロータスクを default_task_retries |
3 |
コア・パラレリズム |
環境全体で同時に実行できるタスクインスタンスの最大数 (parallel 処理 |
40 |
スケジューラーの設定
次のリストは、Amazon MWAA for Apache Airflow v2 および v3 のドロップダウンリストで使用できる Apache Airflow スケジューラ設定を示しています。
エアフロー設定のオプション | 説明 | 値の例 |
---|---|---|
スケジューラー. キャッチアップ・バイ・デフォルト |
catchup_by_default |
False |
scheduler.scheduler_zombie_task_threshold 注記Apache Airflow v3 では使用できません。 |
タスクインスタンスを障害としてマークし、scheduler_zombie_task_threshold |
300 |
ワーカーの設定
次のリストは、Amazon MWAA for Apache Airflow v2 および v3 のドロップダウンリストで使用可能な Airflow ワーカー設定を示しています。
エアフロー設定のオプション | 説明 | 値の例 |
---|---|---|
celery.worker_autoscale |
worker_autoscale |
16、12 |
Webserver の設定
次のリストは、Amazon MWAA for Apache Airflow v2 および v3 のドロップダウンリストで使用できる Apache Airflow ウェブサーバー設定を示しています。
エアフロー設定のオプション | 説明 | 値の例 |
---|---|---|
ウェブサーバー.default_ui_timezone 注記Apache Airflow v3 では使用できません。 |
default_ui_timezone 注記この |
America/New_York |
トリガー設定
次のリストは、Amazon MWAA for Apache Airflow v2 および v3 で使用できる Apache Airflow トリガー
エアフロー設定のオプション | 説明 | 値の例 |
---|---|---|
mwaa トリガー_enabled |
Amazon MAA でトリガーをアクティブ化および非アクティブ化するために使用されます。デフォルトではこの値は |
真 |
triggerer.default_capacity (v2 内) triggerer.capacity (v3 内) |
各トリガーでparallel に実行できる、トリガーの数を定義します。Amazon MWAA では、両方のコンポーネントが互いに並行して実行されるため、この容量はトリガーごととスケジューラーごとに設定されます。デフォルトのスケジューラあたりの値は、それぞれ small、medium と large、xlarge、2xlarge のインスタンスに対して |
125 |
例とサンプルコード
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 バケットにアップロードする方法について説明します。