Managed Service for Apache Airflow のバージョニングの概要

このページでは、Managed Service for Apache Airflow のバージョニングについて説明し、Managed Airflow のメジャー バージョン間の違いを表示しています。

Managed Airflow のメジャー バージョン

Managed Airflow には、次のメジャー バージョンがあります。

  • Managed Airflow(第 3 世代)。このバージョンでは、ネットワーク設定が簡素化され、環境のクラスタや環境の他のサービスへの依存関係など、インフラストラクチャ コンポーネントが非表示になります。

  • Managed Airflow(第 2 世代)。このバージョンでは、環境のクラスタはリソースの需要を満たすように自動的にスケーリングされます。

  • Managed Airflow(以前の第 1 世代)。環境のスケーリングは手動で行われます。インフラストラクチャはプロジェクトとネットワークにデプロイされます。

Managed Airflow のバージョンの比較

次の表に、Managed Airflow(以前の Gen 1)、Managed Airflow(Gen 2)、Managed Airflow(Gen 3)の主な違いを示します。

機能 Managed Airflow(レガシー Gen 1) Managed Airflow(第 2 世代) Managed Airflow(第 3 世代)
イメージのバージョン composer-1.b.c-airflow-x.y.z composer-2.b.c-airflow-x.y.z composer-3-airflow-x.y.z-build.t
Airflow バージョン Airflow 1.10.* と Airflow 2 Airflow 2 Airflow 2、Airflow 3
Python のバージョン 3.8.12 3.11.8(以前のバージョンである 3.11.5 と 3.8.12) 3.11.8
環境のクラスタ 標準モードの VPC ネイティブまたはルートベースの Google Kubernetes Engine クラスタ Autopilot モード VPC ネイティブ Google Kubernetes Engine クラスタ 環境のクラスタがプロジェクトにデプロイされていません。
水平方向のスケーリング 環境のクラスタ内のノード数を調整できます。これにより、Airflow ワーカーの数が変わります。
Airflow スケジューラの数を調整できます。
需要に基づいて Airflow ワーカーの数を自動的にスケーリングします。ワーカー数の上限と下限を設定、変更できます。
Airflow スケジューラと triggerer の数を調整できます。
需要に基づいて Airflow ワーカーの数を自動的にスケーリングします。ワーカー数の上限と下限を設定、変更できます。
Airflow スケジューラ、triggerer、DAG プロセッサの数を調整できます。
垂直方向のスケーリング 環境を作成するときに、クラスタノード、Airflow ウェブサーバー、データベースのマシンタイプを設定できます。Airflow ウェブサーバーとデータベースのマシンタイプを変更できます。 ワークロード構成(Airflow ワーカー、スケジューラ、ウェブサーバー、環境サイズの CPU、メモリ、ストレージのパラメータ)の設定と変更ができます。 ワークロード構成(Airflow ワーカー、スケジューラ、ウェブサーバー、DAG プロセッサ、環境サイズの CPU、メモリ、ストレージのパラメータ)の設定と変更ができます。
料金モデル Managed Airflow(以前の Gen 1)の料金モデル Managed Airflow(第 2 世代)の料金モデル Managed Airflow(第 3 世代)の料金モデル
アクセス制御 Managed Airflow(以前の Gen 1)のロール Managed Airflow のロール。Workload Identity Federation for GKE を使用します。Managed Airflow サービス エージェント アカウントに追加の権限が必要です。 Managed Airflow のロール。Workload Identity Federation for GKE を使用します。追加の権限は不要
Workforce Identity 連携を介したアクセス 非対応 サポート対象 サポート対象
復元力の高い環境 非対応 サポート対象 サポート対象
データベースの保持ポリシー 非対応 まだ利用できないラボ サポート対象
プライベート IP ネットワーキング VPC ピアリング Private Service Connect ネットワークの設定が簡素化されます。既存の環境でパブリック IP とプライベート IP の間を切り替えることができます。
VPC Service Controls サポート対象 サポート対象 サポート対象
Airflow エグゼキュータ Celery Executor Celery Executor CeleryKubernetes Executor
Airflow triggerer(遅延可能な演算子) 非対応 サポート対象 サポート対象
KubernetesPodOperator のカスタム サービス アカウント サポート対象 サポート対象 サポート対象外
CMEK サポート対象 サポート対象 サポート対象
ウェブサーバーのアクセス制御 サポート対象 サポート対象 サポート対象
ウェブサーバーの再起動 サポート対象 サポート対象 サポート対象
ウェブサーバーのプラグイン DAG シリアル化が無効になっている Airflow 1 環境でサポートされています サポート対象 サポートされています。プラグインをオンデマンドで無効または有効にできます。
スケジューラ プラグイン 非対応 サポート対象 非対応
リスナー 非対応 サポート対象 タスクレベルのリスナーのみ
TimeTables 組み込みのみ カスタムと組み込み 組み込みのみ
Scheduler のカスタム PyPI パッケージ 非対応 サポート対象 非対応
カスタム プラグインのインストール サポート対象 サポート対象 サポート対象
メンテナンス オペレーション すべてのタスクが影響を受ける可能性があります。 実行時間が 55 分未満のタスクは影響を受けません。 実行時間が 24 時間未満のタスクは影響を受けません。
スナップショットの保存 Airflow 2.x と 1.10.15 バージョンのサポート サポート対象 サポート対象
スナップショットを読み込んでいます。 非対応 サポート対象 サポート対象
スケジュールされたスナップショット 非対応 サポート対象 サポート対象
カスタム環境のバケット 非対応 サポート対象 サポート対象
Airflow タスクログを Cloud Logging にのみ保存する 非対応 サポート対象 サポート対象
データ系列の統合 非対応 サポート対象 サポート対象
Composer ローカル開発 CLI ツール 非対応 サポート対象 サポート対象

