このページでは、Cloud Composer のバージョニングについて説明し、Cloud Composer のメジャー バージョン間の違いを表示しています。
Cloud Composer のメジャー バージョン
Cloud Composer には、次のメジャー バージョンがあります。
- Cloud Composer 1。環境のスケーリングは手動で行われます。インフラストラクチャはプロジェクトとネットワークにデプロイされます。
- Cloud Composer 2。このバージョンでは、環境のクラスタはリソースの需要を満たすように自動的にスケーリングされます。
- Cloud Composer 3。このバージョンでは、ネットワーク設定が簡素化され、環境のクラスタや環境の他のサービスへの依存関係など、インフラストラクチャ コンポーネントが非表示になります。
Cloud Composer のバージョンの比較
次の表に、Cloud Composer 1、Cloud Composer 2、Cloud Composer 3 の主な違いを示します。
機能 | Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 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 |
Python のバージョン | 3.8.12 | 3.11.5、3.8.12(以前のバージョン) | 3.11.5 |
環境のクラスタ | 標準モードの 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、メモリ、ストレージのパラメータ)の設定と変更ができます。 |
料金モデル | Cloud Composer 1 の料金モデル | Cloud Composer 2 の料金モデル | Cloud Composer 3 の料金モデル |
アクセス制御 | Cloud Composer 1 のロール | Cloud Composer のロールWorkload Identity Federation for GKE を使用します。Cloud Composer サービス エージェント アカウントに追加の権限が必要です。 | Cloud Composer ロール。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(遅延可能な演算子) | 非対応 | サポート対象 | サポート対象 |
CMEK | サポート対象 | サポート対象 | パブリック プレビューでは利用できません |
ウェブサーバーのアクセス制御 | サポート対象 | サポート対象 | サポート対象 |
ウェブサーバーの再起動 | サポート対象 | サポート対象 | サポート対象 |
ウェブサーバーのプラグイン | DAG シリアル化が無効になっている Airflow 1 環境でサポートされています | サポート対象 | サポートされています。プラグインをオンデマンドで無効または有効にできます。 |
カスタム プラグインのインストール | サポート対象 | サポート対象 | サポート対象 |
メンテナンス オペレーション | すべてのタスクが影響を受ける可能性があります。 | 実行時間が 55 分未満のタスクは影響を受けません。 | 実行時間が 55 分未満のタスクは影響を受けません。 |
スナップショットの保存 | Airflow 2.x と 1.10.15 バージョンのサポート | サポート対象 | サポート対象 |
スナップショットを読み込んでいます。 | 非対応 | サポート対象 | サポート対象 |
スケジュールされたスナップショット | 非対応 | サポート対象 | パブリック プレビューでは利用できません |
カスタム環境のバケット | 非対応 | サポート対象 | サポート対象 |
Airflow タスクログを Cloud Logging にのみ保存する | 非対応 | サポート対象 | サポート対象 |
データ系列の統合 | 非対応 | サポート対象 | サポート対象 |
Cloud Composer イメージ
Apache Airflow を実行するために、Cloud Composer により、Airflow リリースを他の一般的なバイナリや Python ライブラリとバンドルした Docker イメージが構築されます。
Cloud Composer イメージには、Cloud Composer に固有で、アップストリームの Airflow コードベースには適さない Airflow の変更が含まれています。各 Cloud Composer イメージには、プリインストールされたパッケージと Cloud Composer 固有の Airflow の変更が含まれています。
Google は、新しい Cloud Composer イメージを定期的にリリースしています。
Cloud Composer 3 では、サポートされている Airflow バージョンの新しいビルドがイメージに含まれています。使用する Airflow のバージョンとビルドを選択できます。環境に Cloud Composer の改善が自動的に適用されます。
Cloud Composer 2 と Cloud Composer 1 では、Cloud Composer の改善と、サポートされている Airflow バージョンの新しいビルドがイメージに含まれています。Cloud Composer の改善を取得するには、環境を Cloud Composer の新しいバージョンにアップグレードします。
バージョンの非推奨とサポート
Composer 3
Google は、最初のリリース後、Airflow バージョンを一定期間サポートします。
Airflow のマイナー バージョンが Cloud Composer 3 で利用可能な最新バージョンである場合、このマイナー バージョンのすべての Airflow ビルドが完全にサポートされます。正確なサポート終了日は、Cloud Composer 3 で Airflow の新しいマイナー バージョンが利用可能になったときに決定されます。
Cloud Composer 3 で新しいマイナー バージョンの Airflow が利用可能になると、以前のマイナー バージョンの Airflow を使用したすべてのビルドが、その日から 12 か月間サポートされます。同じマイナー バージョンの Airflow を含む複数のビルドがある場合、それらのビルドの完全サポートの終了日はすべて同じです。
マイナー バージョンの完全サポートが終了すると、このバージョンを実行している環境もサポートされず、完全にユーザー管理となります。このような環境は、完全サポートされる Airflow バージョンに引き続きアップグレードできます。
完全にサポートされているすべての Airflow ビルドを使用して環境を作成できます。
サポートが終了した Airflow ビルドを含む環境は引き続き使用できます。環境は引き続き機能し、引き続き使用できます。また、完全にサポートされているバージョンにアップグレードすることもできます。
Composer 2
Google は、バージョンのリリース後、一定期間は Cloud Composer 2 のバージョンをサポートしています。この期間中は、そのバージョンを使用する Cloud Composer 2 環境は完全にサポートされます。
Cloud Composer 2 のバージョンのサポートは次のように定義されています。
リリース日から 0~12 か月: これらのバージョンを実行する Cloud Composer 2 環境は完全にサポートされます。
リリース日から 12 か月以降: これらのバージョンを実行している Cloud Composer 2 環境はサポートされません。
Cloud Composer のバージョンは、サポートが終了する日以降も使用できます。たとえば、ご使用の環境が、サポート期間が経過した Cloud Composer のバージョンに基づいている場合、環境はそのまま動作し、引き続き使用できます。この場合は、ご使用の環境をサポートされているバージョンにアップグレードすることをおすすめします。
Composer 1
Cloud Composer 1 の新しいバージョンは、2023 年 3 月末までリリースされます。リリースされた Cloud Composer 1 のすべてのバージョンは、Cloud Composer 2 と同じバージョンの非推奨ポリシーに準拠し、そのポリシーに沿ってサポートされます。
2024 年 3 月 25 日、Cloud Composer 1 はメンテナンス後モードに入りました。Google は、Airflow の新しいバージョン、バグの修正、セキュリティ アップデートなど、Cloud Composer 1 への今後のアップデートはリリースしません。 Cloud Composer 2 への移行をおすすめします。
Airflow バージョンのサポート
AirFlow は、ソフトウェアのセマンティカルなバージョニング スキーマに従います。Airflow の各バージョンには、メジャー、マイナー、パッチという 3 つのバージョンがあります。
Composer 3
Cloud Composer 3 では、新しい Airflow のバージョンとビルドが随時利用可能になります。
環境では以前のすべての Airflow バージョンとビルドが機能し、インフラストラクチャ コンポーネントの更新を自動的に受信します。各バージョンとビルドは、バージョンの非推奨とサポートの説明のとおりにサポートされています。Airflow のバージョンを新しいバージョンまたはビルドにアップグレードすることもできます。
Composer 2
Cloud Composer のバージョンでサポートされている Airflow のバージョンのリストについては、Cloud Composer のバージョン リストをご覧ください。
各リリースで、Cloud Composer 2 は Airflow 2 の 2 つのマイナー バージョンをサポートしています。
たとえば、Cloud Composer 2.4.0 は Airflow 2.4.* と Airflow 2.5.* をサポートします。
Cloud Composer では、Airflow 2 のマイナー バージョンごとに 1 つのパッチ バージョンがサポートされています。
たとえば、Airflow 2.4.* の場合、Cloud Composer は Airflow 2.4.3 をサポートします。
Cloud Composer で Airflow 2 の新しいパッチ バージョンが利用可能になると、対応するリリースに、同じマイナー バージョンの Airflow で利用可能な Airflow 2 の 2 つのパッチ バージョンが用意されます。その後、以前のパッチ バージョンは次のいずれかのリリースで削除されます。
たとえば、Cloud Composer 2.3.4 は Airflow 2.5.1 と Airflow 2.5.3 の両方をサポートします。
Cloud Composer では、Cloud Composer のリリース間で一部の Airflow パッチ バージョンをスキップできます。また、Airflow の特定のパッチ バージョンに機能、品質、パフォーマンスの問題がある場合、Cloud Composer でそのバージョンをスキップすることもできます。
たとえば、Airflow 2.1.3 をスキップして、Airflow 2.1.4 を使用できます。
Airflow 安定版を実行している Cloud Composer リリースには、Airflow の後続のバージョンからバックポートされる Airflow アップデートを含めることができます。
Composer 1
Cloud Composer 1 でサポートされている Airflow の最新バージョンは Airflow 2.4.3 です。
Airflow 1 の最新リリース バージョンである Airflow 1.10.15 は、Cloud Composer 1 でのみサポートされています。
Cloud Composer のバージョン スキーマ
Composer 3
Cloud Composer 3 のバージョニング スキーマは、Airflow のバージョンとビルドをキャプチャします。
composer-3-airflow-x.y.z-build.t
ここで:
composer-3
は Cloud Composer のバージョンです。airflow-x.y.z.build.t
は Airflow のバージョンとビルドです。Cloud Composer 3 の同じ Airflow バージョンの次回のリリースごとに、ビルド番号が大きくなります。ビルド番号は、Airflow オープンソース プロジェクトではなく、Cloud Composer によって定義されます。
Composer 2
Cloud Composer 2 イメージのバージョニング スキーマでは、Cloud Composer と Airflow のバージョンが取り込まれます。
composer-2.b.c-airflow-x.y.z
ここで:
composer-2.b.c
は Cloud Composer マネージド カスタマイズのバージョンです。airflow-x.y.z
は Airflow のリリースです。
Composer 1
Cloud Composer 1 イメージのバージョニング スキーマでは、Cloud Composer と Airflow のバージョンが取り込まれます。
composer-1.b.c-airflow-x.y.z
ここで:
composer-1.b.c
は Cloud Composer マネージド カスタマイズのバージョンです。airflow-x.y.z
は Airflow のリリースです。
バージョンのエイリアス
バージョンのエイリアスは次のように機能します。
環境を作成するときに、Cloud Composer によってバージョンのエイリアスは完全な形式に解決されます。
- Cloud Composer 3 では、すべてのバージョン エイリアスが
composer-3-airflow-x.y.z-build.t
になります。 - Cloud Composer 2 と Cloud Composer 1 では、すべてのバージョン エイリアスが
composer-a.b.c-airflow-x.y.z
になります。
- Cloud Composer 3 では、すべてのバージョン エイリアスが
Cloud Composer 3 では、
composer-3-airflow-x.y
などのバージョン エイリアスを使用しても、環境の Airflow のバージョンとビルドは自動的にアップグレードされません。環境は、アップグレードするまで同じ Airflow ビルドとバージョンのままになります。環境は、これまで通りインフラストラクチャの自動アップグレードを受け取ります。Cloud Composer 2 と Cloud Composer 1 では、
composer-a-airflow-x.y.z
などのバージョン エイリアスを使用しても、環境の自動アップグレードは提供されません。環境は、アップグレードするまで同じ Cloud Composer と Airflow のバージョンのままになります。
Cloud Composer 3 のバージョン エイリアス
Cloud Composer 3 は、次のバージョンのエイリアスをサポートしています。
エイリアス | Airflow バージョン |
---|---|
composer-3-airflow-2 |
Airflow 2 の最新バージョンとビルド |
composer-3-airflow-x.y |
x.y のメジャー バージョンとマイナー バージョン内の Airflow の最新バージョンとビルド |
composer-3-airflow-x.y.z |
指定されたバージョンの Airflow の最新ビルド |
Cloud Composer 2 のバージョン エイリアス
Cloud Composer 2 は、次のバージョンのエイリアスをサポートしています。
エイリアス | Cloud Composer のバージョン | Airflow バージョン |
---|---|---|
composer-2-airflow-2 |
Cloud Composer 2 の最新バージョン | Airflow 2 の最新バージョン |
composer-2-airflow-x.y |
Cloud Composer 2 の最新バージョン | x.y のメジャー バージョンとマイナー バージョン内の Airflow の最新バージョン |
composer-2-airflow-x.y.z |
Cloud Composer 2 の最新バージョン | 指定したバージョンの Airflow |
composer-2.b.c-airflow-x.y |
Cloud Composer 2 の指定バージョン | x.y のメジャー バージョンとマイナー バージョン内で使用できる Airflow の最新バージョン |
Cloud Composer 1 のバージョン エイリアス
Cloud Composer 1 は、次のバージョンのエイリアスをサポートしています。
エイリアス | Cloud Composer のバージョン | Airflow バージョン |
---|---|---|
composer-1-airflow-2 |
Cloud Composer 1 の最新バージョン | Airflow 2 の最新バージョン |
composer-1-airflow-1 |
Cloud Composer 1 の最新バージョン | Airflow 1 の最新バージョン |
composer-1-airflow-x.y |
Cloud Composer 1 の最新バージョン | x.y のメジャー バージョンとマイナー バージョン内の Airflow の最新バージョン |
composer-1-airflow-x.y.z |
Cloud Composer 1 の最新バージョン | 指定したバージョンの Airflow |
composer-1.b.c-airflow-x.y |
Cloud Composer 1 の指定バージョン | x.y のメジャー バージョンとマイナー バージョン内で使用できる Airflow の最新バージョン |
次のバージョン エイリアスは Cloud Composer 2 を指しています。これらは引き続き使用できますが、Cloud Composer のバージョンのエイリアスへの切り替えを検討してください。
composer-latest-airflow-x.y
はcomposer-2-airflow-x.y
と同等です。composer-latest-airflow-x.y.z
はcomposer-2-airflow-x.y.z
と同等です。
Google Cloud CLI のバージョン引数
Google Cloud CLI を使用して Cloud Composer 環境を作成またはアップグレードする場合は、Cloud Composer と 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
引数は、Cloud Composer 2 と Airflow のバージョンを指定します。composer-a.b.c-airflow-x.y.z
形式は、指定されたバージョンの Cloud Composer と Airflow を使用して環境を作成します。- バージョン エイリアスは、まず
composer-a.b.c-airflow-x.y.z
形式に解決し、指定されたバージョンの Cloud Composer 2 と Airflow を使用して環境を作成します。
--airflow-version
は、次の形式で Airflow バージョンを指定します。x.y.z
形式は、最新バージョンの Cloud Composer 2 と指定された Airflow のバージョンに対応しています。この形式は、composer-2-airflow-x.y.z
バージョンのエイリアスと同等です。x.y
形式は、Cloud Composer 2 の最新バージョン、x.y
のメジャー バージョンとマイナー バージョン内で利用可能な Airflow の最新バージョンに対応しています。この形式は、composer-2-airflow-x.y
バージョンのエイリアスと同等です。
Composer 1
--image-version
引数は、Cloud Composer 1 と Airflow のバージョンを指定します。composer-a.b.c-airflow-x.y.z
形式は、指定されたバージョンの Cloud Composer と Airflow を使用して環境を作成します。- バージョン エイリアスは、まず
composer-a.b.c-airflow-x.y.z
形式に解決し、指定されたバージョンの Cloud Composer 1 と Airflow を使用して環境を作成します。
--airflow-version
は、次の形式で Airflow バージョンを指定します。x.y.z
形式は、最新バージョンの Cloud Composer 1 と指定された Airflow のバージョンに対応しています。この形式は、composer-1-airflow-x.y.z
バージョンのエイリアスと同等です。x.y
形式は、Cloud Composer 1 の最新バージョン、x.y
のメジャー バージョンとマイナー バージョン内で利用可能な Airflow の最新バージョンに対応しています。この形式は、composer-1-airflow-x.y
バージョンのエイリアスと同等です。