Cloud Storage に保存されるデータ

このページでは、Cloud Composer が Cloud Storage の環境に保存するデータについて説明します。

環境を作成するときに、Cloud Composer によって Cloud Storage バケットが作成され、環境に関連付けられます。バケットの名前は、環境のリージョン、名前、およびランダムな ID(us-central1-b1-6efannnn-bucket など)に基づきます。

Cloud Composer は、ワークフロー(DAG)のソースコードとそれらの依存関係を Cloud Storage 内の特定のフォルダに保存し、Cloud Storage FUSE を使用して Cloud Composer 環境の Airflow インスタンスにフォルダをマッピングします。

Cloud Storage バケット内のフォルダ

フォルダ説明Storage パスマッピングされたディレクトリ
DAG 環境の DAG を保存します。このフォルダ内の DAG のみが環境にスケジュールされます。 gs://bucket-name/dags /home/airflow/gcs/dags
プラグイン カスタム プラグインを保存します。カスタムのインハウス Airflow 演算子、フック、センサー、インターフェースなどです。 gs://bucket-name/plugins /home/airflow/gcs/plugins
データ タスクが生成して使用するデータを保存します。このフォルダは、すべてのワーカーノードにマウントされます。 gs://bucket-name/data /home/airflow/gcs/data
ログ タスクの Airflow ログを保存します。ログは Airflow ウェブ インターフェースでも利用できます。 gs://bucket-name/logs /home/airflow/gcs/logs

容量に関する考慮事項

DAG とプラグイン: Cloud Composer はデフォルトで、環境、dags/ フォルダ、plugins/ フォルダ用に 100 GB の容量をプロビジョニングします。

ワークフローの失敗を回避するために、Python モジュールに DAG またはプラグインが含まれていなくても、DAG、プラグイン、Python モジュールを dags/ フォルダまたは plugins/ フォルダに保存します。たとえば、DataFlowPythonOperator が参照する py_filedags/ または plugins/ に保存する必要があります。

データとログ: data/ フォルダと logs/ フォルダは容量制限の対象外です。

ウェブサーバーのエラーを回避するには、ウェブサーバーが DAG(未実行)を解析するために必要なデータが dags/ フォルダに存在することを確認してください。存在しない場合は、ウェブサーバーがデータにアクセスできないか、Airflow ウェブ インターフェースを読み込めなくなります。

データの同期

Cloud Storage バケットの DAG やプラグインを変更すると、Cloud Composer によってクラスタ内のすべてのノードのデータが同期されます。

Cloud Composer による dags/ フォルダと plugins/ フォルダの同期は、ローカルにコピーすることによって一方向に行われます。一方向に同期されるため、これらのフォルダのローカルの変更は上書きされます。

data/ フォルダと logs/ フォルダの同期は、Cloud Storage FUSE を使用して双方向に行われます。

Cloud Composer 環境では、データはウェブサーバーと同期されません。容量が限られており、ウェブサーバーが DAG を解析するが実行はしないためです。 DAG はワーカーによって実行されます。

次のステップ