Amazon MWAA での Apache Airflow 設定オプションの使用 - Amazon Managed Workflows for Apache Airflow

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon MWAA での Apache Airflow 設定オプションの使用

Apache Airflow 構成オプションは、Amazon Managed Workflows for Apache Airflow 環境に環境変数としてアタッチできます。推奨されるドロップダウンリストから選択するか、Amazon MWAA コンソールで Apache Airflow バージョンのカスタム設定オプションを指定できます。このトピックでは、使用可能な Apache Airflow 設定オプションと、これらのオプションを使用して環境の Apache Airflow 設定を上書きする方法について説明します。

前提条件

このページのステップを完了するには、以下のものが必要です。

  • アクセス許可 - AWS アカウントには、管理者から環境の ConsoleAccessAmazonMWAAFull アクセスコントロールポリシーへのアクセス権が付与されている必要があります。さらに、Amazon MWAA 環境が使用する AWS リソースにアクセスするには、実行ロールで Amazon Word 環境を許可する必要があります。

  • アクセス — 依存関係をウェブサーバーに直接インストールするためにパブリックリポジトリにアクセスする必要がある場合は、パブリックネットワークのウェブサーバーアクセスが環境に設定されている必要があります。詳細については、「Apache Airflow のアクセスモード」を参照してください。

  • Amazon S3 設定 — DAGs、 のカスタムプラグイン、および Python の依存関係を保存するために使用される Amazon S3 バケットplugins.zipパブリックアクセスブロックおよびバージョニングが有効に設定されたrequirements.txtものである必要があります。

仕組み

環境を作成すると、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 設定オプションをカスタマイズできる場所を示しています。

この図は、Amazon MWAA コンソールで Apache Airflow 設定オプションをカスタマイズできる場所を示しています。

Apache エアフローリファレンス

Apache Airflow でサポートされている設定オプションのリストについては、『Apache Airflow リファレンスガイド』の「設定リファレンス」を参照してください。Amazon MWAA で実行している Apache Airflow のバージョンのオプションを表示するには、ドロップダウンリストからバージョンを選択します。

Amazon MWAA コンソールの使用

以下の手順では、Airflow 構成オプションを環境に追加するステップを説明します。

  1. Amazon MWAA コンソールで環境ページを開きます。

  2. 環境を選択します。

  3. [編集] を選択します。

  4. [Next (次へ)] を選択します。

  5. Airflow 構成オプション ペインで [カスタム構成を追加] を選択します。

  6. ドロップダウンリストから構成を選択して値を入力するか、カスタム構成を入力して値を入力します。

  7. 追加する構成ごとに [カスタム構成を追加] を選択します。

  8. [Save] を選択します。

設定リファレンス

次のセクションでは、Amazon MWAA コンソールのドロップダウンリストで使用可能な Apache Airflow 設定のリストを示します。

電子メールの設定

次のリストは、Amazon MWAA で使用できる Airflow E メール通知設定オプションを示しています。

SMTP トラフィックにはポート 587 を使用することをお勧めします。デフォルトでは、 はすべての Amazon SMTP インスタンスのポート 25 でアウトバウンド EC2 トラフィックを AWS ブロックします。ポート 25 でアウトバウンド・トラフィックを送信したい場合は、「この制限を解除するようリクエストする」ことができます。

Apache Airflow v2
Airflow のバージョン エアフロー設定のオプション 説明 値の例

v2

メール.メール_バックエンド

email_backend のメール通知に使用される Apache エアフローユーティリティ。

airflow.utils.email.send_email_smtp

v2

smtp.smtp_host

smtp_host の電子メールアドレスに使用される送信サーバーの名前。

localhost

v2

smtp.smtp_starttls

Transport Layer Security (TLS) は、smtp_starttls でインターネット経由で E メールを暗号化するために使用されます。

False

v2

smtp.smtp_ssl

Secure Sockets Layer (SSL) は、smtp_ssl でサーバーと E メールクライアントを接続するために使用されます。

