環境をスケーリングする

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 数、メモリ容量、ディスク容量を指定できます。このようにして、複数のワーカーによる水平スケーリングに加え、環境のパフォーマンスも向上させることができます。

コンソール

  1. Google Cloud コンソールで [環境] ページに移動します。

    [環境] に移動

  2. 環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。

  3. [環境の設定] タブに移動します。

  4. [リソース] > [ワークロード構成] 項目で、[編集] をクリックします。

  5. [ワークロード構成] ペインで、Airflow ワーカーのパラメータを調整します。

    • [ワーカーの最小数] フィールドに、環境で常に実行される必要がある Airflow ワーカーの数を指定します。環境内のワーカー数は、より少ないワーカー数で負荷を処理できる場合でも、環境の通常の運用中にこの数を下回ることはありません。

    • [最大ワーカー数] フィールドに、環境で実行できる Airflow ワーカーの最大数を指定します。環境内のワーカー数は、負荷に対処するためにさらに多くのワーカー数が必要な場合でも、この数を超えることはありません。

    • [CPU]、[メモリ]、[ストレージ] の各フィールドに、Airflow ワーカーの CPU、メモリ、ストレージの数を指定します。各ワーカーは、指定された量のリソースを使用します。

  6. [保存] をクリックします。

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

  1. environments.patch API リクエストを作成します。

  2. このリクエストで次のように操作します。

    1. updateMask パラメータで、更新するフィールドを指定します。たとえば、ワーカーのすべてのパラメータを更新するには、config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount マスクを指定します。

    2. リクエスト本文で、新しいワーカー パラメータを指定します。

"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 数、メモリ容量、ディスク容量を指定できます。このようにして、複数のスケジューラによる水平スケーリングに加え、環境のパフォーマンスも向上させることができます。

コンソール

  1. Google Cloud コンソールで [環境] ページに移動します。

    [環境] に移動

  2. 環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。

  3. [環境の設定] タブに移動します。

  4. [リソース] > [ワークロード構成] 項目で、[編集] をクリックします。

  5. [ワークロード構成] ペインで、Airflow スケジューラのパラメータを調整します。

    • [スケジューラの数] プルダウン リストで、環境のスケジューラの数を選択します。

    • [CPU]、[メモリ]、[ストレージ] の各フィールドに、Airflow スケジューラの CPU、メモリ、ストレージの数を指定します。各スケジューラは、指定された量のリソースを使用します。

  6. [保存] をクリックします。

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

  1. environments.patch API リクエストを作成します。

  2. このリクエストで次のように操作します。

    1. updateMask パラメータで config.workloadsConfig.scheduler マスクを指定して、すべてのスケジューラ パラメータを更新するか、スケジューラの数のみを更新します。マスクを指定して、count を除く個々のスケジューラ パラメータを更新することもできます。例: config.workloadsConfig.scheduler.cpu

    2. リクエスト本文で新しいスケジューラ パラメータを指定します。

"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 による水平スケーリングに加え、環境のパフォーマンスも向上させることができます。

コンソール

  1. Google Cloud コンソールで [環境] ページに移動します。

    [環境] に移動

  2. 環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。

  3. [環境の設定] タブに移動します。

  4. [リソース] > [ワークロード構成] 項目で、[編集] をクリックします。

  5. [ワークロード構成] ペインで、Airflow triggerer のパラメータを調整します。

    1. [triggerer] セクションの [triggerer の数] フィールドに、環境内の triggerer の数を入力します。

      環境に少なくとも 1 つの triggerer を設定する場合は、[CPU] フィールドと [メモリ] フィールドを使用して、triggerer のリソース割り当てを構成します。

    2. [CPU] と [メモリ] で、Airflow triggerer の CPU、メモリ、ストレージの数を指定します。各 triggerer は、指定された量のリソースを使用します。

  6. [保存] をクリックします。

gcloud

次の Airflow triggerer パラメータを使用できます。

  • --triggerer-count: 環境内の triggerer の数。

    • 標準復元力の環境では、010 の値を使用します。
    • 復元力の高い環境の場合は、0 または 210 の値を使用します。
  • --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

  1. updateMask クエリ パラメータで、config.workloadsConfig.triggerer マスクを指定します。

  2. リクエスト本文で、triggerer の 3 つのパラメータをすべて指定します。

