배치 작업 및데이터 분석, 장애 복원력이 뛰어난 워크로드 등에 사용한다. :아주 중요한 작업이나 데이터베이스에는 적절하지 않다.
인스턴스의 스팟 가격이 지불하고자 하는 최대 가격보다 낮다면 해당 인스턴스를 유지하게 된다. : 시간당 스팟은 오퍼와 용량에 따라 달라진다.
스팟 가격이 정의된 최대 가격을 초과하면, 두가지를 선택할 수 있다.(2분의 유예시간이 주어진다.) - 하던 작업을 모두 중지하고 인스턴스를 중지한다. 그러다가 스팟 가격이 최대 가격 아래로 내려가면, 인스턴스를 다시 시작하고 중단했던 곳부터 재개하는 것이다. - EC2 인스턴스에서 상태가 필요하지 않다면 그냥 인스턴스를 종료해버리면 된다. 그러면 언제든 작업을 다시 시작할 때 새로운 EC2 인스턴스로 시작할 수 있다.
Spot Block(스팟 블록)
지정된 기간 동안 스팟 인스턴스를 차단하는 것이다. 그래서 AWS가 스팟 인스턴스를 회수하는 것을 원하지 않을 때 사용할 수 있다.
1~6시간까지 가능하다. 이 시간 동안 중단 없이 해당 블록을 사용할 수 있다고 규정되어 있다.(하지만 아주 드물게 인스턴스가 회수되는 경우도 있다고 한다.)
요청 유형
스팟 인스턴스 일회성 요청 : 스팟 요청이 완료되는 즉시 인스턴스가 시작된다. 그리고 스팟 요청이 사라진다.
스팟 영구 인스턴스 요청 : 스팟 요청이 유효한 기간 동안은 이 인스턴스 수도 유효하다는 뜻이다. 즉, 인스턴스가 어떤 이유로든 중지되거나, 스팟 가격을 기준으로 중단되는 경우 스팟 요청이 다시 실행되고, 유효성이 확인되면, 스팟 인스턴스가 다시 시작되는 것이다.
밑의 이미지에서 이해하면 좋은 부분 : 스팟 요청을 취소하려면, 스팟 요청이 열려 있는 상태, 즉 활성 상태이거나, 비활성화 상태여야 한다는 것이다. 즉 실패한 것도 아니고 취소된 것도 아니며 닫힌 것도 아니라는 뜻이다. :스팟 요청을 받고 취소하는 경우에는 이전에 시작한 인스턴스를 종료하는게 아니라 먼저 스팟 요청을 취소하고, 그 다음에 관련 스팟 인스턴스를 종료해야 한다. ( 스팟 인스턴스를 먼저 종료해버리면, AWS는 스팟 요청으로 다시 돌아가서 '3개의 인스턴스를 원한다고 했는데 현재 인스턴스 0개 있군'이라고 하면서 3개의 인스턴스를 다시 시작해버리려고 한다.)
Spot Instnace 예시 1 (출처 : 구글이미지)
Spot Instnace 예시 2 (출처 : 구글이미지)
Spot Fleets(스팟 플릿)
Spot Fleets = set of Spot Instances + (optional) On-Demand Instances :스팟 인스턴스의 집합이다. 선택적으로 온디맨드 인스턴스 세트도 있다. 그래서 플릿(무리)라고 부르는 이유이다.
비용을 절감하는 궁극적인 방법이다.
사용자가 정의한 가격 제한으로 목표 용량을 충족하기 위해 최선을 다한다. : launch pools(런치 풀)에서 시작한다. (예시 : 다양한 인스턴스 유형, 다양한 OS 및 다양한 가용성 영역) : 그럼 플릿이 가장 적합한 런치 풀을 선택한다. : 스팟 플릿이 예산에 도달하거나 원하는 용량에 도달하면 인스턴스 시작을 중지한다.
Strategies to allocate Spot Instances(스팟 플릿에 스팟 인스턴스를 할당하는 전략) - lowestPrice(최저 가격) : 가장 낮은 가격인 풀에서 인스턴스를 시작하기 때문에 비용이 최적화된다. : 워크로드가 매우 짧은 경우 좋은 옵션이다. - diversified(다양한) : 스팟 인스턴스는 모든 풀에 분산된다. : 한 풀이 사라져도 다른 풀은 여전히 활성화되어 있으니깐가용성과 긴 워크로드에 적합하다. - capacityOptimized(용량 최적화) : 원하는 인스턴스 수에 맞는 최적의 용량을 가진 풀을 갖게 된다. : 먼저 사용 가능한 용량이 가장 큰 풀을 선택하고 그 중 가격이 가장 낮은 풀을 선택하는 전략이다. : 대부분의 워크로드에 가장 적합한 선택이다.
스팟 플릿이 복잡해 보이지만 이것만 기억!! - 스팟 플릿을 사용하면 여러 개의 런치 풀과 여러 인스턴스 유형을 정의할 수 있다.(= 원시 전력만 신경쓰면 된다) - 스팟 플릿이 자동으로 가장 낮은 가격의 스팟 인스턴스를 요청한다. - 적절한 스팟 인스턴스 풀을 선택하여 최대로 비용을 절감할 수 있을 만큼 똑똑하기 때문에 스팟 플릿은 스팟 인스턴스를 기반으로 추가 비용을 절감할 수 있다.
스팟 플릿과 스팟 인스턴스의 차이
간단한 스팟 인스턴스 요청을 하는 경우는 원하는 인스턴스 유형과 AZ를 정확히 알고 있는 경우이다.
스팟 플릿을 요청하는 경우는 조건을 만족하는 모든 인스턴스 유형과 모든 AZ를 선택하라는 것이다. (조건은 예를 들어 가장 낮은 가격으로)