EC2 Spot Instance

김명주·2025년 3월 31일

EC2 Spot Instance

EC2 Spot Instance는 AWS에서 제공하는 저렴한 비용의 EC2 인스턴스다.

  • 온디맨드에 비해 최대 90% 의 할인을 받을 수 있음
    • 스팟 인스턴스에 대해 지불할 수 있는 최대 스팟 가격을 정의하고 인스턴스의 스팟 가격이 지불하고자 하는 최대 가격보다 낮다면 해당 인스턴스를 유지함.
    • 시간당 스팟 가격은 용량에 따라 달라짐.
    • 현재 스팟 가격이 정의된 최대 가격을 초과하면 두 가지를 선택할 수 있다. 각 옵션에는 작업을 수행할 수 있는 2분의 유예 기간이 주어진다.
      • 인스턴스 중지 -> 진행중인 작업을 모두 중지하고 인스턴스를 중지하는 것
      • 인스턴스 종료 -> 작업을 다시 시작할 때 새로운 EC2 인스턴스로 시작.
  • 배치 작업, 데이터 분석, 장애 복원력이 뛰어난 워크로드에 주로 사용한다.
  • 중요한 작업이나 데이터베이스에는 적합하지 않다.

Spot Instance 종료하기

스팟 요청에서는 원하는 인스턴스 수, 최대 가격 및 시작 사양 등을 정의한다.
스팟 요청은 두가지가 있다.

  • 일회성 요청
    • 스팟 요청이 완료되는 즉시 인스턴스가 시작되고 스팟 요청은 사라진다.
  • 영구 인스턴스 요청
    • 스팟 요청이 유효한 기간 동안은 이 인스턴스 수도 유효하다.
    • 즉 인스턴스가 어떤 이유로든 중지되거나 스팟 가격을 기준으로 중단되는 경우, 스팟 요청이 다시 실행되고 유효성이 확인되는 스팟 인스턴스가 다시 시작된다.

스팟 요청을 취소하려면 스팟 요청이 열려있는 상태, 즉 활성 상태거나 비활성화 상태여야 한다.
따라서 스팟 인스턴스를 완전히 종료하고 다시 시작하지 않으려면,
먼저 스팟 요청을 취소하고 그 다음에 관련 스팟 인스턴스를 종료해야 한다.
우리가 만약 스팟 인스턴스를 먼저 종료하면, AWS는 스팟 요청으로 다시 돌아가서 인스턴스를 다시 시작하게 된다.

Spot Fleets

스팟 플릿은 스팟 인스턴스 세트를 정의하는 방법이다. 우리가 설정한 가격 제한으로 목표 용량을 설정하여 인스턴스를 유지한다.
다양한 인스턴스 유형, 운영 체제, AZ 등 풀을 정의하고 그 중 가장 적합한 풀을 플릿이 선택한다.
플릿이 예산에 도달하거나 원하는 용량에 도달하면 인스턴스 시작을 중지한다.
따라서 스팟 플릿에 스팟 인스턴스를 할당하는 전략을 정의해야 한다.

  • 최저 가격 -> 스팟 플릿은 가장 낮은 가격인 풀에서 인스턴스를 시작하기 때문에 비용이 최적화된다. (워크로드가 매우 짧은 경우에 적합)
  • 다양한 인스턴스 유형 -> 우리가 정의한 모든 풀에 분산된다. 이는 가용성을 보장하고 워크로드가 긴 작업이 적합하다.
  • 용량 최적화 -> 원하는 인스턴스 수에 맞는 최적의 용량을 가진 풀을 갖게 된다.
  • 가격 용량 최적화 -> 먼저 사용 가능한 용량이 가장 큰 풀을 선택하고 그중 낮은 가격의 풀을 선택한다.

스팟 플릿을 사용하면 어러 개의 실행 풀과 여러 인스턴스 유형을 정의할 수 있고 최저가 전략을 쓰면 스팟 플릿은 자동으로 가장 낮은 가격의 스팟 인스턴스를 요청한다.
이를 통해 스팟 인스턴스를 기반으로 추가 비용을 절감할 수 있다.

profile
개발자를 향해 달리는 사람

0개의 댓글