"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": TRIGGERER_COUNT,
      "cpu": TRIGGERER_CPU,
      "memoryGb": TRIGGERER_MEMORY
    }
  }
}

以下を置き換えます。

  • TRIGGERER_COUNT: triggerer の数。

    • 標準復元力の環境では、010 の値を使用します。
    • 復元力の高い環境の場合は、0 または 210 の値を使用します。
  • 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 の数。

    • 標準復元力の環境では、010 の値を使用します。
    • 復元力の高い環境の場合は、0 または 210 の値を使用します。
  • 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、メモリ、ディスク容量を指定できます。

コンソール

  1. Google Cloud コンソールで [環境] ページに移動します。

    [環境] に移動

  2. 環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。

  3. [環境の設定] タブに移動します。

  4. [リソース] > [ワークロード構成] 項目で、[編集] をクリックします。

  5. [ワークロード構成] ペインで、Airflow DAG プロセッサのパラメータを調整します。

    • [DAG プロセッサの数] プルダウン リストで、環境の DAG プロセッサの数を選択します。

    • [CPU]、[メモリ]、[ストレージ] の各フィールドに、Airflow DAG プロセッサの CPU、メモリ、ストレージの数を指定します。各 DAG プロセッサは、指定された量のリソースを使用します。

  6. [保存] をクリックします。

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

  1. environments.patch API リクエストを作成します。

  2. このリクエストで次のように操作します。

    1. updateMask パラメータで config.workloadsConfig.dagProcessor マスクを指定して、DAG プロセッサの数など、すべての DAG プロセッサ パラメータを更新します。マスクを指定して、個々の DAG プロセッサ パラメータを更新することもできます。例: config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb

    2. リクエストの本文で、新しい 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 からの需要に合わせてスケーリングできます。

コンソール

  1. Google Cloud コンソールで [環境] ページに移動します。

    [環境] に移動

  2. 環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。

  3. [環境の設定] タブに移動します。

  4. [リソース] > [ワークロード構成] 項目で、[編集] をクリックします。

  5. [ワークロード構成] ペインで、ウェブサーバーのパラメータを調整します。[CPU]、[メモリ]、[ストレージ] の各フィールドに、ウェブサーバーの CPU、メモリ、ストレージの数を指定します。

  6. [保存] をクリックします。

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

  1. environments.patch API リクエストを作成します。

  2. このリクエストで次のように操作します。

    1. updateMask パラメータで config.workloadsConfig.webServer マスクを指定して、すべてのウェブサーバー パラメータを更新します。また、config.workloadsConfig.webServer.cpuconfig.workloadsConfig.webServer.memoryGbconfig.workloadsConfig.webServer.storageGb の各パラメータにマスクを指定して、個々のウェブサーバー パラメータを更新することもできます。

    2. リクエストの本文で、新しいウェブサーバー パラメータを指定します。

"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 とタスクを実行する場合は、大きめの環境サイズの選択を検討してください。

コンソール

  1. Google Cloud コンソールで [環境] ページに移動します。

    [環境] に移動

  2. 環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。

  3. [環境の設定] タブに移動します。

  4. [リソース] > [ワークロード構成] 項目で、[編集] をクリックします。

  5. [リソース] > [コア インフラストラクチャ] 項目で、[編集] をクリックします。

  6. [コア インフラストラクチャ] ペインで、[環境のサイズ] フィールドに環境のサイズを指定します。

  7. [保存] をクリックします。

gcloud

環境のサイズは、--environment-size 引数でコントロールします。

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --environment-size ENVIRONMENT_SIZE

以下を置き換えます。

  • ENVIRONMENT_NAME: 環境の名前。
  • LOCATION: 環境が配置されているリージョン。
  • ENVIRONMENT_SIZE: smallmedium、または large

例:

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

API

  1. environments.patch API リクエストを作成します。

  2. このリクエストで次のように操作します。

    1. updateMask パラメータで、config.environmentSize マスクを指定します。

    2. リクエスト本文で、環境のサイズを指定します。

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

以下を置き換えます。

  • ENVIRONMENT_SIZE: 環境サイズ、ENVIRONMENT_SIZE_SMALLENVIRONMENT_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_SMALLENVIRONMENT_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"

    }
  }
}

次のステップ