환경 확장

Cloud Composer 1 | Cloud Composer 2

이 페이지에서는 Cloud Composer 1에서 Cloud Composer 환경을 확장하는 방법을 설명합니다.

환경 확장 작동 방식에 대한 자세한 내용은 환경 확장을 참조하세요.

수직 및 수평 확장

Cloud Composer 1에서 사용자는 Cloud Composer 및 Airflow 구성요소(예: 작업자 및 스케줄러)의 특정 CPU 및 메모리 리소스를 정의하지 않습니다. 대신 환경 클러스터의 노드에 대한 머신 수와 유형을 지정합니다.

수평 확장 옵션:

수직 확장 옵션:

노드 수 조정

환경의 노드 수를 변경할 수 있습니다.

이 수는 환경의 Airflow 작업자 수에 해당합니다. 환경 노드는 Airflow 작업자를 실행하는 것 외에도 Airflow 스케줄러와 기타 환경 구성요소를 실행합니다.

Console

  1. Google Cloud Console의 환경 페이지로 이동합니다.

    환경 페이지로 이동

  2. 환경을 선택합니다.

  3. 환경 구성 탭으로 이동합니다.

  4. 워커 노드 > 노드 수 항목에서 수정을 클릭합니다.

  5. 워커 노드 구성 대화상자의 노드 수 필드에서 환경의 노드 수를 지정합니다.

  6. 저장을 클릭합니다.

gcloud

--node-count 인수는 환경의 노드 수를 제어합니다.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --zone NODE_ZONE \
    --node-count NODE_COUNT

다음과 같이 바꿉니다.

  • ENVIRONMENT_NAME을 환경 이름으로 바꿉니다.
  • LOCATION을 환경이 위치한 리전으로 바꿉니다.
  • NODE_COUNT를 노드 수로 바꿉니다. 최소 노드 수는 3개입니다.
  • NODE_ZONE을 환경 VM의 Compute Engine 영역으로 바꿉니다.

예:

gcloud composer environments update example-environment \
    --location us-central1 \
    --zone us-central1-a \
    --node-count 6

API

  1. environments.patch API 요청을 만듭니다.

  2. 이 요청의 작성 방법:

    1. updateMask 매개변수에서 config.nodeCount 마스크를 지정합니다.

    2. 요청 본문에서 환경의 노드 수를 지정합니다.

  "config": {
    "nodeCount": NODE_COUNT
  }

다음과 같이 바꿉니다.

  • NODE_COUNT를 노드 수로 바꿉니다. 최소 노드 수는 3개입니다.

예를 들면 다음과 같습니다.

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.nodeCount

"config": {
  "nodeCount": 6
}

Terraform

node_config 블록의 node_count 필드는 환경의 노드 수를 지정합니다.