Airflow バージョンの比較

Managed Airflow(Gen 3)は、Airflow 2 と Airflow 3 の環境を提供します。

Managed Airflow(第 3 世代)機能のサポート

次の表に、Airflow 3 でまだサポートされていない Managed Airflow(第 3 世代)の機能をまとめます。

機能 ステータス 説明
Airflow 3 へのアップグレード(スナップショット) Airflow 3 ではまだサポートされていません スナップショットを使用して、既存の Managed Airflow(Gen 3)環境を Airflow 2 から Airflow 3 に並行して移行します。
Airflow 3 へのアップグレード(インプレース) Airflow 3 ではまだサポートされていません アップグレード時に Airflow 3 を指定して、既存の Managed Airflow(Gen 3)環境を Airflow 2 から Airflow 3 にインプレース アップグレードします。
Workforce Identity 連携のサポート Airflow 3 ではまだサポートされていません Airflow 3 を使用する環境で外部 ID プロバイダを使用する。

Airflow 3 の既知の問題

Airflow 3 で次の既知の問題が確認されています。

  • Airflow ワークロードのログに警告メッセージが表示される。これらのメッセージは無視してかまいません。
  • airflowctl ユーティリティは、Managed Airflow の Airflow ワーカーや Docker コンテナなどのヘッドレス環境から簡単に使用できません。これはユーティリティの制限です。この制限の詳細については、GitHub の Airflow リポジトリの問題 58230 をご覧ください。

Airflow 3 機能のサポート

次の表に、Airflow 3 の機能とそのサポートを示します。

機能 ステータス
Airflow 3.0 UI サポート対象
DAG のバージョニング サポート対象
バックフィル(Airflow UI から) サポート対象
イベント ドリブン スケジューリング サポート対象
アセット サポート対象
推論の実行とハイパーパラメータ調整 サポート対象
airflowctl コマンドライン ツール サポート対象
DAG バンドル(LocalDagBundle 以外) Airflow 3 ではまだサポートされていません
Edge Executor と他のプログラミング言語のタスク Airflow 3 ではまだサポートされていません

Managed Service for Apache Airflow イメージ

Apache Airflow を実行するために、Managed Airflow により、Airflow リリースを他の一般的なバイナリや Python ライブラリとバンドルした Docker イメージが構築されます。

Managed Airflow イメージには、Managed Airflow に固有で、アップストリームの Airflow コードベースには適さない Airflow の変更が含まれています。各 Managed Airflow イメージには、プリインストールされたパッケージと Managed Airflow 固有の Airflow の変更が含まれています。

Google は、新しい Managed Airflow イメージを定期的にリリースしています。

  • Managed Airflow(Gen 3)では、サポートされている Airflow バージョンの新しいビルドがイメージに含まれています。使用する Airflow のバージョンとビルドを選択できます。環境に Managed Airflow の改善が自動的に適用されます。

  • Managed Airflow(Gen 2)と Managed Airflow(以前の Gen 1)では、Managed Airflow の改善と、サポートされている Airflow バージョンの新しいビルドがイメージに含まれています。Managed Airflow の改善を取得するには、環境を Managed Airflow の新しいバージョンにアップグレードします。

バージョンの非推奨とサポート

Composer 3

