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 コマンドライン インターフェースをご覧ください。

次のステップ