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 ネイティブのツールを使用することができるため、インフラストラクチャではなくワークフローに労力を集中できます。

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

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

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

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

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

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

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 ではどのバージョンの 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 Metadata DB として使用できますか?

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

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

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

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

独自のコンテナ レジストリを使用できますか?

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

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

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

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

次のステップ