Google は、リリース後、一定期間 Airflow ビルドをサポートします。

  • リリース日から 0 ~ 12 か月: この Airflow ビルドを実行する Managed Airflow(第 3 世代)環境はサポートされます。

  • リリース日から 12 か月以降: これらのバージョンを実行している Managed Airflow(第 3 世代)環境はサポートされません。

    Airflow ビルドのサポートが終了すると、この Airflow ビルドを実行している環境もサポートされず、完全にユーザー管理となります。

環境は、サポートされている Airflow ビルドとサポートされていない Airflow ビルドで次のように動作します。

  • サポートされているすべての Airflow ビルドを使用して環境を作成できます。

  • サポートが終了した Airflow ビルドを含む環境は引き続き使用できます。環境は引き続き機能し、引き続き使用できます。また、サポートされている Airflow ビルドアップグレードすることもできます。

  • 新しい Airflow バージョンまたはビルドへのアップグレードが、セキュリティ上の脆弱性に対する唯一の実行可能な解決策である場合があります。

Composer 2

Google は、バージョンのリリース後、一定期間は Managed Airflow(第 2 世代)のバージョンをサポートします。

  • リリース日から 0 ~ 12 か月: これらのバージョンを実行している Managed Airflow(第 2 世代)環境がサポートされます。

  • リリース日から 12 か月以降: これらのバージョンを実行している Managed Airflow(第 2 世代)環境はサポートされません。

Managed Airflow のバージョンは、サポートが終了する日以降も使用できます。たとえば、ご使用の環境が、サポート期間が経過した Managed Airflow のバージョンに基づいている場合、環境はそのまま動作し、引き続き使用できます。この場合は、ご使用の環境をサポートされているバージョンアップグレードすることをおすすめします。

Composer 1

Managed Airflow(以前の Gen 1)の新しいバージョンは、2023 年 3 月末までリリースされます。リリースされた Managed Airflow(以前の Gen 1)のすべてのバージョンは、Managed Airflow(Gen 2)と同じバージョンの非推奨ポリシーに準拠し、そのポリシーに沿ってサポートされます。

スキーマをバージョン管理する

このセクションでは、Airflow と Managed Airflow のバージョン スキーマとバージョン エイリアスについて説明します。

Airflow バージョン スキーマ

AirFlow は、ソフトウェアのセマンティカルなバージョニング スキーマに従います。Airflow の各バージョンには、メジャーマイナーパッチという 3 つのバージョンがあります。

Composer 3

Managed Airflow(Gen 3)では、新しい Airflow のバージョンとビルドが随時利用可能になります。

環境では以前のすべての Airflow バージョンとビルドが機能し、インフラストラクチャ コンポーネントの更新を自動的に受信します。各バージョンとビルドは、バージョンの非推奨とサポートの説明のとおりにサポートされています。Airflow のバージョンを新しいバージョンまたはビルドにアップグレードすることもできます。

Composer 2

Managed Airflow のバージョンでサポートされている Airflow のバージョンのリストについては、Managed Airflow のバージョン リストをご覧ください。

  • 各リリースで、Managed Airflow(第 2 世代)は Airflow 2 の 2 つのマイナー バージョンをサポートしています。

    たとえば、Managed Airflow 2.4.0 は Airflow 2.4.* と Airflow 2.5.* をサポートします。

  • Managed Airflow では、Airflow 2 のマイナー バージョンごとに 1 つのパッチ バージョンがサポートされています。

    たとえば、Airflow 2.4.* の場合、Managed Airflow は Airflow 2.4.3 をサポートしています。

  • Managed Airflow で Airflow 2 の新しいパッチ バージョンが利用可能になると、対応するリリースに、同じマイナー バージョンの Airflow で利用可能な Airflow 2 の 2 つのパッチ バージョンが用意されます。その後、以前のパッチ バージョンは次のいずれかのリリースで削除されます。

    たとえば、Managed Airflow 2.3.4 は Airflow 2.5.1 と Airflow 2.5.3 の両方をサポートします。

  • Managed Airflow では、Managed Airflow のリリース間で一部の Airflow パッチ バージョンをスキップできます。また、Airflow の特定のパッチ バージョンに機能、品質、パフォーマンスの問題がある場合、Managed Airflow でそのバージョンをスキップすることもできます。

    たとえば、Airflow 2.1.3 をスキップして、Airflow 2.1.4 を使用できます。

  • Airflow 安定版を実行している Managed Airflow リリースには、Airflow の後続のバージョンからバックポートされる Airflow アップデートを含めることができます。

Composer 1

