Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
このページでは、Cloud Composer 環境のアーキテクチャについて説明します。
環境アーキテクチャの構成
Cloud Composer 3 環境には、ネットワーキング タイプに依存しない単一の構成があります。
顧客プロジェクトとテナント プロジェクト
環境を作成すると、Cloud Composer によってテナントのプロジェクトと顧客プロジェクトの間で環境のリソースが分配されます。
- 顧客プロジェクトは、環境を作成する Google Cloud プロジェクトです。1 つの顧客プロジェクトに複数の環境を作成できます。
テナント プロジェクトは、Google が管理するテナント プロジェクトです。 テナント プロジェクトでは、統合されたアクセス制御と環境のデータ セキュリティの追加レイヤが提供されます。各 Cloud Composer 環境には独自のテナント プロジェクトがあります。
環境コンポーネント
Cloud Composer 環境は、環境コンポーネントから構成されます。
環境コンポーネントは、環境の一部として Google Cloud で実行されるマネージド Airflow インフラストラクチャの要素です。環境コンポーネントは、環境のテナント プロジェクトまたは顧客プロジェクトで実行されます。
環境のバケット
環境のバケットは、DAG、プラグイン、データ依存関係、Airflow ログを保存する Cloud Storage バケットです。環境のバケットは顧客プロジェクトに配置されています。
環境のバケット内の /dags
フォルダに DAG ファイルをアップロードすると、DAG は、Cloud Composer によって環境の Airflow コンポーネントと同期されます。
Airflow ウェブサーバー
Airflow ウェブサーバーは環境の Aiflow UI を実行します。
Cloud Composer では、ユーザー ID と、ユーザー用に定義された IAM ポリシー バインディングに基づいて、インターフェースにアクセスできます。
Airflow データベース
Airflow データベースは、環境のテナント プロジェクトで実行される Cloud SQL インスタンスです。Airflow メタデータ データベースをホストします。
Cloud Composer では、機密性の高い接続とワークフロー情報を保護するため、ご使用の環境のサービス アカウントへのデータベース アクセスのみが許可されます。
その他の Airflow コンポーネント
環境で実行されるその他の Airflow コンポーネントは次のとおりです。
Airflow スケジューラは、DAG 定義ファイルを解析し、スケジュール間隔に基づいて DAG の実行をスケジュールして、Airflow ワーカーが実行するタスクをキューに入れます。
Airflow triggerer は、環境内のすべての遅延タスクを非同期でモニタリングします。環境内の triggerer の数をゼロより大きく設定すると、DAG で遅延可能な演算子を使用できます。
Airflow DAG プロセッサは、DAG ファイルを処理して DAG オブジェクトに変換します。Cloud Composer 3 では、DAG プロセッサは個別の環境コンポーネントとして実行されます。
Airflow ワーカーは、Airflow スケジューラによってスケジュールされたタスクを実行します。環境内のワーカーの最小数と最大数は、キュー内のタスクの数に応じて動的に変化します。
Cloud Composer 3 環境のアーキテクチャ
Cloud Composer 3 環境では、次のようになります。
- テナント プロジェクトは、Airflow データベースを含む Cloud SQL インスタンスをホストします。
- すべての Airflow リソースはテナント プロジェクトで実行されます。
- 環境のバケットは、お客様のプロジェクトによってホストされます。
- お客様のプロジェクトのカスタム VPC ネットワーク アタッチメントを使用して、環境をカスタム VPC ネットワークにアタッチできます。既存のアタッチメントを使用することも、Cloud Composer でオンデマンドで自動的に作成することもできます。環境を VPC ネットワークから切断することもできます。
- お客様のプロジェクトの Google Cloud コンソール、Monitoring、Logging では、環境、DAG、DAG 実行を管理し、環境の指標とログにアクセスする方法が提供されます。同じ目的で、Airflow UI、Google Cloud CLI、Cloud Composer API、Terraform を使用することもできます。
Cloud Logging および Cloud Monitoring との統合
Cloud Composer は、Google Cloud プロジェクトの Cloud Logging および Cloud Monitoring と統合されているため、Airflow と DAG のログを一元的に表示できます。
Cloud Monitoring が Cloud Composer から指標、イベント、メタデータを収集し取り込むことにより、ダッシュボードとグラフを介して分析情報を得ることができます。
Cloud Logging のストリーミングの性質上、環境の Cloud Storage バケットに Airflow ログが表示されるのを待たずに、Airflow コンポーネントが出力するログを即座に表示できます。
Google Cloud プロジェクト内のログ数を制限するために、すべてのログの取り込みを停止できます。Logging を無効にしないでください。