Spot 인스턴스 배치 작업 최적화 전략
1. 인스턴스 다양화
특정 인스턴스 타입(예: m5.large) 하나만 고집하면 해당 자원이 부족해질 때 내 작업이 중단될 확률이 급격히 높아집니다.
전략: 성능 요구 사항이 비슷한 여러 인스턴스 패밀리와 크기를 섞어서 사용하세요. (예:
m5.large,m5d.large,m4.large,c5.large)효과: 특정 타입의 자원이 부족해도 다른 타입의 Spot 자원을 활용해 작업 연속성을 유지할 수 있습니다.
2. '용량 최적화' 할당 전략 사용
단순히 '가장 저렴한 것'을 고르는 전략보다 훨씬 안정적인 방식입니다.
전략: 'Capacity-optimized' 할당 전략을 선택하세요.
효과: AWS 실시간 데이터를 기반으로 현재 가용 자원이 가장 넉넉한(즉, 회수될 가능성이 가장 낮은) 인스턴스 풀을 자동으로 선택합니다. 약간의 비용 차이는 발생할 수 있지만 중단율이 비약적으로 낮아집니다.
3. 상태 저장 및 체크포인팅
배치 작업 도중 인스턴스가 회수되었을 때 처음부터 다시 시작하는 것은 비용 낭비입니다.
전략: 작업 단위를 잘게 쪼개고, 중간 결과물을 S3나 EFS에 주기적으로 저장하세요.
효과: 인스턴스가 교체되어도 마지막으로 저장된 지점(Checkpoint)부터 작업을 재개할 수 있어 시간과 비용을 모두 아낄 수 있습니다.
4. 2분 전 중단 알림 자동화
AWS는 Spot 인스턴스를 회수하기 2분 전에 알림을 보냅니다. 이 짧은 시간을 골든타임으로 활용해야 합니다.
전략: Amazon EventBridge를 사용하여
Spot Instance Interruption Notice를 감지하고, 즉시 진행 중인 작업을 정리하거나 로그를 덤프하는 스크립트를 실행하도록 설정하세요.효과: 데이터 유실 없이 깔끔하게 작업을 종료하고 다음 인스턴스로 바통을 넘길 수 있습니다.
5. AWS Batch 활용
직접 스크립트를 짜는 것이 번거롭다면 AWS의 관리형 서비스를 활용하는 것이 가장 현명합니다.
전략: AWS Batch를 사용하여 컴퓨팅 환경을 'Spot'으로 설정하세요.
효과: AWS Batch가 알아서 최적의 Spot 인스턴스를 프로비저닝하고, 작업이 중단되면 자동으로 다른 인스턴스에서 재시도(Retry)해 줍니다.
온디맨드 vs Spot 배치 전략 비교
항목 | 온디맨드 (On-Demand) | 스팟 (Spot) 최적화 |
비용 절감율 | 0% (기준가) | 60% ~ 90% |
안정성 | 매우 높음 (중단 없음) | 중단 가능성 있음 (설계로 극복) |
권장 작업 | 실시간 서비스, API 서버 | 데이터 분석, 렌더링, 주기적 배치 |
장애 대응 | 불필요 | 체크포인팅 필수 |
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.