Managed Airflow(以前の Gen 1)でサポートされている Airflow の最新バージョンは Airflow 2.4.3 です。

Airflow 1 の最新リリース バージョンである Airflow 1.10.15 は、Managed Airflow(以前の Gen 1)でのみサポートされています。

Managed Airflow バージョンのスキーマ

Composer 3

Managed Airflow(Gen 3)のバージョニング スキーマは、Airflow のバージョンとビルドをキャプチャします。

composer-3-airflow-x.y.z-build.t

ここで

  • composer-3 は、Managed Airflow のメジャー バージョンです。

  • airflow-x.y.z.build.t は Airflow のバージョンとビルドです。Managed Airflow(第 3 世代)の同じ Airflow バージョンの次回のリリースごとに、ビルド番号が大きくなります。ビルド番号は、Airflow オープンソース プロジェクトではなく、Managed Airflow によって定義されます。

Composer 2

Managed Airflow(Gen 2)イメージのバージョニング スキーマでは、Managed Airflow と Airflow のバージョンが取り込まれます。

composer-2.b.c-airflow-x.y.z

ここで

  • composer-2.b.c は、Managed Airflow(第 2 世代)の Managed Airflow で管理されるカスタマイズのマイナー バージョンとパッチ バージョンを示します。一般に、Managed Airflow のマイナー バージョンは、利用可能な Airflow バージョンのセットが変更された場合など、以前のマイナー バージョンと比較して機能に大きな変更があった場合に該当します。パッチ バージョンは、後続のリリースで更新されます。

  • airflow-x.y.z は Airflow リリースです。特定の Managed Airflow イメージで使用される Airflow のメジャー バージョン、マイナー バージョン、パッチ バージョンを示します。

Composer 1

Managed Airflow(以前の Gen 1)イメージのバージョニング スキーマでは、Managed Airflow と Airflow のバージョンが取り込まれます。

composer-1.b.c-airflow-x.y.z

ここで

  • composer-1.b.c は Managed Airflow マネージド カスタマイズのバージョンです。
  • airflow-x.y.z は Airflow のリリースです。

バージョンのエイリアス

バージョンのエイリアスは次のように機能します。

  • 環境を作成するときに、Managed Airflow によってバージョンのエイリアスは完全な形式に解決されます。

    • Managed Airflow(Gen 3)では、すべてのバージョン エイリアスが composer-3-airflow-x.y.z-build.t になります。
    • Managed Airflow(Gen 2)と Managed Airflow(以前の Gen 1)では、すべてのバージョン エイリアスが composer-a.b.c-airflow-x.y.z になります。
  • Managed Airflow(第 3 世代)では、composer-3-airflow-x.y などのバージョン エイリアスを使用しても、環境の Airflow のバージョンとビルドは自動的にアップグレードされません。環境は、アップグレードするまで同じ Airflow ビルドとバージョンのままになります。環境は、これまで通りインフラストラクチャの自動アップグレードを受け取ります。

  • マネージド Airflow(Gen 2)とマネージド Airflow(以前の Gen 1)では、composer-a-airflow-x.y.z などのバージョン エイリアスを使用しても、環境の自動アップグレードは提供されません。環境は、アップグレードするまで同じ Managed Airflow と Airflow のバージョンのままになります。

Managed Airflow(Gen 3)のバージョン エイリアス

Managed Airflow(第 3 世代)は、次のバージョンのエイリアスをサポートしています。

エイリアス Airflow バージョン
composer-3-airflow-2 Airflow 2 の最新バージョンとビルド
composer-3-airflow-x.y x.y のメジャー バージョンとマイナー バージョン内の Airflow の最新バージョンとビルド
composer-3-airflow-x.y.z 指定されたバージョンの Airflow の最新ビルド

Managed Airflow(第 2 世代)のバージョン エイリアス

Managed Airflow(第 2 世代)は、次のバージョンのエイリアスをサポートしています。

エイリアス Managed Airflow のバージョン Airflow バージョン
composer-2-airflow-2 Managed Airflow(第 2 世代)の最新バージョン Airflow 2 の最新バージョン
composer-2-airflow-x.y Managed Airflow(第 2 世代)の最新バージョン x.y のメジャー バージョンとマイナー バージョン内の Airflow の最新バージョン
composer-2-airflow-x.y.z Managed Airflow(第 2 世代)の最新バージョン 指定したバージョンの Airflow
composer-2.b.c-airflow-x.y 指定されたバージョンの Managed Airflow(第 2 世代) x.y のメジャー バージョンとマイナー バージョン内で使用できる Airflow の最新バージョン

