Skip to main content
이 문서는 컴퓨트 섹션의 일부입니다.

Spot 인스턴스란?

Spot 인스턴스 는 클라우드 제공업체(AWS, Azure, GCP)가 유휴 컴퓨팅 자원을 할인된 가격으로 제공 하는 인스턴스입니다. On-Demand 대비 60~90% 저렴 하지만, 클라우드 제공업체가 자원이 필요하면 사전 경고 후 회수(종료) 할 수 있다는 특징이 있습니다.
💡 비유: Spot 인스턴스는 “항공사 땡처리 좌석”과 같습니다. 빈 좌석이 있으면 크게 할인하여 판매하지만, 만석이 되면 해당 좌석을 돌려받을 수 있습니다.

On-Demand vs Spot 비교

클라우드별 명칭


Driver는 항상 On-Demand

Databricks 클러스터에서 Driver 노드 는 반드시 On-Demand로 실행해야 합니다. Driver가 종료되면 전체 Spark 애플리케이션이 실패하기 때문입니다.

Worker 혼합 전략

first_on_demand 설정

first_on_demand는 On-Demand로 시작할 노드 수를 지정합니다. 나머지는 Spot으로 시작합니다.

SPOT_WITH_FALLBACK (권장)

Spot 인스턴스를 먼저 요청하고, Spot이 부족하면 자동으로 On-Demand로 전환 합니다.

Azure에서의 설정


Spot 인스턴스 종료 처리

Spark의 자동 복구

Worker Spot 인스턴스가 종료되면 Spark는 다음과 같이 자동으로 대응합니다.
  1. 종료된 Worker의 태스크를 다른 Worker에 재배치 합니다
  2. 셔플 데이터가 손실되었으면 해당 스테이지를 재실행 합니다
  3. Auto-scaling이 활성화되어 있으면 대체 노드를 자동 요청 합니다

Spot 종료 시 영향

셔플 데이터 보호

대규모 셔플이 있는 워크로드에서는 Spot 종료로 인한 셔플 재계산 비용이 클 수 있습니다.

비용 절감 효과

비용 계산 예시

가정: r5.xlarge 인스턴스, 8 Worker, 일 8시간 실행
💡 위 금액은 예시이며, 실제 비용은 리전, 인스턴스 타입, Spot 시장 가격에 따라 달라집니다.

비용 최적화 체크리스트


워크로드별 Spot 전략


실습: Spot 최적화 클러스터 설정


Spot 인터럽트 확률과 인스턴스 유형별 특성

모든 인스턴스 유형의 Spot 인터럽트 확률이 같지는 않습니다. 인스턴스 유형, 리전, 시간대에 따라 크게 달라집니다.

AWS Spot 인터럽트 확률 패턴

💡 실무 팁: AWS Spot Instance Advisor(https://aws.amazon.com/ec2/spot/instance-advisor/)에서 인스턴스 유형별 인터럽트 빈도를 확인할 수 있습니다. 인터럽트율이 낮은 인스턴스를 선택하면 안정성이 높아집니다.

인스턴스 Fleet 전략 (다중 유형 지정)

단일 인스턴스 유형에 의존하면 Spot 풀 고갈 위험이 높아집니다. 여러 유형을 후보로 지정 하면 가용성이 크게 향상됩니다.

Zone-aware 배치 전략

가용 영역(AZ)별 Spot 가격 차이

같은 리전 내에서도 가용 영역에 따라 Spot 가격과 가용성이 크게 다릅니다.
💡 권장: 배치 Job에는 zone_id: "auto"를 사용하고, 스트리밍이나 S3 접근 패턴이 AZ에 민감한 워크로드에서는 고정 AZ를 사용하세요. S3 버킷과 같은 AZ에 클러스터를 배치하면 데이터 전송 비용과 지연을 줄일 수 있습니다.

Spot 실패 시 Job 복구 메커니즘

Spark 레벨 복구 (자동)

Spot 인스턴스가 회수되면 Spark는 내부적으로 다음 단계를 거칩니다.

Databricks Job 레벨 복구

Spark 내부 복구가 실패하는 경우(예: 전체 Worker 동시 회수, Driver 연결 끊김 등)에 대비하여 Job 재시도 를 설정합니다.

셔플 데이터 보호 심화

대규모 조인이나 집계에서는 셔플 데이터가 수 GB~수 TB에 달할 수 있습니다. Spot 종료로 셔플 데이터가 유실되면 전체 Stage를 재계산 해야 하므로 비용과 시간이 급증합니다.

비용 절감 ROI 계산 상세

상세 비용 비교 시나리오

시나리오: 일일 ETL Job, 8 Workers (r5.2xlarge), 실행 시간 4시간

Spot 인터럽트에 따른 추가 비용 고려

Spot 인스턴스가 중간에 회수되면 재실행 비용이 발생합니다.

프로덕션 Spot 사용 판단 기준

Spot 적합성 의사결정 플로우

프로덕션 안정성 등급별 Spot 전략

클라우드별 Spot 사용 시 주의사항


정리


참고 링크