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