Managed Airflow(以前の Gen 1)のバージョン エイリアス

Managed Airflow(以前の第 1 世代)は、次のバージョンのエイリアスをサポートしています。

エイリアス Managed Airflow のバージョン Airflow バージョン
composer-1-airflow-2 Managed Airflow(以前の Gen 1)の最新バージョン Airflow 2 の最新バージョン
composer-1-airflow-1 Managed Airflow(以前の Gen 1)の最新バージョン Airflow 1 の最新バージョン
composer-1-airflow-x.y Managed Airflow(以前の Gen 1)の最新バージョン x.y のメジャー バージョンとマイナー バージョン内の Airflow の最新バージョン
composer-1-airflow-x.y.z Managed Airflow(以前の Gen 1)の最新バージョン 指定したバージョンの Airflow
composer-1.b.c-airflow-x.y 指定したバージョンの Managed Airflow(以前の Gen 1) x.y のメジャー バージョンとマイナー バージョン内で使用できる Airflow の最新バージョン

次のバージョン エイリアスは、Managed Airflow(第 3 世代)を指しています。これらは引き続き使用できますが、Managed Airflow のバージョンのエイリアスへの切り替えを検討してください。

  • composer-latest-airflow-x.ycomposer-3-airflow-x.y と同等です。
  • composer-latest-airflow-x.y.zcomposer-3-airflow-x.y.z と同等です。

Google Cloud CLI のバージョン引数

Google Cloud CLI を使用して Managed Airflow 環境を作成またはアップグレードする場合は、Managed Airflow と Airflow のバージョンを指定できます。

Composer 3

  • --image-version は、Airflow のバージョンとビルドを composer-3-airflow-x.y.z-build.t 形式で指定します。バージョン エイリアスを使用できます。これは、Google Cloud CLI によって完全な形式に解決されます。

  • --airflow-version は、次の形式で Airflow バージョンを指定します。

    • x.y.z 形式は、指定されたバージョンの Airflow の最新ビルド用です。この形式は、composer-3-airflow-x.y.z バージョンのエイリアスと同等です。

    • x.y 形式は、x.y のメジャー バージョンとマイナー バージョン内で利用可能な Airflow の最新ビルドに対応しています。この形式は、composer-3-airflow-x.y バージョンのエイリアスと同等です。

    • x.y.z-build.t は、指定された Airflow のバージョンとビルドです。この形式は composer-3-airflow-x.y.z-build.t と同じです。

Composer 2

  • --image-version 引数は、Managed Airflow(第 2 世代)と Airflow のバージョンを指定します。

    • composer-a.b.c-airflow-x.y.z 形式は、指定されたバージョンの Managed Airflow と Airflow を使用して環境を作成します。
    • バージョン エイリアスは、まず composer-a.b.c-airflow-x.y.z 形式に解決し、指定されたバージョンの Managed Airflow(第 2 世代)と Airflow を使用して環境を作成します。
  • --airflow-version は、次の形式で Airflow バージョンを指定します。

    • x.y.z 形式は、最新バージョンの Managed Airflow(第 2 世代)と指定された Airflow のバージョンに対応しています。この形式は、composer-2-airflow-x.y.z バージョンのエイリアスと同等です。

    • x.y 形式は、Managed Airflow(第 2 世代)の最新バージョン、x.y のメジャー バージョンとマイナー バージョン内で利用可能な Airflow の最新バージョンに対応しています。この形式は、composer-2-airflow-x.y バージョンのエイリアスと同等です。

Composer 1

  • --image-version 引数は、Managed Airflow(以前の Gen 1)と Airflow のバージョンを指定します。

    • composer-a.b.c-airflow-x.y.z 形式は、指定されたバージョンの Managed Airflow と Airflow を使用して環境を作成します。
    • バージョン エイリアスは、まず composer-a.b.c-airflow-x.y.z 形式に解決し、指定されたバージョンの Managed Airflow(以前の Gen 1)と Airflow を使用して環境を作成します。
  • --airflow-version は、次の形式で Airflow バージョンを指定します。

    • x.y.z 形式は、最新バージョンの Managed Airflow(以前の Gen 1)と指定された Airflow のバージョンに対応しています。この形式は、composer-1-airflow-x.y.z バージョンのエイリアスと同等です。

    • x.y 形式は、Managed Airflow(以前の Gen 1)の最新バージョン、x.y のメジャー バージョンとマイナー バージョン内で利用可能な Airflow の最新バージョンに対応しています。この形式は、composer-1-airflow-x.y バージョンのエイリアスと同等です。

次のステップ