Cloud Composer 3 環境を立ち上げてみた(Preview)
こんにちは!エノカワです。
Cloud Composer は、Apache Airflow で構築されたフルマネージドのワークフローオーケストレーションサービスです。
Apache Airflow のオープンソース プロジェクトを基に構築されており、Python プログラミング言語を使用して動作します。
Cloud Composer 3 が プレビュー となりました。
We are thrilled to announce the Public Preview launch of the new generation of Cloud Composer, Cloud Composer 3. The new version is now publicly available in all regions supported by Cloud Composer. It comes with a number of new features and characteristics:
- All infrastructure hidden in a tenant project
- Evergreen versioning
- Simplified networking configuration
- Improved performance
- More reliable DAG parsing and scheduling as DAG - Processor and Schedulers are now separate components
- 10 times bigger storage for Airflow workers
As well as most functionalities already known from the previous Composer versions. To see the list of features already supported by Composer 3, see Comparison of Cloud Composer versions.
Cloud Composer 3 では、ネットワーク設定が簡素化され、環境のクラスタや環境の他のサービスへの依存関係などのインフラストラクチャコンポーネントが非表示になるようです。
さっそく Cloud Composer 3 環境を立ち上げてみましたので、確認した内容をご紹介します。
環境作成
Cloud Composer 環境を作成します。
Google Cloud コンソールで Cloud Composer の ページに移動します。
[環境の作成] をクリックするとバージョンのリストが表示されるので、[Composer 3] を選択します。
cloud-composer-3
という名前で、東京リージョン、最新のイメージバージョンを選択し、サービスアカウントなど他はでデフォルトのままで作成しました。
比較用にcloud-composer-2
という名前で、バージョンのリストで [Composer 2] を選択した環境も作成しました。
作成にかかった時間は、どちらも約20分程度でした。
ネットワークの設定
ネットワークの設定が簡素化されていました。
環境を VPC ネットワークに接続する場合は、[ネットワーク アタッチメント] フィールドでネットワーク アタッチメントを選択します。
Cloud Composer 2 では、 GKE クラスタのネットワーク構成を設定する必要がありました。
ウェブサーバーのプラグイン
ウェブサーバーのプラグインの設定が追加されていました。
環境の Cloud Storage バケットからのプラグインを Airflow ウェブサーバー内で実行することを許可するかどうかを指定します。
後で有効または無効にできます。
その他
Cloud Composer 2 にあった下記の設定項目がなくなっていました。
- 復元力モード
- 環境バケット
- スナップショット スケジュール
Cloud Composer 3 の Preview では未対応のようです。
コンソール画面
コンソール画面のタブは同じでした。
- モニタリング
- ログ
- DAG
- 環境構成
- AIRFLOW 構成のオーバーライド
- 環境変数
- ラベル
- PYPI パッケージ
環境構成
リソース 内の GKE クラスタ の項目が無くなっていました。
Cloud Composer 3 では、環境のクラスタがプロジェクトにデプロイされません。
Cloud Composer 2 では、プロジェクトにデプロイされた環境のクラスタへのリンクが表示されています。
ログ
インフラストラクチャ関連のログが無くなっていました。
モニタリング
ユーザー ワークロードのモニタリングが追加されていました。
ユーザー ワークロードは、KubernetesPodOperator を使用して実行されるカスタム ワークロードです。
概要に Airflow コンポーネント のモニタリングが追加されていました。
Cloud Composer 環境で実行されるすべての Airflow コンポーネントのワークロードです。
リンクから各ワークロードのモニタリング画面に移動できます。
DAG移行
Cloud Composer 2 のDAGを Cloud Composer 3 に移行できるか試してみました。
結論、環境のスナップショットの保存と読み込みでDAGを移行することができました。
以下、実施した手順となります。
スナップショットの保存
cloud-composer-3
にgcs_to_bigquery_sales
というDAGをデプロイした状態です。
[スナップショットを保存] をクリックします。
設定内容を確認して、[保存] ボタンをクリックします。
スナップショットの保存が開始されます。
スナップショットの保存が完了しました。
保存先パスをコピーしておきます。
スナップショットの読み込み
cloud-composer-2
で [スナップショットを読み込む] をクリックします。
設定画面で先ほどコピーしておいたスナップショットの保存先パスを入力して、[読み込み] ボタンをクリックします。
確認画面の内容を確認して、[続行] をクリックします。
スナップショットの読み込みが開始されました。
スナップショットの読み込み完了後、Airflow UI 画面に移動します。
DAGs にgcs_to_bigquery_sales
というDAGが居ました!
cloud-composer-2
から移行されていることが確認できました。
まとめ
以上、Cloud Composer 3 環境を立ち上げみて確認した内容のご紹介でした。
フルマネージドになったことで、プロジェクト内からGKEクラスタが見えなくなっていました。
また、ネットワーク関連の設定もシンプルになり、利便性が増した印象です。
Preview のため、未対応の機能もありますが、以前の Composer バージョンのほとんどの機能が含まれているということなので、今後のアップデートで対応されていくものと思われます。
パフォーマンス向上や最新バージョンが維持される仕組みも導入されているようで一般提供が待ち遠しいです!
Cloud Composer バージョンの主な違いについては、Comparison of Cloud Composer versionsを参照ください。
参考
- Cloud Composer versioning overview | Google Cloud
- Create Cloud Composer environments | Google Cloud
- Connect an environment to a VPC network | Cloud Composer | Google Cloud
- Install custom plugins | Cloud Composer | Google Cloud
- Save and load environment snapshots | Cloud Composer | Google Cloud
- Pricing | Cloud Composer | Google Cloud