[AWS SAA] Spot Instance와 Spot Fleets

시훈·2025년 3월 19일

AWS SAA

목록 보기
4/43
post-thumbnail

1. Spot Instance란?

Spot Instance는 AWS의 미사용(유휴) EC2 용량을 할인된 가격에 임대해주는 인스턴스 유형이다. 사용자는 자신이 지불할 의사가 있는 최대 금액(Spot 가격 상한선)을 설정하고, 실제 Spot 가격이 그 이하일 때 인스턴스가 실행된다.

1-1. 비용 구조

  • 최대 90% 할인(온디맨드 대비)이 가능하다.
  • Spot 인스턴스의 가격은 수요와 공급에 따라 변동된다.
  • 사용자가 지정한 Max Price(최대 지불 가능 금액)보다 Spot 가격이 올라가면, 인스턴스가 중지(Stop) 또는 종료(Terminate) 된다.

1-2. 중단(Interruption) 시나리오

  • AWS는 Spot 가격이 상승하여 사용자의 최대 가격을 초과하면, 2분의 유예 기간을 부여한다.
  • 이 기간 내에 사용자는 인스턴스를 중지하거나 종료할 수 있으며, 별다른 조치를 하지 않으면 인스턴스가 종료될 수 있다.

1-3. Spot Block

  • 일정 시간(1~6시간) 동안 중단 없이 Spot 인스턴스를 보장해주는 옵션이다.
  • 일반 Spot에 비해 다소 비용이 높을 수 있으나, 중단 리스크가 낮다.

2. Spot Instance 요청 방식

2-1. Spot Request 생성

Spot Request를 만들 때는 최대 가격(Max Price), 인스턴스 개수, 인스턴스 스펙 등을 지정한다. Spot 가격이 사용자가 설정한 최대 가격보다 낮다면, 요청이 승인되고 인스턴스가 실행된다.

2-2. 요청 유형

  1. One-Time
  • 한 번 요청이 승인되어 인스턴스가 실행되면, 요청이 사라진다(단발성).
  • 인스턴스가 중단되면 자동으로 재생성되지 않는다.
  1. Persistent
  • 요청이 계속 유지된다.
  • 인스턴스가 중단되거나 종료되면, AWS가 다시 인스턴스를 실행하려 시도한다.
  • Spot Request를 취소하지 않으면, 자동으로 인스턴스가 재생성될 수 있다.

2-3. 종료(취소) 시 주의점

  • Spot Request를 먼저 취소해야 하며, 그 후에 Spot Instance를 종료해야 한다.
  • 요청이 남아 있는 상태에서 인스턴스만 종료하면, AWS가 다시 인스턴스를 생성할 수 있다.

3. Spot Fleet란?

Spot Fleet은 여러 개의 Spot Instances(또는 선택적으로 On-Demand Instances)를 자동으로 관리하는 서비스다. 원하는 목표 용량(Target Capacity)에 도달하기 위해 다양한 인스턴스 유형과 가용 영역(AZ)을 조합해 최적의 비용과 성능을 달성한다.

3-1. 주요 특징

  • 다양한 인스턴스 풀(Launch Pools) 지정 가능
    예: 서로 다른 인스턴스 타입, 운영체제, 가용 영역 등을 하나의 Fleet 내에 정의.
  • 비용 절감 최적화
    Spot 가격이 저렴한 인스턴스 풀을 우선 선택하거나, 다양한 풀에 분산해 가용성을 높일 수 있다.
  • 목표 용량(Target Capacity)
    특정 CPU/메모리/인스턴스 수 등 목표를 설정하면, Fleet이 이를 만족할 수 있도록 인스턴스를 할당한다.
  • Spot + On-Demand 혼합 사용
    100% Spot만 쓰거나, 일부는 On-Demand로 안정성을 확보하면서 나머지는 Spot으로 비용 절감을 시도할 수 있다.

3-2. 할당 전략

  • lowestPrice: 가장 저렴한 인스턴스 풀에서 인스턴스를 요청해 단기적인 비용을 최소화한다.
  • diversified: 여러 풀에 걸쳐 분산 배치해 장기적으로 높은 가용성을 확보한다.
  • capacityOptimized: 현재 가장 많은 인스턴스를 제공할 수 있는 풀을 선택해 중단 위험을 줄인다.
  • priceCapacityOptimized(추천): 가장 가용성이 높은 풀 중에서 가격이 낮은 순으로 선택해, 비용과 가용성을 모두 고려한다.

4. Spot Instance vs. Spot Fleet 비교

Spot Instance를 단독으로 사용하는 경우는 간단한 단일 작업에 적합하다. 반면, Spot Fleet은 다양한 인스턴스 풀을 조합해 대규모로 실행하고, 비용 최적화와 가용성을 동시에 잡고 싶을 때 유리하다.

5. 마무리

Spot Instance와 Spot Fleet은 AWS 클라우드에서 비용을 획기적으로 절감할 수 있는 강력한 수단이다. 다만, Spot 가격 상승으로 인해 인스턴스가 중단될 수 있다는 점을 반드시 고려해야 한다. 이를 해결하기 위해서는 다음과 같은 전략을 사용할 수 있다.

  1. Persistent 요청: 인스턴스가 중단되면 자동 재실행되도록 설정
  2. Spot Fleet의 분산 전략: 다양한 인스턴스 풀에 분산 배치해 가용성을 높임
  3. Spot + On-Demand 혼합: 핵심 작업은 On-Demand로 안정성을 확보하고, 부가 작업은 Spot으로 비용 절감

결국, Spot InstanceSpot Fleet을 잘 이해하고 활용한다면, 클라우드 인프라 비용을 큰 폭으로 줄이면서도 필요 시 유연하게 확장할 수 있다. 특히 대규모 배치 작업이나 데이터 분석, 테스트 환경 등 중단에 대한 영향이 적은 워크로드에서 뛰어난 가성비를 자랑하므로, 적극적으로 고려해볼 만한 옵션이다.

profile
Backend Developer / Cloud Engineer

0개의 댓글