翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon MWAA に関するよくある質問
このページでは、Amazon Managed Workflows for Apache Airflow を使用する際に起こる可能性のある一般的な疑問について説明します。
目次
サポートバージョン
Amazon MWAA は Apache Airflow v2 に対して何をサポートしていますか?
Amazon MWAA がサポートしている内容については、「Amazon Managed Workflows for Apache Airflow 上の 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 のバージョン | Apache Airflow ガイド | Apache Airflow の制約 | 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
-
Step Functions は 1 件の注文または 100 万件の注文の需要に合わせてスケーリングできるため、Step Functions を使用して個々の顧客の注文を処理できます。
-
前日の注文を処理する夜間ワークフローを実行している場合は、Step Functions または Amazon MWAA を使用できます。Amazon MWAA では、使用している AWS リソースからワークフローを抽象化するオープンソースオプションを使用できます。
環境仕様
各環境で使用できるタスクストレージの容量はどれくらいですか?
タスクストレージは 20 GB に制限されており、Amazon ECS Fargate 1.4 によって指定されています。RAM の容量は指定した環境クラスによって決まります。環境タグ付けの詳細については、「Amazon MWAA 環境クラスの構成」を参照してください。
Amazon MWAA 環境で使用されるデフォルトのオペレーティングシステムは何ですか?
Amazon MWAA 環境は、バージョン 2.6 以前では Amazon Linux 2 を実行しているインスタンスに、バージョン 2.7 以降では Amazon Linux 2023 を実行しているインスタンスに作成されます。
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)
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 examples GitHub リポジトリにあるパブリックウェブサーバー用 Amazon MWAA カスタムドメイン
のサンプルを参照してください。 -
プライベートウェブサーバーアクセスによる Amazon MWAA デプロイについては、「Apache Airflow ウェブサーバーのカスタムドメインの設定」を参照してください。
自分の環境に 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.4 によると、タスクストレージの合計は 20 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 トランジットゲートウェイガイド」の「インターネットへの集中型アウトバウンドルーティング」を参照してください。
Apache Airflow でタスクの実行とワークフローオーケストレーションを管理するために、カスタム Amazon SQS キューを作成または統合できますか?
いいえ。Amazon MWAA 内でカスタム Amazon SQS キューを作成、変更、または使用することはできません。これは、Amazon MWAA が Amazon MWAA 環境ごとに独自の Amazon SQS キューを自動的にプロビジョニングおよび管理するためです。
メトリクス
ワーカーをスケールするかどうかの判断にはどのようなメトリックスが使用されますか?
Amazon MWAA は CloudWatch のキューに入れられたタスクと実行中のタスクをモニタリングして、お客様の環境で Apache Airflow ワーカーをスケールするかどうかを決定します。詳細については、「Amazon Managed Workflows for Apache Airflow のモニタリングとメトリクス」を参照してください。
CloudWatch カスタムメトリクスを作成するには
CloudWatch コンソールを開きます。ただし、CloudWatch にカスタムメトリクスを書き込む DAG を作成することはできます。詳細については、「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 に取り込まれないのはなぜですか?
このセクションでは、以下の問題の発生時に考えられる対策について説明します。
-
実行ロールに Amazon S3 バケットに対する十分なアクセス権限があることを確認します。詳細については、「Amazon MWAA 実行ロール」を参照してください。
-
Amazon S3 バケットに Block Public Access が設定され、バージョニングが有効になっていることを確認します。詳細については、「Amazon MWAA 用の Amazon S3 バケットの作成」を参照してください。
-
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 オペレーター
AWS 認証情報を使用して Airflow REST API にアクセスする場合、スロットリング制限を 1 秒あたり 10 トランザクション (TPS) 以上に増やすことはできますか?
はい、可能です。スロットリング制限を増やすには、AWS カスタマーサポート