Cloud Composer 1 | Cloud Composer 2
このページでは、Cloud Composer 2 で Cloud Composer 環境をスケールする方法について説明します。
スケーリングに関するほかのページ:
環境に最適なスケールとパフォーマンス パラメータを選択するためのガイドについては、環境のパフォーマンスとコストを最適化するをご覧ください。
環境をスケールする仕組みについては、環境のスケーリングをご覧ください。
垂直方向と水平方向のスケーリング
水平方向のスケーリングの選択肢:
垂直方向のスケーリングの選択肢:
ワーカーの最小数と最大数を調整する
環境に対するワーカーの最小数と最大数は、設定できます。Cloud Composer では、設定された制限内で環境が自動的にスケーリングされます。これらの制限値は、いつでも調整できます。
コンソール
Google Cloud Console の [環境] ページに移動します。
環境を選択します。
[環境の設定] タブに移動します。
[リソース] > [ワークロードの構成] 項目で、[編集] をクリックします。
[ワークロードの構成] ダイアログの [ワーカーの自動スケーリング] セクションで、Airflow ワーカーの制限値を調整します。
[ワーカーの最小数] フィールドに、環境で常に実行される必要がある Airflow ワーカーの数を指定します。環境内のワーカー数は、より少ないワーカー数で負荷を処理できる場合でもこの数を下回りません。
[最大ワーカー数] フィールドに、環境で実行できる Airflow ワーカーの最大数を指定します。環境内のワーカー数は、負荷に対処するためにさらに多くのワーカー数が必要な場合でも、この数を超えることはありません。
[保存] をクリックします。
gcloud
次の Google Cloud CLI コマンドを実行します。
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--min-workers WORKERS_MIN \
--max-workers WORKERS_MAX
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。WORKERS_MIN
は、環境で実行できる Airflow ワーカーの最大数に置き換えます。環境内のワーカー数は、より少ないワーカー数で負荷を処理できる場合でもこの数を下回りません。WORKERS_MAX
は、環境で実行できる Airflow ワーカーの最大数に置き換えます。環境内のワーカー数は、負荷に対処するためにさらに多くのワーカー数が必要な場合でも、この数を超えることはありません。
例:
gcloud composer environments update example-environment \
--location us-central1 \
--min-workers 2 \
--max-workers 6
API
environments.patch
API リクエストを作成します。このリクエストで次のように操作します。
updateMask
パラメータで、config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
マスクを指定します。リクエストの本文の
minCount
フィールドとmaxCount
フィールドに、新しいワーカー制限値を指定します。
"config": {
"workloadsConfig": {
"worker": {
"minCount": WORKERS_MIN,
"maxCount": WORKERS_MAX
}
}
}
以下のように置き換えます。
WORKERS_MIN
は、環境で実行できる Airflow ワーカーの最大数に置き換えます。環境内のワーカー数は、より少ないワーカー数で負荷を処理できる場合でもこの数を下回りません。WORKERS_MAX
は、環境で実行できる Airflow ワーカーの最大数に置き換えます。環境内のワーカー数は、負荷に対処するためにさらに多くのワーカー数が必要な場合でも、この数を超えることはありません。
例:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.worker.minCount,
// config.workloadsConfig.worker.maxCount
"config": {
"workloadsConfig": {
"worker": {
"minCount": 2,
"maxCount": 6
}
}
}
Terraform
workloadsConfig.worker
ブロックの min_count
フィールドと max_count
フィールドは、環境内のワーカーの最小数と最大数を指定します。
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
worker {
min_count = WORKERS_MIN
max_count = WORKERS_MAX
}
}
}
}
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。WORKERS_MIN
は、環境で実行できる Airflow ワーカーの最大数に置き換えます。環境内のワーカー数は、より少ないワーカー数で負荷を処理できる場合でもこの数を下回りません。WORKERS_MAX
は、環境で実行できる Airflow ワーカーの最大数に置き換えます。環境内のワーカー数は、負荷に対処するためにさらに多くのワーカー数が必要な場合でも、この数を超えることはありません。
例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
worker {
min_count = 2
max_count = 6
}
}
}
}
スケジューラの数を調整する
ご利用の環境では、同時に複数の Airflow スケジューラを実行できます。複数のスケジューラを使用して複数のスケジューラ インスタンス間で負荷を分散すると、パフォーマンスと信頼性が向上します。
環境には、最大 10 個のスケジューラを設定できます。スケジューラの数を増やしても、Airflow のパフォーマンスが常に改善されるとは限りません。たとえば、スケジューラが 1 つだけでも、2 つの場合よりも良いパフォーマンスの場合があります。これは、追加のスケジューラが使用されないため、全体的なパフォーマンスに寄与せずに環境のリソースを消費した場合に発生する可能性があります。実際のスケジューラのパフォーマンスは、Airflow ワーカーの数、環境内で実行される DAG とタスクの数、Airflow と環境の両方の構成によって異なります。
2 つのスケジューラを設定した状態で開始し、環境のパフォーマンスをモニタリングすることをおすすめします。スケジューラの数を変更する場合は、いつでも環境を元のスケジューラ数にスケールダウンできます。
複数のスケジューラの構成の詳細については、Airflow のドキュメントをご覧ください。
環境のスケジューラの数を変更するには、次のようにします。
コンソール
Google Cloud Console の [環境] ページに移動します。
環境を選択します。
[環境の設定] タブに移動します。
[リソース] > [ワークロードの構成] 項目で、[編集] をクリックします。
[ワークロードの構成] ダイアログの [スケジューラの数] プルダウン リストで、環境のスケジューラの数を設定します。
[保存] をクリックします。
gcloud
次の Google Cloud CLI コマンドを実行します。
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。SCHEDULER_COUNT
は、スケジューラの数に置き換えます。
例:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
environments.patch
API リクエストを作成します。このリクエストで次のように操作します。
updateMask
パラメータで、config.softwareConfig.workloadsConfig.scheduler
マスクを指定します。リクエスト本文の
count
フィールドに、スケジューラの数を指定します。
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
以下のように置き換えます。
SCHEDULER_COUNT
は、スケジューラの数に置き換えます。
例:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environmentsexample-environment?updateMask=
// config.workloadsConfig.scheduler
"config": {
"workloadsConfig": {
"scheduler": {
"count": 2
}
}
}
Terraform
workloads_config.scheduler
ブロックの count
フィールドは、環境内のスケジューラの数を指定します。
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
count = SCHEDULER_COUNT
}
}
}
}
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。SCHEDULER_COUNT
は、スケジューラの数に置き換えます。
例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
scheduler {
count = 2
}
}
}
}
トリガーの数を調整する
トリガラーの数はゼロに設定できますが、DAG で遅延可能な演算子を使用するには、環境内に少なくとも 1 つ(または復元性の高い環境では少なくとも 2 つ)のトリガラー インスタンスが必要です。
環境の復元力の設定に応じて、triggerer の数に関して異なる構成があります。
- 標準的な復元力: 最大 10 個の triggerer を実行できます。
- 高い復元力: 2 個以上、最大 10 個の triggerer
triggerer の数が 0 に設定されている場合でも、triggerer Pod 定義が作成され、環境のクラスタに表示されますが、実際の triggerer ワークロードは実行されません。
triggerer が 0 個を超える場合は、他の環境コンポーネントと同様に Cloud Composer コンピューティング SKU で課金されます。
コンソール
Google Cloud Console で [環境] ページに移動します。
環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。
[環境の設定] タブに移動します。
[リソース] > [ワークロードの構成] 項目で、[編集] をクリックします。 [ワークロードの構成] ペインが開きます。
[トリガラー] セクションで、[トリガラーの数] フィールドを使用して、環境内の triggerer の数を入力します。
環境に少なくとも 1 つの triggerer を設定する場合は、[CPU] フィールドと [メモリ] フィールドを使用して、triggerer のリソース割り当てを構成します。
[保存] をクリックして、環境が更新されるまで待ちます。
gcloud
次の Google Cloud CLI コマンドを実行します。
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--triggerer-count TRIGGERER_COUNT
--triggerer-cpu TRIGGERER_CPU,
--triggerer-memory TRIGGERER_MEMORY
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。TRIGGERER_COUNT
は、トリガーの数に置き換えます。- 標準復元力の環境では、
0
~10
の値を使用します。 - 復元力の高い環境の場合、
0
または2
~10
の値を使用します。
- 標準復元力の環境では、
TRIGGERER_CPU
は、スケジューラの CPU 数(vCPU 単位)に置き換えます。 このフラグは省略可能です。指定しない場合は、デフォルト値の0.5
vCPU が使用されます。使用できる値:0.5
、0.75
、1
。TRIGGERER_MEMORY
は、ワーカーのメモリ容量に置き換えます。 このフラグは省略可能です。指定しない場合は、デフォルト値の0.5
GB が使用されます。必要な最小メモリは、triggerer に割り当てられた CPU 数と同じです。最大許容値は、triggerer CPU 数に 6.5 を掛けた数と同じです。
たとえば、
--triggerer-cpu
フラグを1
に設定した場合、--triggerer-memory
の 最小値 は1
で、最大値 は6.5
です。
例:
triggerer を無効にするには、triggerer 数を
0
に設定します。このオペレーションでは、triggerer に対して CPU またはメモリを指定する必要はありません。gcloud composer environments update example-environment \ --location us-central1 \ --triggerer-count 0
複数の triggerer インスタンスへのスケーリング:
gcloud composer environments update example-environment \ --location us-central1 \ --triggerer-count 4 \ --triggerer-cpu 1 \ --triggerer-memory 1GB
API
environments.patch
API リクエストを作成します。updateMask
クエリ パラメータで、config.workloadsConfig.triggerer
マスクを指定します。リクエストの本文で、次のオブジェクトを使用します
"config": {
"workloadsConfig": {
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
}
}
以下のように置き換えます。
TRIGGERER_COUNT
は、トリガーの数に置き換えます。- 標準復元力の環境では、
0
~10
の値を使用します。 復元力の高い環境の場合、
0
または2
~10
の値を使用します。triggerer を少なくとも 1 つ使用する場合は、
TRIGGERER_CPU
とTRIGGERER_MEMORY
の値も指定する必要があります。TRIGGERER_CPU
は、triggerer の CPU 数(vCPU 単位)に設定します。使用できる値:0.5
、0.75
、1
。TRIGGERER_MEMORY
を triggerer のメモリ容量に設定します。必要な最小メモリは、triggerer に割り当てられた CPU 数と同じです。最大許容値は、triggerer CPU 数に 6.5 を掛けた数と同じです。たとえば、
TRIGGERER_CPU
を1
に設定した場合、TRIGGERER_MEMORY
の 最小値 は1
で、最大値 は6.5
です。
- 標準復元力の環境では、
例:
triggerer を無効にするには、triggerer 数を
0
に設定します。このオペレーションでは、triggerer に対して CPU またはメモリを指定する必要はありません。// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.workloadsConfig.triggerer "config": { "workloadsConfig": { "triggerer": { "count": 0 } } }
複数の triggerer インスタンスへのスケーリング:
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.workloadsConfig.triggerer "config": { "workloadsConfig": { "triggerer": { "count": 4, "cpu": 1, "memoryGb": 1 } } }
Terraform
workloads_config.triggerer
ブロックの count
フィールドは、環境内のトリガーの数を指定します。
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
triggerer {
count = TRIGGERER_COUNT
}
}
}
}
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。TRIGGERER_COUNT
は、トリガーの数に置き換えます。
例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
triggerer {
count = 1
}
}
}
}
ワーカー、スケジューラ、ウェブサーバーのスケールとパフォーマンス パラメータを調整する
環境で使用される CPU 数、メモリ容量、ディスク容量を指定できます。このようにして、複数のワーカーとスケジューラによる水平スケーリングに加え、環境のパフォーマンスも向上させることができます。
コンソール
Google Cloud Console で [環境] ページに移動します。
環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。
[環境の設定] タブに移動します。
[リソース] > [ワークロードの構成] 項目で、[編集] をクリックします。 [ワークロードの構成] ペインが開きます。
[スケジューラの数] と [トリガーの数] プルダウン リストで、環境内のスケジューラとトリガーの数を選択します。
[ワークロードの構成] ペインの [CPU]、[メモリ]、[ストレージ] フィールドで、CPU、メモリ、Airflow スケジューラのストレージ、ウェブサーバー、ワーカーの数を指定します。
[保存] をクリックします。
gcloud
次の引数により、Airflow スケジューラ、ウェブサーバー、ワーカーの CPU、メモリ、ディスク容量のパラメータが制御されます。各スケジューラとワーカーは、指定された量のリソースを使用します。
--scheduler-cpu
では、Airflow スケジューラの CPU の数を指定します。--scheduler-memory
では、Airflow スケジューラのメモリ容量を指定します。--scheduler-storage
では、Airflow スケジューラのディスク容量を指定します。--triggerer-cpu
では、Airflow ワーカーの CPU 数を指定します。 使用できる値:0.5
、0.75
、1
。triggerer CPU を調整する場合は、--triggerer-memory
フラグと--triggerer-count
フラグも必要です。--triggerer-memory
では、Airflow ワーカーのメモリ容量を指定します。 triggerer のメモリを調整する場合は、--triggerer-cpu
フラグと--triggerer-count
フラグも必要です。必要な最小メモリは、triggerer に割り当てられた CPU 数と同じです。最大許容値は、triggerer CPU 数に 6.5 を掛けた数と同じです。
たとえば、
--triggerer-cpu
フラグを1
に設定した場合、--triggerer-memory
の 最小値 は1
で、最大値 は6.5
です。--web-server-cpu
では、Airflow ウェブサーバーの CPU 数を指定します。--web-server-memory
では、Airflow ウェブサーバーのメモリ容量を指定します。--web-server-storage
では、Airflow ウェブサーバーのディスク容量を指定します。--worker-cpu
では、Airflow ワーカーの CPU 数を指定します。--worker-memory
では、Airflow ワーカーのメモリ容量を指定します。--worker-storage
では、Airflow ワーカーのディスク容量を指定します。
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-cpu SCHEDULER_CPU \
--scheduler-memory SCHEDULER_MEMORY \
--scheduler-storage SCHEDULER_STORAGE \
--triggerer-count TRIGGERER_COUNT \
--triggerer-cpu TRIGGERER_CPU \
--triggerer-memory TRIGGERER_MEMORY \
--web-server-cpu WEB_SERVER_CPU \
--web-server-memory WEB_SERVER_MEMORY \
--web-server-storage WEB_SERVER_STORAGE \
--worker-cpu WORKER_CPU \
--worker-memory WORKER_MEMORY \
--worker-storage WORKER_STORAGE
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。SCHEDULER_CPU
は、スケジューラの CPU 数(vCPU 単位)に置き換えます。SCHEDULER_MEMORY
は、スケジューラのメモリ容量に置き換えます。SCHEDULER_STORAGE
は、スケジューラのディスクサイズに置き換えます。TRIGGERER_COUNT
は、トリガーの数に置き換えます。 この値は、現在の triggerer の数を変更せず、CPU またはメモリの割り当てを調整する場合でも必要です。TRIGGERER_CPU
は、スケジューラの CPU 数(vCPU 単位)に置き換えます。TRIGGERER_MEMORY
は、ワーカーのメモリ容量に置き換えます。WEB_SERVER_CPU
は、ウェブサーバーの CPU 数(vCPU 単位)に置き換えます。WEB_SERVER_MEMORY
は、ウェブサーバーのメモリ容量に置き換えます。WEB_SERVER_STORAGE
は、ウェブサーバーのメモリ容量に置き換えます。WORKER_CPU
は、ワーカーの CPU 数(vCPU 単位)に置き換えます。WORKER_MEMORY
は、ワーカーのメモリ容量に置き換えます。WORKER_STORAGE
は、ワーカーのディスクサイズに置き換えます。
例:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-cpu 0.5 \
--scheduler-memory 2.5GB\
--scheduler-storage 2GB \
--triggerer-count 2 \
--triggerer-cpu 1 \
--triggerer-memory 1GB \
--web-server-cpu 1 \
--web-server-memory 2.5GB \
--web-server-storage 2GB \
--worker-cpu 1 \
--worker-memory 2GB \
--worker-storage 2GB
API
environments.patch
API リクエストを作成します。このリクエストで次のように操作します。
updateMask
パラメータで、更新するフィールドを指定します。たとえば、スケジューラのすべてのパラメータを更新するには、config.workloadsConfig.scheduler.cpu,config.workloadsConfig.scheduler.memoryGb,config.workloadsConfig.scheduler.storageGB
マスクを指定します。
triggerer パラメータを更新する場合は、
config.workloadsConfig.triggerer
マスクを指定します。triggerer の個々のパラメータにマスクを指定することはできません。- リクエスト本文で、スケールとパフォーマンスのパラメータを指定します。
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": SCHEDULER_CPU,
"memoryGb": SCHEDULER_MEMORY,
"storageGb": SCHEDULER_STORAGE
},
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
"webServer": {
"cpu": WEB_SERVER_CPU,
"memoryGb": WEB_SERVER_MEMORY,
"storageGb": WEB_SERVER_STORAGE
},
"worker": {
"cpu": WORKER_CPU,
"memoryGb": WORKER_MEMORY,
"storageGb": WORKER_STORAGE
}
}
}
次のように置き換えます。
SCHEDULER_CPU
は、スケジューラの CPU 数(vCPU 単位)に置き換えます。SCHEDULER_MEMORY
は、スケジューラのメモリ容量(GB)に置き換えます。SCHEDULER_STORAGE
は、スケジューラのディスクサイズ(GB)に置き換えます。TRIGGERER_COUNT
は、トリガーの数に置き換えます。 このパラメータは、現在の triggerer の数を変更せず、CPU またはメモリの割り当てのみを調整する場合に必要です。TRIGGERER_CPU
は、スケジューラの CPU 数(vCPU 単位)に置き換えます。 使用できる値:0.5
、0.75
、1
。TRIGGERER_MEMORY
は、ワーカーのメモリ容量に置き換えます。必要な最小メモリは、triggerer に割り当てられた CPU 数と同じです。最大許容値は、triggerer CPU 数に 6.5 を掛けた数と同じです。
たとえば、
TRIGGERER_CPU
を1
に設定した場合、TRIGGERER_MEMORY
の 最小値 は1
で、最大値 は6.5
です。WEB_SERVER_CPU
は、ウェブサーバーの CPU 数(vCPU 単位)に置き換えます。WEB_SERVER_MEMORY
は、ウェブサーバーのメモリ容量(GB)に置き換えます。WEB_SERVER_STORAGE
は、ウェブサーバーのディスクサイズ(GB)に置き換えます。WORKER_CPU
は、ワーカーの CPU 数(vCPU 単位)に置き換えます。WORKER_MEMORY
は、ワーカーのメモリ容量(GB)に置き換えます。WORKER_STORAGE
は、ワーカーのディスクサイズ(GB)に置き換えます。
例:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler.cpu,
// config.workloadsConfig.scheduler.memoryGB,
// config.workloadsConfig.scheduler.storageGb,
// config.workloadsConfig.triggerer
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb,
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGb
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": 0.5,
"memoryGb": 2.5,
"storageGb": 2
},
"triggerer": {
"count": 1,
"cpu": 1,
"memoryGb": 1
},
"webServer": {
"cpu": 0.5,
"memoryGb": 2.5,
"storageGb": 2
},
"worker": {
"cpu": 1,
"memoryGb": 2,
"storageGb": 2
}
}
}
Terraform
workloadsConfig
ブロックの次のブロックは、Airflow スケジューラ、ウェブサーバー、トリガー、ワーカーの CPU、メモリ、ディスク容量のパラメータを制御します。各スケジューラ、トリガー、ワーカーは、指定された量のリソースを使用します。
scheduler.cpu
フィールドでは、Airflow スケジューラの CPU の数を指定します。scheduler.memory_gb
フィールドでは、Airflow スケジューラのメモリ容量を指定します。scheduler.storage_gb
フィールドでは、スケジューラのディスク容量を指定します。triggerer.cpu
フィールドでは、Airflow トリガーの CPU 数を指定します。triggerer.memory_gb
フィールドでは、Airflow トリガーのメモリ容量を指定します。web_server.cpu
フィールドでは、Airflow ウェブサーバーの CPU 数を指定します。web_server.memory_gb
フィールドでは、Airflow ウェブサーバーのメモリ容量を指定します。web_server.storage_gb
フィールドでは、Airflow ウェブサーバーのディスク容量を指定します。worker.cpu
フィールドでは、Airflow ワーカーの CPU 数を指定します。worker.memory_gb
フィールドでは、Airflow ワーカーのメモリ容量を指定します。worker.storage_gb
フィールドでは、Airflow ワーカーのディスク容量を指定します。
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
cpu = SCHEDULER_CPU
memory_gb = SCHEDULER_MEMORY
storage_gb = SCHEDULER_STORAGE
}
triggerer {
cpu = TRIGGERER_CPU
memory_gb = TRIGGERER_MEMORY
count = 1
}
web_server {
cpu = WEB_SERVER_CPU
memory_gb = WEB_SERVER_MEMORY
storage_gb = WEB_SERVER_STORAGE
}
worker {
cpu = WORKER_CPU
memory_gb = WORKER_MEMORY
storage_gb = WORKER_STORAGE
}
}
}
}
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。SCHEDULER_CPU
は、スケジューラの CPU 数(vCPU 単位)に置き換えます。SCHEDULER_MEMORY
は、スケジューラのメモリ容量(GB)に置き換えます。SCHEDULER_STORAGE
は、スケジューラのディスクサイズ(GB)に置き換えます。TRIGGERER_CPU
は、スケジューラの CPU 数(vCPU 単位)に置き換えます。TRIGGERER_MEMORY
は、ワーカーのメモリ容量(GB)に置き換えます。WEB_SERVER_CPU
は、ウェブサーバーの CPU 数(vCPU 単位)に置き換えます。WEB_SERVER_MEMORY
は、ウェブサーバーのメモリ容量(GB)に置き換えます。WEB_SERVER_STORAGE
は、ウェブサーバーのディスクサイズ(GB)に置き換えます。WORKER_CPU
は、ワーカーの CPU 数(vCPU 単位)に置き換えます。WORKER_MEMORY
は、ワーカーのメモリ容量(GB)に置き換えます。WORKER_STORAGE
は、ワーカーのディスクサイズ(GB)に置き換えます。
例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
scheduler {
cpu = 0.5
memory_gb = 1.875
storage_gb = 1
}
triggerer {
cpu = 0.5
memory_gb = 0.5
count = 1
}
web_server {
cpu = 0.5
memory_gb = 1.875
storage_gb = 1
}
worker {
cpu = 0.5
memory_gb = 1.875
storage_gb = 1
}
}
}
}
環境のサイズを調整する
環境のサイズによって、Airflow データベースを含むマネージド Cloud Composer インフラストラクチャのパフォーマンス パラメータが制御されます。多数の DAG とタスクを実行する場合は、大きめの環境サイズの選択を検討してください。
コンソール
Google Cloud Console の [環境] ページに移動します。
環境を選択します。
[環境の設定] タブに移動します。
[リソース] > [コア インフラストラクチャ] 項目で、[編集] をクリックします。
[コア インフラストラクチャ] ダイアログで、[環境のサイズ] フィールドに環境のサイズを指定します。
[保存] をクリックします。
gcloud
環境のサイズは、--environment-size
引数でコントロールします。
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--environment-size ENVIRONMENT_SIZE
以下のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。ENVIRONMENT_SIZE
はsmall
、medium
、またはlarge
に置き換えます。
例:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
environments.patch
API リクエストを作成します。このリクエストで次のように操作します。
updateMask
パラメータで、config.environmentSize
マスクを指定します。リクエスト本文で、環境のサイズを指定します。
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
以下のように置き換えます。
ENVIRONMENT_SIZE
は、環境のサイズ、ENVIRONMENT_SIZE_SMALL
、ENVIRONMENT_SIZE_MEDIUM
、またはENVIRONMENT_SIZE_LARGE
に置き換えます。
例:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize
"config": {
"environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}
Terraform
config
ブロックの environment_size
フィールドでは、環境のサイズを制御します。
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
environment_size = "ENVIRONMENT_SIZE"
}
}
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。ENVIRONMENT_SIZE
は、環境のサイズ、ENVIRONMENT_SIZE_SMALL
、ENVIRONMENT_SIZE_MEDIUM
、またはENVIRONMENT_SIZE_LARGE
に置き換えます。
例:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
}
}
}