Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Cloud Composer 2 では、環境を作成するときに、環境のバケットとしてカスタム Cloud Storage バケットを指定できます。環境では、デフォルト環境のバケットと同じ方法でこのバケットが使用され、デフォルト環境のバケットは作成されません。
カスタム バケットを使用すると、次のことができます。
- 要件に適合したバケット構成を使用する。
- 定期的な開発またはテストのために、継続的に既存のバケットを使用する。
- 以前の環境の既存のバケットを再利用し、CI / CD とデータ統合を維持する。
- バケット間でデータを転送することなく、環境を削除して再作成できます。
- カスタム バケットに DAG ファイルなどの必要なデータを事前入力してから、環境を作成する。
準備
- この機能は、Cloud Composer バージョン 2.5.0 以降でサポートされています。Cloud Composer 2 の以前のバージョンでは、この機能はサポートされていません。
- カスタム バケットは、環境と同じリージョンに配置する必要があります。マルチリージョン バケットとデュアルリージョン バケットはサポートされていません。
- カスタム バケットと環境は同じプロジェクトに存在する必要があります。
- カスタム バケットには Standard Storage クラスが必要です。
- カスタム バケットには、保持ポリシーまたは保持ポリシーのロックは適用されていません。
- 同じカスタム バケットを複数の環境で同時に使用することはできません。指定されたバケットが別の環境ですでに使用されている場合、Cloud Composer はエラーを生成します。環境を削除した後、同じバケットを別の環境に使用できます。
- 環境を削除してから別の環境に同じバケットを使用すると、新しい環境では、以前の環境の Airflow タスクログが Airflow UI に表示されません。ログはバケットに残りますが、新しい環境ではそれらを DAG 実行に関連付けられません。
カスタム バケットを使用して環境を作成する
コンソール
環境を作成するときにカスタム Cloud Storage バケットを指定するには:
- [環境の作成] ページの [詳細構成] セクションで、[詳細設定を表示] をクリックします。
- [カスタム バケット] を選択します。
- [バケット名] フィールドで、バケットを指定または選択します。
gcloud
環境を作成するときに、--storage-bucket
引数で環境のカスタム バケットを指定します。
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--storage-bucket CUSTOM_STORAGE_BUCKET
以下を置き換えます。
ENVIRONMENT_NAME
: 環境の名前。LOCATION
: 環境が配置されているリージョン。CUSTOM_STORAGE_BUCKET
: Cloud Storage バケットの名前。バケット URI(gs://
接頭辞が付く)を指定することもできます。
例:
gcloud composer environments create example-environment \
--location us-cental1 \
--storage-bucket us-central1-example-bucket
API
環境を作成するときに、[環境] > [StorageConfig] リソースで、環境のカスタム バケットを指定します。
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"storageConfig": {
"bucket": "CUSTOM_STORAGE_BUCKET"
}
}
以下を置き換えます。
PROJECT_ID
: プロジェクト IDLOCATION
: 環境が配置されているリージョン。ENVIRONMENT_NAME
: 環境の名前。CUSTOM_STORAGE_BUCKET
: Cloud Storage バケットの名前(gs://
接頭辞は付かない)。
例:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "projects/example-project/locations/us-central1/environments/example-environment",
"storageConfig": {
"bucket": "us-central1-example-bucket"
}
}
Terraform
環境を作成するときに、storage_config
ブロックの bucket
フィールドで環境のカスタム バケットを指定します。
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
storage_config {
bucket = CUSTOM_STORAGE_BUCKET
}
}
以下を置き換えます。
ENVIRONMENT_NAME
: 環境の名前。LOCATION
: 環境が配置されているリージョン。CUSTOM_STORAGE_BUCKET
: Cloud Storage バケットの名前。バケット URI(gs://
接頭辞が付く)を指定することもできます。
例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
storage_config {
bucket = "gs://us-central1-example-bucket"
}
}