v2

smtp.smtp_port

smtp_port のサーバーに指定された Transmission Control Protocol (TCP) ポート。

587

v2

smtp.smtp_mail_from

smtp_mail_fromにあるアウトバウンドメールアドレス。

myemail@domain.com

タスクの設定

次のリストは、Amazon MWAA の Airflow タスクのドロップダウンリストで使用できる設定を示しています。

Apache Airflow v2
Airflow のバージョン エアフロー設定のオプション 説明 値の例

v2

core .default _task_retries

Apache エアフロータスクを default_task_retriesでリトライする回数。

3

v2

コア・パラレリズム

環境全体で同時に実行できるタスクインスタンスの最大数 (parallel 処理)。

40

スケジューラーの設定

次のリストは、Amazon MWAA のドロップダウンリストで使用できる Apache Airflow スケジューラの設定を示しています。

Apache Airflow v2
Airflow のバージョン エアフロー設定のオプション 説明 値の例

v2

スケジューラー. キャッチアップ・バイ・デフォルト

catchup_by_default の特定の時間間隔に「キャッチアップ」する DAG 実行を作成するようにスケジューラに指示します。

False

v2

scheduler.scheduler_zombie_task_threshold

タスクインスタンスを障害としてマークし、scheduler_zombie_task_threshold内のタスクを再スケジュールするかどうかをスケジューラーに指示します。

300

ワーカーの設定

次のリストは、Amazon MWAA のドロップダウンリストで使用できる Airflow ワーカー設定を示しています。

Apache Airflow v2
Airflow のバージョン エアフロー設定のオプション 説明 値の例

v2

celery.worker_autoscale

worker_autoscaleCelery Executor を使用するすべてのワーカーで同時に実行できるタスクの最大数と最小数。値は次の順序でカンマで区切る必要があります:max_concurrency,min_concurrency

16、12

ウェブサーバーの設定

次のリストは、Amazon MWAA のドロップダウンリストで使用できる Airflow ウェブサーバー設定を示しています。

Apache Airflow v2
Airflow のバージョン エアフロー設定のオプション 説明 値の例

v2

ウェブサーバー.default_ui_timezone

default_ui_timezone の Apache Airflow UI のデフォルト日時設定。

注記

default_ui_timezone オプションを設定しても、DAGs の実行がスケジュールされているタイムゾーンは変更されません。DAGs のタイムゾーンを変更するには、カスタムプラグインを使用できます。詳細については、「Amazon MWAA での DAG のタイムゾーンの変更」を参照してください。

America/New_York

トリガー設定

次のリストは、Amazon MWAA で使用できる Apache Airflow トリガーの設定を示しています。

Apache Airflow v2
Airflow のバージョン エアフロー設定のオプション 説明 値の例

v2.7

mwaa トリガー_enabled

Amazon MWAA でトリガーをアクティブ化および非アクティブ化するために使用されます。デフォルトでは、この値は True に設定されます。に設定するとFalse、Amazon MWAA はスケジューラでトリガープロセスを開始しません。

v2.7

トリガー. デフォルト容量

各トリガーでparallel に実行できる、トリガーの数を定義します。Amazon MWAA では、両方のコンポーネントが互いに並行して実行されるため、この容量は各トリガーと各スケジューラごとに設定されます。デフォルトのスケジューラあたりの値は、それぞれ small、medium と large、xlarge、2xlarge のインスタンスに対して 60125250500、および 1000 に設定されています。

125

例とサンプルコード

DAGの例

次のDAGを使用して、email_backendApache Airflow 設定オプションを出力できます。Amazon MWAA イベントに応答して を実行するには、Amazon S3 ストレージバケットの環境の DAGs フォルダにコードをコピーします。

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 ヘルプリファレンスガイドの「アプリパスワードを使用してログインする」を参照してください。

この図は、MWAA コンソールで Apache Airflow 設定オプションを使用して gmail.com E メールアカウントを設定する方法を示しています。

次のステップ