예약 인스턴스와 스팟 인스턴스로 EC2 비용 절감하기

Chanmin, Kim·2022년 4월 21일
0

AWS

목록 보기
1/1
post-thumbnail

TL;DR

  • 예약 인스턴스, 스팟 인스턴스 를 활용하면 온디맨드 인스턴스에 비해 수십 % 요금을 절감할 수 있다.

  • 인스턴스를 장기간(1년 이상) 사용한다면 예약 인스턴스를 사용할 것을 고려해볼 수 있다.

  • 인스턴스를 장기간 사용하지는 않으면서 데이터베이스, 서버 호스팅 목적이 아니라면 스팟 인스턴스 가 대안이 될 수 있다.


고객이 원하는 스펙의 가상 컴퓨터를 임대해주는 EC2는 다른 서비스들에 비해 상당히 비싼 편입니다.
그런데 상황에 따라 최대 수십 %의 요금 할인을 적용받을 수 있다는 방법이 있다는 것을 알고 계신가요?

이번 글에서는 EC2를 훨씬 저렴하게 사용할 수 있는 예약 인스턴스와 스팟 인스턴스를 다뤄 보도록 하겠습니다.

온디맨드 인스턴스

제일 먼저 소개할 유형은 온디맨스 인스턴스입니다.
얼핏 봐서는 어려운 말처럼 들리지만, 'On-demand', 즉 '수요에 따른' 이라는 뜻을 갖는 온디맨드 인스턴스는 뜻 그대로 '사용한 만큼' 요금을 부과하는 EC2 인스턴스입니다.

여러분이 EC2 설정 시에 별다른 설정 없이 인스턴스를 생성했다면 아마 대부분 해당 요금제를 사용하고 있었을 텐데요, 온디맨드 인스턴스는 가장 기본적이면서 가장 비싼 과금 유형입니다.

예약 인스턴스 (Reserved Instance)

예약 인스턴스(RI)는 EC2 인스턴스를 장기간 이용할 때 유리한 옵션으로, 1년 이상 사용할 인스턴스를 미리 구매하고 사용하는 과금 유형입니다.

🚨 예약 인스턴스는 1년 ~ 3년 사이의 임의의 기간이 아닌 1년 또는 3년 단위의 구매만이 가능합니다!

RI를 사용하면 온디맨드 인스턴스 대비 최대 72%의 요금 절감을 꾀할 수 있는데요, RI에도 Standard RIConvertible RI 라는 두 가지 종류가 존재합니다.

표준 예약 인스턴스(Standard RI)

먼저 표준 예약 인스턴스(Standard RI) 는 동일한 인스턴스 유형(Ex. t2.microt2 가 인스턴스 유형)간 수정이 가능하며, 약정 기간 중에 해당 인스턴스가 필요 없어지면 EC2 인스턴스 마켓플레이스에 RI를 판매할 수 있습니다.

표준 RI에서 인스턴스 수정하기

표준 RI 계약기간 중에는 인스턴스 크기를 변경할 수 있습니다.

프리 티어에서 제공되는 인스턴스 t2.micro 를 예로 들자면, t2 는 인스턴스의 유형이고 micro 가 인스턴스의 크기를 의미합니다.

인스턴스 크기 수정을 위한 정규화 인자

nano, micro, small 등의 접미사는 각각 고유한 정규화 인자(Normalization factor)를 갖는데요, 예를 들어 nano 인스턴스는 0.25, small 인스턴스는 1의 정규화 인자 값을 갖습니다.

인스턴스 크기를 수정할 때는 현재 보유한 표준 RI 인스턴스의 정규화 인자의 합이 수정하고자 하는 인스턴스 유형의 정규화 인자 합과 동일해야 하는데요, 즉 기존에 t2.large 인스턴스를 하나 갖고 있었다면 이를 t2.small 인스턴스 넷이나 t2.medium 인스턴스 둘로 나눌 수도 있습니다.

또는 그 반대도 가능해 t2.small 인스턴스 넷과 t2.medium 인스턴스 둘의 계약을 합쳐 하나의 t2.large RI로 병합할 수도 있습니다.

✅ 표준 RI에서는 이렇게 인스턴스 크기만을 수정할 수 있으며, t2 → P4 와 같은 인스턴스 유형의 변경은 불가능합니다.

전환 가능 예약 인스턴스(Convertible RI)

그런데 계약기간 중 인스턴스 스펙뿐만 아니라 OS나 인스턴스 유형 등 더 다양한 옵션을 변경해야 할 수도 있는데요, 이를 위해 전환 가능 예약 인스턴스(Convertible RI) 라는 옵션도 존재합니다.

Convertible RI 는 표준 RI에 비해 할인율이 다소(약 5 ~ 10%) 낮긴 하지만, 중간에 인스턴스의 유형(Ex. C3.nano -> C4.nano) 및 운영체제 등의 교체가 가능합니다.

이 때 수정이 아닌 교체라는 표현을 사용한 까닭은 Convertible RI의 경우 기존의 인스턴스 옵션을 수정하는 것이 아니라 기존의 RI를 AWS에서 제공하는 새로운 인스턴스와 교환하는 것이기 때문인데요, 따라서 항상 기존의 스펙과 같거나 그 이상의 인스턴스로 교체해야 하고 해당 차익을 지불해야 한다는 제약이 존재합니다.

또 도중에 쓸모가 없어진 인스턴스를 마켓플레이스에 판매할 수 있었던 Standard RI와는 달리 마켓플레이스에 등록해 판매할 수 없다는 단점이 존재합니다.

스팟 인스턴스 (Spot Instance)

스팟 인스턴스는 사용할 인스턴스에 입찰 하는 형식으로, AWS에 "난 이 가격에 인스턴스를 사용할 거야!" 라고 제안합니다.

제안한 가격이 AWS에서 명시한 인스턴스 *시세 보다 높다면 인스턴스를 수십 % 저렴하게 사용할 수 있지만, 만약 시세가 변해 제안한 가격보다 인스턴스가 비싸진다면 해당 인스턴스는 자동으로 *중단 됩니다.

🔎 인스턴스의 중단이란?

인스턴스 시세가 입찰가 이상으로 올라가면 2분의 유예기간을 주고 인스턴스 제공을 중단합니다.
중단된 인스턴스는 기본적으로는 종료(Terminate) 되나, 설정을 통해 인스턴스를 종료하는 대신 중지 또는 최대 절전 모드에 들어가게 할 수도 있습니다.

다만 스팟 인스턴스는 이처럼 불시에 중단될 수 있다는 리스크를 안고 있으므로 데이터베이스나 서버 호스팅 대신 특정 연산을 수행하는 목적으로 적합합니다. (물론 백업 생성이나 중단 시 알람 푸시 등 Failure Management가 잘 갖춰져 있어야 합니다.)

profile
Public Cloud 및 Cloud Native 기술에 관심이 많습니다.

0개의 댓글