Apache Airflow バージョンのアップグレード
Amazon MWAA はマイナーバージョンアップグレードをサポートしています。これは、環境をバージョン x.4.z
から x.5.z
にアップグレードできることを意味します。メジャーバージョンのアップグレード、たとえばバージョン 1.y.z
から 2.y.z
へのアップグレードを行うには、新しい環境を作成し、リソースを移行する必要があります。Apache Airflow の新しいメジャーバージョンへのアップグレードの詳細については、Amazon MWAA 移行ガイドの「新しい Amazon MWAA 環境への移行」を参照してください。
アップグレードプロセス中、Amazon MWAA は環境メタデータのスナップショットをキャプチャし、ワーカー、スケジューラー、ウェブサーバーを新しい Apache Airflow バージョンにアップグレードし、最後にそのスナップショットを使用してメタデータデータベースを復元します。
注記
ご使用の環境に合わせて Apache Airflow バージョンをダウングレードすることはできません。
アップグレードする前に、DAG やその他のワークフローリソースが、アップグレード先の新しい Apache Airflow バージョンと互換性があることを確認してください。requirements.txt
を使用して依存関係を管理する場合は、要件で指定する依存関係が新しいバージョンと互換性があることも確認する必要があります。
ワークフローリソースのアップグレード
Apache Airflow のバージョンを変更するときは必ず、--constraint
内の正しい requirements.txt
URL お客様するようにしてください。
警告
アップグレード中に対象の Apache Airflow バージョンと互換性のない要件を指定すると、以前の要件バージョンの Apache Airflow へのロールバックプロセスに時間がかかる可能性があります。
ワークフローリソースを移行するには
-
aws-mwaa-local-runner
リポジトリのフォークを作成し、Amazon MWAA ローカルランナーのコピーをクローンしてください。 -
アップグレードしようとしているバージョンと一致する aws-mwaa-local-runner リポジトリのブランチにチェックアウトします。
-
Amazon MWAA ローカルランナー CLI ツールを使用して Docker イメージをビルドし、Apache Airflow をローカルで実行します。詳細については、GitHub リポジトリのローカル・ランナー README
を参照してください。 -
requirements.txt
を更新するには、Amazon MWAA ユーザーガイドの「Python 依存関係の管理」で推奨されているベストプラクティスに従ってください。 -
(オプション) アップグレードプロセスをスピードアップするには、環境のメタデータデータベースをクリーンアップします。メタデータの量が多い環境では、アップグレードにかなり時間がかかることがあります。
-
ワークフローリソースのテストに成功したら、DAG、
requirements.txt
、およびプラグインを環境の Amazon S3 バケットにコピーします。
これで、環境を編集し、新しい Apache Airflow バージョンを指定して、更新手順を開始する準備ができました。
新しいバージョンを指定してください
ワークフローリソースの更新を完了して新しい Apache Airflow バージョンとの互換性を確認したら、次の手順を実行して環境の詳細を編集し、アップグレードする Apache Airflow のバージョンを指定します。
注記
アップグレードを実行すると、その環境で現在実行されているすべてのタスクが手順中に終了します。アップデート手順には最大 2 時間かかることがあり、その間は環境が使用できなくなります。
コンソールを使用して新しいバージョンを指定するには
-
Amazon MWAA コンソールで、環境ページ
を開きます。 -
[環境] のリストで、アップグレードしたい環境を選択します。
-
環境ページで [編集] を選択して環境を編集します。
-
[環境の詳細] セクションの [Airflow バージョン] で、環境をアップグレードしたい新しい Apache Airflow バージョン番号をドロップダウンリストから選択します。
-
[レビューと保存] ページが表示されるまで、[次へ] を選択します。
-
[レビューと保存] ページで変更内容を確認し、[保存] を選択します。
変更を適用すると、環境がアップグレード手順を開始します。この期間中、Amazon MWAA がどのようなアクションを実行しているか、および手順が成功したかどうかが環境のステータスでわかります。
アップグレードが成功したシナリオでは、ステータスは UPDATING
が表示され、その後 CREATING_SNAPSHOT
となり、Amazon MWAA がメタデータのバックアップをキャプチャします。最後に、ステータスはまず UPDATING
に戻り、手順が完了すると AVAILABLE
に戻ります。
環境のアップグレードに失敗した場合、環境のステータスは ROLLING_BACK
を表示します。ロールバックが成功した場合、ステータスは最初に UPDATE_FAILED
を表示し、これは更新が失敗したが環境は利用可能であることを示します。ロールバックが失敗した場合、ステータスは UNAVAILABLE
を表示し、環境にアクセスできないことを示します。