Spot Instances(스팟 인스턴스)
- 아주 짧은 워크로드를 위한 것이다.
- 아주 저렴하다. 하지만 언제라도 그 인스턴스들이 손실될 수 있어서 신뢰성이 낮다.
- 온디맨드에 비해 최대 90%까지 할인이 된다.
- 배치 작업 및데이터 분석, 장애 복원력이 뛰어난 워크로드 등에 사용한다.
: 아주 중요한 작업이나 데이터베이스에는 적절하지 않다. - 인스턴스의 스팟 가격이 지불하고자 하는 최대 가격보다 낮다면 해당 인스턴스를 유지하게 된다.
: 시간당 스팟은 오퍼와 용량에 따라 달라진다. - 스팟 가격이 정의된 최대 가격을 초과하면, 두가지를 선택할 수 있다.(2분의 유예시간이 주어진다.)
- 하던 작업을 모두 중지하고 인스턴스를 중지한다. 그러다가 스팟 가격이 최대 가격 아래로 내려가면, 인스턴스를 다시 시작하고 중단했던 곳부터 재개하는 것이다.
- EC2 인스턴스에서 상태가 필요하지 않다면 그냥 인스턴스를 종료해버리면 된다. 그러면 언제든 작업을 다시 시작할 때 새로운 EC2 인스턴스로 시작할 수 있다.
Spot Block(스팟 블록)
- 지정된 기간 동안 스팟 인스턴스를 차단하는 것이다. 그래서 AWS가 스팟 인스턴스를 회수하는 것을 원하지 않을 때 사용할 수 있다.
- 1~6시간까지 가능하다. 이 시간 동안 중단 없이 해당 블록을 사용할 수 있다고 규정되어 있다.(하지만 아주 드물게 인스턴스가 회수되는 경우도 있다고 한다.)
요청 유형
- 스팟 인스턴스 일회성 요청
: 스팟 요청이 완료되는 즉시 인스턴스가 시작된다. 그리고 스팟 요청이 사라진다. - 스팟 영구 인스턴스 요청
: 스팟 요청이 유효한 기간 동안은 이 인스턴스 수도 유효하다는 뜻이다. 즉, 인스턴스가 어떤 이유로든 중지되거나, 스팟 가격을 기준으로 중단되는 경우 스팟 요청이 다시 실행되고, 유효성이 확인되면, 스팟 인스턴스가 다시 시작되는 것이다. - 밑의 이미지에서 이해하면 좋은 부분
: 스팟 요청을 취소하려면, 스팟 요청이 열려 있는 상태, 즉 활성 상태이거나, 비활성화 상태여야 한다는 것이다. 즉 실패한 것도 아니고 취소된 것도 아니며 닫힌 것도 아니라는 뜻이다.
: 스팟 요청을 받고 취소하는 경우에는 이전에 시작한 인스턴스를 종료하는게 아니라 먼저 스팟 요청을 취소하고, 그 다음에 관련 스팟 인스턴스를 종료해야 한다.
( 스팟 인스턴스를 먼저 종료해버리면, AWS는 스팟 요청으로 다시 돌아가서 '3개의 인스턴스를 원한다고 했는데 현재 인스턴스 0개 있군'이라고 하면서 3개의 인스턴스를 다시 시작해버리려고 한다.)
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를 선택하라는 것이다. (조건은 예를 들어 가장 낮은 가격으로)
'AWS(Amazon Web Service)' 카테고리의 다른 글
[AWS] EC2의 Placement Groups(배치 그룹) (0) | 2024.09.18 |
---|---|
[AWS] Private vs Public IP (IPv4) (1) | 2024.09.17 |
[AWS] EC2 Instances Purchasing Options(구매옵션) (1) | 2024.09.15 |
[AWS] SSH 관련 (0) | 2024.09.14 |
[AWS] EC2의 Security Groups(보안 그룹) (0) | 2024.09.13 |