Cloud Composer の特長

Cloud Composer 1 | Cloud Composer 2

このページでは Cloud Composer の特長と機能の概要を説明します。

Cloud Composer 1 と Cloud Composer 2 の違いの詳細については、バージョニングの概要 をご覧ください。

Cloud Composer は、ワークフローの作成、スケジューリング、モニタリング、管理を支援する、マネージド Apache Airflow サービスです。

Cloud Composer 環境

Cloud Composer 環境は、Apache Airflow を基盤としたラッパーです。 Cloud Composer は、各環境用に次のコンポーネントを作成します。

  • GKE クラスタ: Airflow スケジューラ、ワーカー、Redis キューは単一のクラスタで GKE ワークロードとして実行され、DAG の処理と実行を行います。クラスタはまた、Composer Agent や Airflow Monitoring などの ほかのCloud Composer のコンポーネントをホストします。これにより、Cloud Composer 環境の管理、Cloud Logging に保存するログの収集、Cloud Monitoring にアップロードする指標の収集に役立ちます。
  • ウェブサーバー: ウェブサーバーでは Apache Airflow ウェブ インターフェースが実行されます。詳細については、Airflow ウェブ インターフェースをご覧ください。
  • データベース: データベースは Apache Airflow のメタデータを保持します。
  • Cloud Storage バケット: Cloud Composer は Cloud Storage バケットを環境と関連付けます。関連付けられたバケットには、環境の DAGログ、カスタム プラグイン、データが保存されます。Cloud Composer のストレージ バケットの詳細は、Cloud Storage に保存されるデータをご覧ください。

Airflow 管理

Airflow 環境のアクセスと管理には、次の Airflow ネイティブのツールを使用できます。

  • ウェブ インターフェース: Airflow ウェブ インターフェースには、Google Cloud Console から、または適切な権限を持つ直接 URL からアクセスできます。 詳細については、Airflow ウェブ インターフェースをご覧ください。
  • コマンドライン ツール: Google Cloud CLI をインストールすると、gcloud composer environments コマンドを実行して、Airflow コマンドライン コマンドを Cloud Composer 環境に発行できます。詳細については、Airflow コマンドライン インターフェースをご覧ください。

ネイティブ ツールのほかに、Cloud Composer の REST API と RPC API によって、Airflow 環境にプログラマティックにアクセスできます。詳しくは、API と課金をご覧ください。

Airflow 構成

一般に、Cloud Composer が Apache Airflow 用に提供する構成は、ローカルにホストされた Airflow デプロイの構成と同じです。Airflow 構成は、Cloud Composer で事前構成されているため、構成プロパティを変更できません。その他の構成については、環境を作成、更新するときに指定します。詳細については、ブロックされている Airflow 構成をご覧ください。

Airflow DAG(ワークフロー)

Apache Airflow DAG はワークフローであり、追加のタスク依存関係を持つタスクの集まりです。Cloud Composer では DAG の保存に Cloud Storage を使用します。Cloud Composer 環境から DAG を追加または削除するには、その環境に関連付けられている環境のバケットから DAG を追加または削除します。DAG をストレージ バケットに移動すると、自動的に DAG が環境に追加されてスケジュール設定されます。

DAG のスケジュールに加えて、DAG を手動でトリガーする、またはイベント(関連する Cloud Storage バケットで発生した変更など)に対するレスポンスとして DAG をトリガーすることができます。詳細については、DAG のトリガーをご覧ください。

プラグイン

カスタム プラグインを Cloud Composer 環境にインストールできます(カスタムの、インハウス Apache Airflow 演算子、フック、センサー、インターフェースなど)。詳細については、カスタム プラグインのインストールをご覧ください。

Python 依存関係

Python 依存関係は、環境の Python パッケージ インデックス、またはプライベート パッケージ リポジトリからインストールできます。詳細については、Python 依存関係のインストールをご覧ください。

依存関係がパッケージ インデックスにない場合は、プラグイン機能を使用することもできます。

アクセス制御

セキュリティを Google Cloud プロジェクト レベルで管理し、個別のユーザーが環境を変更または作成できないように Identity and Access Management(IAM)のロールを割り当てることが可能です。プロジェクトへのアクセス権を持たないユーザーや適切な Cloud Composer IAM ロールを持たないユーザーは、環境のどの部分にもアクセスできません。詳細については、アクセス制御をご覧ください。

ロギングとモニタリング

Airflow ウェブ インターフェースで単一の DAG タスクに関連付けられた Airflow ログを表示し、環境の Cloud Storage バケットlogs フォルダを表示できます。

ストリーミング ログは Cloud Composer で利用できます。詳細については、Cloud Composer 環境のモニタリングをご覧ください。

Cloud Composer には、Google Cloud プロジェクトの管理アクティビティ監査ログなどの監査ログも用意されています。詳細については、監査ログの表示をご覧ください。

ネットワークとセキュリティ

デフォルトでは、Cloud Composer は Autopilot モードの VPC ネイティブ Google Kubernetes Engine クラスタをデプロイします。

セキュリティとネットワークの柔軟性を高めるため、Cloud Composer では次の機能もサポートされています。

共有 VPC

共有 VPC は、中央ホスト プロジェクトから共有ネットワーク リソースを管理できるようにし、プロジェクト間で一貫したネットワーク ポリシーを適用します。

Cloud Composer が共有 VPC に参加すると、Cloud Composer 環境がサービス プロジェクト内に配置され、他の Google Cloud プロジェクトでホストされているサービスを呼び出せるようになります。サービス プロジェクト内のリソースは、内部 IP アドレスを使用して、プロジェクトの境界を越えて安全な通信を行います。ネットワークとホスト プロジェクトの要件については、共有 VPC の構成をご覧ください。

VPC ネイティブ Cloud Composer 環境

VPC ネイティブでは、GKE クラスタの Pod と Service IP アドレスが Google Cloud ネットワーク内(VPC ネットワーク ピアリング経由も含む)でネイティブにルーティングできます。

この構成では、Cloud Composer は環境内のエイリアス IP アドレスを使用して VPC ネイティブ GKE クラスタをデプロイします。VPC ネイティブ クラスタを使用する場合、GKE は自動的にセカンダリ範囲を選択します。特定のネットワーキング要件では、Cloud Composer 環境の構成中に GKE Pod と GKE Service のセカンダリ範囲を構成することもできます。

プライベート IP Cloud Composer 環境

プライベート IP を使用すると、Cloud Composer ワークフローは公共のインターネットから確実に隔離されます。

この構成では、Cloud Composer は顧客プロジェクト内のエイリアス IP アドレスを使用して VPC ネイティブ GKE クラスタをデプロイします。環境内の GKE クラスタはプライベート クラスタとして構成され、Cloud SQL インスタンスはプライベート IP 用に構成されます。

また、顧客プロジェクトの VPC ネットワークとテナント プロジェクトの VPC ネットワーク間のピアリング接続も作成されます。

データリネージと Dataplex の統合

Cloud Composer DAG を実行すると、多くの場合、プロジェクトの BigQuery テーブルなどのデータソースの作成または更新が行われます。データリネージは DataPlex の機能で、システム内でのデータの移動(データの送信元、データの通過先、データに適用される変換)を追跡できます。

詳細については、Dataplex ドキュメントのデータリネージの統合データリネージについてをご覧ください。

最新情報