Amazon MWAA に関するよくある質問 - Amazon Managed Workflows for Apache Airflow

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

Amazon MWAA に関するよくある質問

このページでは、Amazon Managed Workflows for Apache Airflow を使用する際に起こる可能性のある一般的な疑問について説明します。

目次

サポートバージョン

Amazon MWAA は Apache Airflow v2 に対して何をサポートしていますか?

Amazon MWAA がサポートしている内容については、「Apache Airflow 用 Amazon マネージドワークフロー上の Apache Airflow のバージョン」を参照してください。

古いバージョンの Apache Airflow がサポートされていないのはなぜですか?

古いバージョンではセキュリティ上の懸念があるため、(発売時点で)最新の Apache Airflow バージョンの Apache Airflow v1.10.12 のみをサポートしています。

どの Python バージョンを使用する必要がありますか?

以下の Apache Airflow バージョンは、Amazon Managed Workflows for Apache Airflow でサポートされています。

注記
  • Apache Airflow v2.2.2 以降、Amazon MWAA は Python 要件、プロバイダーパッケージ、カスタムプラグインを Apache Airflow ウェブサーバーに直接インストールすることをサポートしています。

  • Apache Airflow v2.7.2 から、要件ファイルには --constraint ステートメントを含める必要があります。制約を指定しない場合、要件に記載されているパッケージが使用している Apache Airflow のバージョンと互換性があることを確認するため、Amazon MWAA はお客様に代わって制約を指定します。

    要件ファイルに制約を設定する方法の詳細については、「Python 依存関係のインストール」を参照してください。

自己管理型の Apache Airflow デプロイの移行、または既存の Amazon MWAA 環境の移行について、メタデータデータベースのバックアップ手順を含む詳細情報は、「Amazon MWAA 移行ガイド」 を参照してください。

Amazon MWAA はどのバージョンの pip を使用していますか?

Apache Airflow v1.10.12 を実行している環境では、Amazon MWAA は pip バージョン 21.1.2 をインストールします。

注記

Amazon MWAA は、Apache Airflow v1.10.12 環境では pip をアップグレードしません。

Apache Airflow v2 以降の環境では、Amazon MWAA は pip バージョン21.3.1 をインストールします。

ユースケース

いつ AWS Step Functions を使用すればよいか Amazon MWAA か

  1. Step Functions は 1 件の注文または 100 万件の注文の需要に合わせてスケーリングできるため、Step Functions を使用して個々の顧客の注文を処理できます。

  2. 前日の注文を処理する夜間ワークフローを実行している場合は、Step Functions または Amazon MWAA を使用できます。Amazon MWAA では、使用している AWS リソースからワークフローを抽象化するためのオープンソースオプションを使用できます。

環境仕様

各環境で使用できるタスクストレージの容量はどれくらいですか?

タスクストレージは 10 GB に制限されており、Amazon ECS Fargate 1.3 によって指定されています。RAM の容量は指定した環境クラスによって決まります。環境タグ付けの詳細については、「Amazon MWAA 環境クラスの構成」を参照してください。

Amazon MWAA 環境で使用されるデフォルトのオペレーティングシステムは何ですか?

Amazon MWAA 環境は、Amazon Linux AMI を実行するインスタンス上に作成されます。

Amazon MWAA 環境にカスタムイメージを使用することはできますか?

カスタムイメージはサポートされていません。Amazon MWAA は Amazon Linux AMI 上に構築されたイメージを使用します。Amazon MWAA は、環境の Amazon S3 バケットに追加した requirements.txt ファイルに指定されている要件に合わせてpip3 -r install を実行することにより、追加の要件をインストールします。

Amazon MWAA HIPAA は準拠していますか?

Amazon は Health Insurance Portability and Accountability Act (HIPAA) に対応しています。HIPAA ビジネス提携契約 (BAA) を で実施している場合は AWS、2022 年 11 月 14 日以降に作成された環境で保護医療情報 (PHI) を処理するワークフローに Amazon MWAA を使用できます。

