Cloud Composer の概要

Cloud Composer 1 | Cloud Composer 2

Cloud Composer は、フルマネージドのワークフロー オーケストレーション サービスです。クラウドとオンプレミス データセンターにまたがるワークフロー パイプラインの作成、スケジューリング、モニタリング、管理ができます。

Cloud Composer は一般的な Apache Airflow のオープンソース プロジェクトを基に構築されており、Python プログラミング言語を使用して動作します。

Apache Airflow のローカル インスタンスではなく Cloud Composer を使用すると、ユーザーはインストールや管理のオーバーヘッドなしに、Airflow のメリットを活用できます。Cloud Composer により、マネージド Airflow 環境を迅速に作成し、強力な Airflow ウェブ インターフェースやコマンドライン ツールなどの Airflow ネイティブのツールを使用することができるため、インフラストラクチャではなくワークフローに労力を集中できます。

Apache Airflow と Cloud Composer

ワークフロー、DAG、タスク

データ分析において、ワークフローは、データの取り込み、変換、分析、または利用のための一連のタスクを表します。Airflow では、DAG(つまり「有向非巡回グラフ」)を使用してワークフローが作成されます。

DAG とタスクの関係
図 1.DAG とタスクの関係

DAG は、スケジューリングして実行するタスクのコレクションであり、それらの関係と依存関係を反映して編成されます。DAG は Python スクリプトで作成され、コードを使用して DAG の構造(タスクとそれらの依存関係)を定義します。

DAG の各タスクは、ほとんどあらゆるものを表すことができます。たとえば、1 つのタスクで次の機能を行うことがあります。

  • 取り込み用のデータの準備
  • API のモニタリング
  • メール送信
  • パイプラインの実行

DAG は、各構成タスクの機能には関係しません。その目的は、各タスクが適切なタイミング、適切な順序、または適切な問題処理で実行されるようにすることです。

Airflow ワークフロー、DAG、タスク

DAG とタスクの詳細については、Apache Airflow のドキュメントをご覧ください。

Cloud Composer 環境

ワークフローを実行するには、まず環境を作成する必要があります。Airflow は多くのマイクロサービスで実行されるため、Cloud Composer ではワークフローを実行するための Google Cloud コンポーネントのプロビジョニングが行われます。これらのコンポーネントはまとめて Cloud Composer 環境と呼ばれます。

環境は、Google Kubernetes Engine に基づく自己完結型の Airflow デプロイメントです。Airflow に組み込まれているコネクタを使用して、他の Google Cloud サービスと連携します。単一の Google Cloud プロジェクトに 1 つ以上の環境を作成できます。サポートされているリージョンで、Cloud Composer 環境を作成できます。

環境のコンポーネントの詳細については、Cloud Composer 環境のアーキテクチャをご覧ください。

Cloud Composer の特長

Cloud Composer を使用すると、次のような機能を管理、使用できます。

  • Airflow 環境
  • Airflow 管理
  • Airflow 構成
  • Airflow DAG(ワークフロー)
  • カスタム Apache プラグイン

Cloud Composer が Airflow DAG、Airflow 構成パラメータ、カスタム プラグイン、Python の依存関係などの Airflow 機能と連携する仕組みについては、Cloud Composer の機能をご覧ください。

よくある質問

Cloud Composer ではどのバージョンの Apache Airflow を使用しますか?

Cloud Composer は Airflow 1 と Airflow 2 の両方をサポートしています。

Cloud Composer 環境は Cloud Composer イメージに基づいています。環境を作成するときに、特定の Airflow のバージョンを持つイメージを選択できます。

環境の Apache Airflow のバージョンをコントロールできます。Cloud Composer イメージの新しいバージョンに環境をアップグレードすることもできます。それぞれの Cloud Composer リリースは、複数の Apache Airflow バージョンをサポートしています。

ネイティブの Airflow UI と CLI を使用できますか?

環境の Apache Airflow ウェブ インターフェースにアクセスできます。各環境には独自の Airflow UI があります。Airflow UI へのアクセスについて詳しくは、Airflow ウェブ インターフェースをご覧ください。

環境で Airflow CLI コマンドを実行するには、gcloud コマンドを使用します。Cloud Composer 環境での Airflow CLI コマンドの実行について詳しくは、Airflow コマンドライン インターフェースをご覧ください。

独自のデータベースを Airflow メタデータ DB として使用できますか?

Cloud Composer は、Airflow メタデータ DB のマネージド データベース サービスを使用します。ユーザー提供のデータベースを Airflow メタデータ DB として使用することはできません。

独自のクラスタを Cloud Composer クラスタとして使用できますか?

Cloud Composer は、Google Kubernetes Engine サービスを使用して、Airflow コンポーネントが実行される環境クラスタを作成、管理、削除します。これらのクラスタは Cloud Composer によって完全に管理されます。

セルフマネージド Google Kubernetes Engine クラスタに基づいて Cloud Composer 環境を構築することはできません。

独自の Container Registry を使用できますか?

Cloud Composer は Artifact Registry サービスを使用して、Cloud Composer 環境で使用されるコンテナ イメージ リポジトリを管理します。ユーザー指定の Container Registry に置き換えることはできません。

Cloud Composer 環境はゾーン単位とリージョン単位のどちらですか?

Cloud Composer 1 環境はゾーン環境です。

Cloud Composer 2 環境には、ゾーン Airflow メタデータ DB とリージョン Airflow のスケジューリングと実行レイヤがあります。Airflow スケジューラ、ワーカー、ウェブサーバーは Airflow 実行レイヤで実行されます。

次のステップ