이 문서는 컴퓨트 섹션의 일부입니다.
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는 다음과 같이 자동으로 대응합니다.- 종료된 Worker의 태스크를 다른 Worker에 재배치 합니다
- 셔플 데이터가 손실되었으면 해당 스테이지를 재실행 합니다
- 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에 클러스터를 배치하면 데이터 전송 비용과 지연을 줄일 수 있습니다.