resource "google_composer_environment" "example" {

  config {
    node_config {
      node_count = NODE_COUNT
    }
}

다음과 같이 바꿉니다.

  • NODE_COUNT를 노드 수로 바꿉니다.

예를 들면 다음과 같습니다.

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {

    node_config {
      node_count = 4
    }

}

스케줄러 수 조정

환경에서 동시에 2개 이상의 Airflow 스케줄러를 실행할 수 있습니다. 성능 및 안정성을 높이기 위해 여러 스케줄러를 사용하여 여러 스케줄러 인스턴스 사이에 부하를 분산합니다.

해당 환경의 노드 수만큼 스케줄러 수를 지정할 수 있습니다.

스케줄러 수를 늘린다고 해서 항상 Airflow 성능이 향상되는 것은 아닙니다. 예를 들어 1개의 스케줄러만 사용하면 2개를 사용할 때보다 더 나은 성능을 제공할 수 있습니다. 스케줄러를 추가해도 전체 성능에 도움을 주지 않고 환경의 리소스만 소비될 때가 여기에 해당합니다. 실제 스케줄러 성능은 Airflow 작업자 수, 환경에서 실행되는 DAG 및 태스크 수, Airflow와 환경의 구성에 따라 다릅니다.

2개의 스케줄러로 시작한 다음 환경의 성능을 모니터링하는 것이 좋습니다. 스케줄러 수를 변경한 후 언제든지 환경을 원래 스케줄러 수로 다시 조정할 수 있습니다.

여러 스케줄러 구성에 대한 자세한 내용은 Airflow 문서를 참조하세요.

Console

  1. Google Cloud Console의 환경 페이지로 이동합니다.

    환경 페이지로 이동

  2. 환경을 선택합니다.

  3. 환경 구성 탭으로 이동합니다.

  4. 리소스 > 스케줄러 수 항목에서 수정을 클릭합니다.

  5. 스케줄러 구성 대화상자의 스케줄러 수 필드에서 환경의 스케줄러 수를 지정합니다.

  6. 저장을 클릭합니다.

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

  1. environments.patch API 요청을 만듭니다.

  2. 이 요청의 작성 방법:

    1. updateMask 매개변수에서 config.softwareConfig.schedulerCount 마스크를 지정합니다.

    2. 요청 본문에서 환경의 노드 수를 지정합니다.

{
  "config": {
    "softwareConfig": {
      "schedulerCount": SCHEDULER_COUNT
    }
}

다음과 같이 바꿉니다.

  • SCHEDULER_COUNT를 스케줄러 수로 바꿉니다.

예를 들면 다음과 같습니다.

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.schedulerCount

{
  "config": {
    "softwareConfig": {
      "schedulerCount": 2
    }
}

Terraform

software_config 블록의 scheduler_count 필드는 환경의 스케줄러 수를 지정합니다.

이 필드는 Airflow 2를 사용하는 Cloud Composer 1 환경에서만 사용할 수 있습니다.

resource "google_composer_environment" "example" {

  config {
    software_config {
      scheduler_count = SCHEDULER_COUNT
    }
  }
}

다음과 같이 바꿉니다.

  • SCHEDULER_COUNT를 스케줄러 수로 바꿉니다.

예를 들면 다음과 같습니다.

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {
    software_config {
      scheduler_count = 2
    }
  }
}

Cloud SQL 인스턴스의 머신 유형 조정

환경의 Airflow 데이터베이스를 저장하는 Cloud SQL 인스턴스의 머신 유형을 변경할 수 있습니다.

Console

  1. Google Cloud Console의 환경 페이지로 이동합니다.

    환경 페이지로 이동

  2. 환경을 선택합니다.

  3. 환경 구성 탭으로 이동합니다.

  4. 리소스 > Cloud SQL 머신 유형 항목에서 수정을 클릭합니다.

  5. Cloud SQL 구성 대화상자의 Cloud SQL 머신 유형 드롭다운 목록에서 환경의 Cloud SQL 인스턴스에 대한 머신 유형을 선택합니다.

  6. 저장을 클릭합니다.

gcloud

--cloud-sql-machine-type 인수는 환경에서 Cloud SQL 인스턴스의 머신 유형을 제어합니다.

다음 Google Cloud CLI 명령어를 실행합니다.

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --cloud-sql-machine-type SQL_MACHINE_TYPE

다음과 같이 바꿉니다.

예를 들면 다음과 같습니다.

gcloud composer environments update example-environment \
  --location us-central1 \
  --cloud-sql-machine-type db-n1-standard-2

API

  1. environments.patch API 요청을 만듭니다.

  2. 이 요청의 작성 방법:

    1. updateMask 매개변수에서 config.databaseConfig.machineType 마스크를 지정합니다.

    2. 요청 본문에서 Cloud SQL 인스턴스의 머신 유형을 지정합니다.

{
  "config": {
    "databaseConfig": {
      "machineType": "SQL_MACHINE_TYPE"
    }
  }
}

다음과 같이 바꿉니다.

예를 들면 다음과 같습니다.

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.databaseConfig.machineType

{
  "config": {
    "databaseConfig": {
      "machineType": "db-n1-standard-2"
    }
  }
}

Terraform

database_config 블록의 machine_type 필드는 Cloud SQL 인스턴스의 머신 유형을 지정합니다.

resource "google_composer_environment" "example" {

  config {
    database_config {
      machine_type = "SQL_MACHINE_TYPE"
    }
  }
}

다음과 같이 바꿉니다.

예를 들면 다음과 같습니다.

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {
    database_config {
      machine_type = "db-n1-standard-2"
    }
}

웹 서버 머신 유형 조정

환경의 Airflow 웹 서버에 대한 머신 유형을 변경할 수 있습니다.

Console

  1. Google Cloud Console의 환경 페이지로 이동합니다.

    환경 페이지로 이동

  2. 환경을 선택합니다.

  3. 환경 구성 탭으로 이동합니다.

  4. 리소스 > 웹 서버 머신 유형 항목에서 수정을 클릭합니다.

  5. 웹 서버 구성 대화상자의 웹 서버 머신 유형 드롭다운 목록에서 Airflow 웹 서버의 머신 유형을 선택합니다.

  6. 저장을 클릭합니다.

gcloud

--web-server-machine-type 인수는 환경에서 Airflow 웹 서버 인스턴스의 머신 유형을 제어합니다.

다음 Google Cloud CLI 명령어를 실행합니다.

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-machine-type WS_MACHINE_TYPE

다음과 같이 바꿉니다.

예를 들면 다음과 같습니다.

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-machine-type composer-n1-webserver-2

API

  1. environments.patch API 요청을 만듭니다.

  2. 이 요청의 작성 방법:

    1. updateMask 매개변수에서 config.webServerConfig.machineType 마스크를 지정합니다.

    2. 요청 본문에서 웹 서버의 머신 유형을 지정합니다.

{
  "config": {
    "webServerConfig": {
      "machineType": "WS_MACHINE_TYPE"
    }
  }
}

다음과 같이 바꿉니다.

예를 들면 다음과 같습니다.

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.webServerConfig.machineType

{
  "config": {
    "webServerConfig": {
      "machineType": "composer-n1-webserver-2"
    }
  }
}

Terraform

web_server_config 블록의 machine_type 필드는 Airflow 웹 서버 인스턴스의 머신 유형을 지정합니다.

resource "google_composer_environment" "example" {

  config {
    web_server_config {
      machine_type = "WS_MACHINE_TYPE"
    }
  }
}

다음과 같이 바꿉니다.

예를 들면 다음과 같습니다.

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {
    web_server_config {
      machine_type = "composer-n1-webserver-2"
    }
}

다음 단계