설명
Databricks GCP 클러스터의 선점형 인스턴스는 회수될 수 있어 작업이 중단되거나 재처리가 필요할 수 있습니다. 비용 절감과 함께 작업의 중단 허용 범위, 온디맨드 노드와 fallback 전략을 고려해야 합니다.
잠재적 영향
- 선점형 인스턴스 회수로 작업이 중단될 수 있습니다.
- 클러스터 복구와 재처리 비용이 늘어날 수 있습니다.
- 운영용 분석 작업의 완료 시간이 달라질 수 있습니다.
해결 방법
작업 요구에 따라 PREEMPTIBLE_WITH_FALLBACK_GCP 또는 ON_DEMAND_GCP를 선택하세요. 지원되는 provider 버전에서 first_on_demand로 필요한 온디맨드 노드를 지정하고, 자원 회수 후 복구와 비용을 시험하세요. fallback이나 자동 종료 설정만으로 무중단 실행을 보장할 수는 없습니다.
예시
다음은 데이터 소스 정의를 생략한 Databricks provider v1.133.0 구성 발췌입니다. 변경 전에는 PREEMPTIBLE_GCP를 사용하고 온디맨드 노드 수를 별도로 지정하지 않습니다.
변경 전
hcl
resource "databricks_cluster" "example" {
cluster_name = "data"
spark_version = data.databricks_spark_version.latest.id
node_type_id = data.databricks_node_type.smallest.id
autotermination_minutes = 20
autoscale {
min_workers = 1
max_workers = 50
}
gcp_attributes {
availability = "PREEMPTIBLE_GCP"
zone_id = "AUTO"
}
}
변경 후
hcl
resource "databricks_cluster" "example" {
cluster_name = "Shared Autoscaling"
spark_version = data.databricks_spark_version.latest.id
node_type_id = data.databricks_node_type.smallest.id
autotermination_minutes = 20
autoscale {
min_workers = 1
max_workers = 50
}
gcp_attributes {
availability = "PREEMPTIBLE_WITH_FALLBACK_GCP"
zone_id = "AUTO"
first_on_demand = 1
}
}
변경 후에는 first_on_demand = 1로 드라이버를 온디맨드에 배치하고, 선점형 용량을 확보하지 못할 때 나머지 노드를 온디맨드로 대체할 수 있습니다. zone_id = "AUTO"는 하나의 가용 영역을 자동 선택하며 여러 영역에 노드를 분산하는 설정은 아닙니다.