Amazon MWAA はスポットインスタンスをサポートしていますか?

Amazon MWAA は現在、Apache Airflow 用のオンデマンド Amazon EC2 スポットインスタンスタイプをサポートしていません。ただし、Amazon MWAA 環境では、たとえば Amazon EMR や Amazon EC2 でスポットインスタンスをトリガーできます。

Amazon MWAA はカスタムドメインをサポートしていますか?

Amazon MWAA ホスト名にカスタムドメインを使用できるようにするには、次のいずれかを実行します。

  • パブリックウェブサーバーアクセスを使用する Amazon MWAA デプロイでは、Amazon CloudFront と Lambda@Edge を使用してトラフィックを環境に誘導し、カスタムドメイン名を にマッピングできます CloudFront。パブリック環境のカスタムドメインの設定の詳細と例については、Amazon MWAA サンプルリポジトリの「パブリックウェブサーバー用の Amazon MWAA カスタムドメインのサンプル」を参照してください。 GitHub

  • プライベートウェブサーバーにアクセスする Amazon MWAA デプロイでは、Application Load Balancer (ALB) を使用してトラフィックを Amazon MWAA に転送し、カスタムドメイン名を ALB にマッピングできます。詳細については、「Load Balancer の使用 (上級)」を参照してください。

自分の環境に SSH で接続できますか?

Amazon MWAA 環境ではSSHはサポートされていませんが、BashOperator を使用してDAG を作成し、bashコマンドを実行することが可能です。例:

from airflow import DAG from airflow.operators.bash_operator import BashOperator from airflow.utils.dates import days_ago with DAG(dag_id="any_bash_command_dag", schedule_interval=None, catchup=False, start_date=days_ago(1)) as dag: cli_command = BashOperator( task_id="bash_command", bash_command="{{ dag_run.conf['command'] }}" )

Apache Airflow UI で DAG をトリガーするには、以下を使用してください。

{ "command" : "your bash command"}

VPC セキュリティグループに自己参照ルールが必要なのはなぜですか?

自己参照ルールを作成することで、ソースを VPC 内の同じセキュリティグループに制限することができ、ネットワーク全体には公開されません。詳細については、「Amazon MWAA の VPC のセキュリティ」を参照してください。

IAM の異なるグループの環境を非表示にすることはできますか?

で環境名を指定することでアクセスを制限できます AWS Identity and Access Managementが、可視性フィルタリングは AWS コンソールでは利用できません。ユーザーが 1 つの環境を表示できる場合、すべての環境を表示できます。

一時データを Apache Airflow ワーカーに保存できますか?

Apache Airflow オペレータはワーカーに一時データを保存できます。Apache Airflow ワーカーは、お客様の環境の Fargate コンテナにある /tmp の一時ファイルにアクセスできます。

注記

Amazon ECS Fargate1.3 によると、タスクストレージの合計は 10 GB に制限されています。後続のタスクが同じ Fargate コンテナインスタンスで実行される保証はありません。この Fargate コンテナインスタンスは別の /tmp フォルダを使用する可能性があります。

25 個以上の Apache Airflow ワーカーを指定できますか?

はい。Amazon MWAA コンソールでは最大 25 の Apache Airflow ワーカーを指定できますが、クォータの引き上げをリクエストすることで、1 つの環境に最大 50 のワーカーを設定できます。詳細については、「Requesting a quota increase」(クォータ引き上げのリクエスト) を参照してください。

Amazon MWAA は共有の Amazon VPC をサポートしていますか、それとも共有サブネットをサポートしていますか?

Amazon MWAA は共有の Amazon VPC または共有サブネットをサポートしていません。環境を作成するときに選択する Amazon VPC は、環境を作成しようとしているアカウントが所有している必要があります。ただし、Amazon MWAA アカウント内の Amazon VPC から共有 VPC にトラフィックをルーティングすることはできます。詳細および共有 Amazon VPC へのトラフィックのルーティングの例については、「Amazon VPC トランジットゲートウェイガイド」の「インターネットへの集中型アウトバウンドルーティング」を参照してください。

