このページでは、Cloud Composer のバージョニングについて説明し、Cloud Composer のメジャー バージョン間の違いを表示しています。
Cloud Composer のメジャー バージョン
Cloud Composer には、メジャー バージョンが 3 つあります。
- Cloud Composer 1。環境を手動でスケーリングする場合、インフラストラクチャはプロジェクトとネットワークにデプロイされます。
Cloud Composer 2。このバージョンでは、環境のクラスタがリソースの需要を満たすように自動的にスケーリングされます。
Cloud Composer のバージョンの比較
次の表では、Cloud Composer 1 と Cloud Composer 2 の主な違いを示します。
特徴 | Cloud Composer 1 | Cloud Composer 2 |
---|---|---|
イメージのバージョン | composer-1.b.c-airflow-x.y.z |
composer-2.b.c-airflow-x.y.z |
Airflow バージョン | Airflow 1.10.* と Airflow 2 | Airflow 2 |
Python のバージョン | 3.8.12 | 以前のバージョンの 3.11.5 と 3.8.12 |
環境のクラスタ | 標準モードの VPC ネイティブまたはルートベースの Google Kubernetes Engine クラスタ | Autopilot モード VPC ネイティブ Google Kubernetes Engine クラスタ |
水平方向のスケーリング | 環境のクラスタ内のノード数を調整できます。これにより Airflow ワーカーの数が変更されます。 Airflow スケジューラの数を調整できます。 |
需要に基づいて Airflow ワーカーの数を自動的にスケーリングします。ワーカー数の上限と下限を設定、変更できます。 Airflow スケジューラと Airflow トリガーの数を調整できます |
垂直方向のスケーリング | 環境を作成するときに、クラスタノード、Airflow ウェブサーバー、データベースのマシンタイプを設定できます。Airflow ウェブサーバーとデータベースのマシンタイプを変更できます。 | ワークロード構成(Airflow ワーカーの CPU、メモリ、ストレージのパラメータ、スケジューラ、ウェブサーバー、環境サイズ)を設定および変更できます。 |
料金モデル | Cloud Composer 1 の料金モデル | Cloud Composer 2 の料金モデル |
アクセス制御 | Cloud Composer 1 のロール | Cloud Composer のロールWorkload Identity を使用します。Cloud Composer サービス エージェント アカウントに追加の権限が必要です。 |
Workforce Identity 連携を介したアクセス | 非対応 | サポート対象 |
復元性に優れた環境 | 非対応 | サポート対象 |
プライベート IP ネットワーキング | VPC ピアリング | Private Service Connect |
VPC Service Controls | サポート対象 | サポート対象 |
Airflow エグゼキュータ | Celery Executor | Celery Executor |
Airflow トリガー(遅延可能な演算子) | 非対応 | サポート対象 |
CMEK | サポート対象 | サポート対象 |
ウェブサーバーのアクセス制御 | サポート対象 | サポート対象 |
ウェブサーバーの再起動 | サポート対象 | サポート対象 |
ウェブサーバーのプラグイン | DAG シリアル化が無効になっている Airflow 1 環境でサポートされています | サポート対象 |
カスタム プラグインのインストール | サポート対象 | サポート対象 |
メンテナンス オペレーション | すべてのタスクが影響を受ける可能性があります。 | 実行時間が 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 2 と Cloud Composer 1 では、イメージには Cloud Composer の改善とサポートされている Airflow バージョンの新しいビルドが含まれています。Cloud Composer の改善を行うには、環境を Cloud Composer の新しいバージョンにアップグレードします。
バージョンの非推奨とサポート
Composer 2
Google は、バージョンのリリース後、一定期間は Cloud Composer 2 のバージョンをサポートしています。この期間中は、そのバージョンを使用する Cloud Composer 2 環境は完全にサポートされます。
Cloud Composer 2 のバージョンのサポートは次のように定義されています。
リリース日から 0~12 か月: これらのバージョンを実行する Cloud Composer 2 環境は完全にサポートされます。
リリース日から 12~18 か月: それらのバージョンを実行している Cloud Composer 2 環境は、セキュリティ問題に関するお客様への通知以外のサポートはされません。
リリース日から 18 か月以降: これらのバージョンを実行している 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 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 です。
Cloud Composer 1 のみが、Airflow 1 の最新リリース バージョンである Airflow 1.10.15 をサポートしています。
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 2 と Cloud Composer 1 では、すべてのバージョンのエイリアスが
composer-a.b.c-airflow-x.y.z
になります。 -
Cloud Composer 2 と Cloud Composer 1 では、
composer-a-airflow-x.y.z
などのバージョン エイリアスを使用しても、環境の自動アップグレードは提供されません。アップグレードするまで、環境は Cloud Composer と Airflow のバージョンが同じです。
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 のバージョン | 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 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
バージョンのエイリアスと同等です。