メトリクス

ワーカーをスケーリングするかどうかの判断にはどのようなメトリックスが使用されますか?

Amazon MWAA は QueuedTasksおよび RunningTasksをモニタリング CloudWatch して、Apache Airflow ワーカーを環境でスケーリングするかどうかを決定します。詳細については、「Apache Airflow 用 Amazon マネージドワークフローのモニタリングとメトリクス」を参照してください。

でカスタムメトリクスを作成できます CloudWatchか?

CloudWatch コンソールには表示されません。ただし、 でカスタムメトリクスを書き込む DAG を作成できます CloudWatch。詳細については、「DAG を使用して CloudWatch にカスタムメトリクスを書き込む」を参照してください。

DAG、オペレータ、接続、その他の質問

PythonVirtualenvOperator は使えますか?

Amazon MWAA ではPythonVirtualenvOperatorは明示的にサポートされていませんが、PythonVirtualenvOperator を使用するカスタムプラグインを作成することができます。サンプルコードについては、「Apache Airflow Python VirtualEnv オペレータ用のカスタムプラグインを作成する」を参照してください。

Amazon MWAA が新しい DAG ファイルを認識するまでどのくらいかかりますか?

DAG は、Amazon S3 バケットからお客様の環境に定期的に同期されます。新しい DAG ファイルを追加した場合、Amazon MWAA が新しいファイルの使用を開始するまでに約 300 秒かかります。既存の DAG を更新する場合、Amazon MWAA が更新を認識するまでに約 30 秒かかります。

新しい DAG に対しては 300秒、既存の DAG の更新に対しては 30秒、というこれらの値は、それぞれ Apache Airflow の構成オプション dag_dir_list_interval および min_file_process_interval に対応しています。

DAG ファイルが Apache Airflow に取り込まれないのはなぜですか?

このセクションでは、以下の問題の発生時に考えられる対策について説明します。

  1. 実行ロールに Amazon S3 バケットに対する十分なアクセス権限があることを確認します。詳細については、「Amazon MWAA 実行ロール」を参照してください。

  2. Amazon S3 バケットに Block Public Access が設定され、バージョニングが有効になっていることを確認します。詳細については、「Amazon MWAA 用の Amazon S3 バケットの作成」を参照してください。

  3. DAG ファイル自体を確認します。たとえば、各 DAG に固有の DAG ID があることを確認してください。

環境から plugins.zip または requirements.txt を削除できますか?

現在、plugins.zip や requirements.txt を追加したら環境から削除する方法はありませんが、現在対応中です。当面の回避策は、それぞれ空のテキストまたは zip ファイルを指すことです。詳細については、「Amazon S3 でファイルの削除」を参照してください。

Apache Airflow v2.0.2 の「管理プラグイン」メニューに自分のプラグインが表示されないのはなぜですか?

セキュリティ上の理由から、Amazon MWAA 上の Apache Airflow ウェブサーバーのネットワーク出力は制限されており、バージョン 2.0.2 環境の Apache Airflow ウェブサーバーにはプラグインや Python の依存関係を直接インストールしません。図に示すプラグインにより、Amazon MWAA は AWS Identity and Access Management (IAM) で Apache Airflow ユーザーを認証できます。

プラグインと Python の依存関係をウェブサーバーに直接インストールできるようにするには、Apache Airflow v2.2 以降で新しい環境を作成することをお勧めします。Amazon MWAA は、Apache Airflow v2.2 以降では Python の依存関係とカスタムプラグインをウェブサーバーに直接インストールします。

AWS Database Migration Service (DMS) Operators を使用できますか?

Amazon MWAA は DMS オペレーターをサポートしています。ただし、このオペレータを使用して Amazon MWAA 環境に関連付けられた Amazon Aurora PostgreSQL メタデータデータベースに対してアクションを実行することはできません。