비용 효율적으로 EC2 구매하기 – RI와 SP

EC2를 온 디맨드 보다 저렴하게 구매할 수 있는 RI와 SP에 대해 설명한 글입니다.
2023.09.06

안녕하세요 클래스메소드의 수재입니다.
이번에 Savings Plans 구매에 대해 설명할 일이 있어서 해당 내용을 정리해보고자 합니다.

Reserved Instances(RI, 예약형 인스턴스)와 Savings Plan(SP)

컴퓨팅 서비스의 구매 옵션입니다.
EC2의 기본적인 구매 방식은 사용한만큼 비용일 지불하는 온 디맨드 방식입니다.

초창기에는 EC2의 가동 시간이 확실하다면 사용할 EC2를 예약하여 구매하는 방식인 RI를 구매하여 온 디맨드보다 훨씬 저렴한 가격에 인스턴스를 이용하는 것이 가능했습니다.
이후 2019년에 SP가 제공되기 시작했으며 전체적인 환경에 맞춰 RI나 SP 중 가장 효율적인 옵션을 선택하여 AWS의 비용관리가 가능하게 되었습니다.

RI와 SP는 [전부 선결제, 부분 선결제, 선결제 없음] 의 3가지 방식으로 결제가 가능합니다.
전부 선결제가 할인율이 가장 높으며 선결제 없음은 할인율이 비교적 낮습니다.
다만 비교적 낮다는 것이지 온 디맨드에 비하면 저렴한 가격입니다.

또한 신청 기간도 1년/3년 단위로 선택할 수 있습니다

두 옵션의 차이에 대해서 자세히 알아보도록 하겠습니다.

RI는 구매한 EC2가 배치되는 범위에 따라 리전 및 영역 예약 인스턴스로 나뉩니다.
그리고 인스턴스 클래스의 취급 방법에 따라 그 안에서 스탠다드 또는 컨버터블 예약 인스턴스로 구매 방법이 나뉩니다.
더 상세한 내용을 알아보도록 하겠습니다.

RI와 SP 의 비교표

RI와 SP를 표로 정리하면 다음과 같습니다.

이미지를 새 탭으로 열어 확대하시거나 다운로드해서 보는 것을 추천합니다.

RI와 SP의 차이점

RI는 특정 인스턴스 패밀리를 예약하여 사용하는 이미지입니다.
따라서 원하는 대상 인스턴스에 할인이 적용되도록 조절하기 쉽니다.
옵션에 따라 인스턴스 예약이 가능하며 조건부로 사이즈의 변경도 가능합니다.

SP는 비용을 미리 추산하여 미리 지불하는 이미지입니다.
옵션에 따라 EC2 뿐만 아니라 Lambda나 Fargate도 저렴하게 이용할 수 있습니다.
다만 원하는 인스턴스에 할인이 적용되는지는 확인하기 힘든 단점이 있습니다.
하지만 위의 표와 같이 미리 지정해야하는 설정이 적으며 그에 따라 유연하게 변경이 가능한 장점도 있습니다.

RI에 대해

RI는 구매하는 범위(리전, 가용영역)과 클래스(스탠다드, 컨버터블)에 따라 구분이 가능합니다.
이에 대해 자세히 알아보겠습니다.

Regional RI와 Zone RI

이 둘을 비교하면 다음과 같습니다.

용량 예약
리전이나 가용 영역에 따라 이용 가능한 전체 EC2(본인 뿐만이 아닌 다른 유저들의 인스턴스까지 모두 합한)의 개수에는 상한이 있습니다.
그래서 본인이 어떠한 인스턴스의 가동이 필요한 타이밍에 모든 인스턴스가 소진되어버렸다면 가동이 불가능한 경우도 있습니다.
이때 주로 발생하는 오류가 [InsufficientInstanceCapacity]입니다.

이를 해결하기 위해서는 특정 가용 영역에 인스턴스를 예약하는 용량 예약(capacity reservations)이 필요합니다.

ZoneRI의 경우 가용 영역을 미리 지정하여 구매하기에 용량 예약도 같이 이루어지게 됩니다.
하지만 Regional RI의 경우 가용 영역에 관계없이 구매하기 때문에 용량 예약이 필요한 경우 온 디맨드 용량 예약(ODCR)을 별도로 신청할 필요가 있습니다.

가용 영역
Reigonal RI는 가용 영역에 상관없이 신청 리전의 인스턴스 전체에 대해 할인이 적용됩니다.
Zone RI는 처음 구매 신청을 한 가용 영역의 인스턴스에 대해서만 할인이 적용됩니다.

인스턴스 사이즈 변경
RI의 사이즈 변경의 조건으로 [특정 가용 영역에 연결되지 않아야 합니다.] 가 있기 떄문에 RI의 구매 후 인스턴스 사이즈를 변경하고 싶은 경우 Regional RI를 선택할 필요가 있습니다.
단, 플랫폼이나 테넌시 등의 조건이 있으므로 확인이 필요합니다.

큐잉(예약 구매, 스케줄링)
특정 시간에 RI를 구매하도록 예약하는 기능은 Regional RI만 가능합니다.

Standard와 Convertible

이어서 RI의 클래스를 비교해보겠습니다.

할인율
Convertible에 비해 Standard가 높은 할인율을 제공합니다.
하지만 인스턴스의 교환이 불가능하다는 단점이 있습니다.

구매한 RI의 옵션 수정
Convertible의 경우 가용 영역(Zone RI의 경우), 인스턴스 크기(동일한 인스턴스 패밀리 및 세대 내, Linux/Unix 전용), 예약 인스턴스의 범위와 같은 속성을 RI 구매 후 수정할 수 있습니다.

구매한 RI의 교환
옵션 수정만으로 변경할 수 없는 옵션은 교환에서 변경이 가능합니다.
단 이 교환은 Convertible에서만 가능합니다.
인스턴스의 교환에도 [교환 전과 비교하여 동등하거나 그 이상의 가치가 되어야 함]이라는 조건이 있으므로 교환 전에는 검토가 필요합니다.

RI를 마켓 플레이스에서 구매 및 판매
RI를 구매한 후 해당 기한을 채우기 전에 필요가 없어졌다면 마켓 플레이스에 소유한 RI를 팔 수 있습니다.
또한 마켓 플레이스에서 다른 사람의 RI를 구매하는 것도 가능합니다.
단, Standard RI만 구매 및 판매가 가능합니다.

Savings Plans 에 대해

마지막으로 Sp의 옵션에 대해 알아보겠습니다.

RI에 비해 처음 구매할 때 설정해야하는 옵션이 적다는 것을 알 수 있습니다.
하지만 RI는 인스턴스의 수량만 입력하면 비용 측면에서는 문제가 없었지만 SP는 사용 비용을 개인이 추산할 필요가 있습니다.

할인율
EC2 InstanceSP가 ComputeSP보다 제약이 있는 만큼 할인율이 더 높습니다.

인스턴스 패밀리, 리전 지정
EC2 InstanceSP는 구매할 때 설정한 인스턴스 패밀리 및 리전에 대해서만 할인이 적용됩니다.
반면 ComputeSP는 사용하는 EC2 전체에 대해 할인이 적용됩니다.
따라서 계획한대로 할인이 적용되는지는 제대로 확인할 필요가 있습니다.

Lambda 및 Fargate에 할인 적용
ComputeSP는 EC2 외에 Lambda와 Fargate의 비용에도 할인을 적용할 수 있습니다.

EC2 InstanceSP와 ComputeSP를 같이 쓰는 경우

EC2, Lambda, Fargate를 쓰고 있는 경우 ComputeSP를 구매한다면 모든 비용에 할인을 적용할 수 있습니다.
하지만 EC2에 대해서는 EC2 InstanceSP를 적용한다면 더 높은 할인율을 적용할 수 있습니다. 만약 EC2 InstanceSP가 아니라 RI를 구매한다면 어떨까요?

RI와 SP의 적용 우선순위를 정리하자면 다음과 같습니다.

  • 동일한 조건을 충족하는 RI가 존재하면 SP보다 RI가 우선
  • 동일한 조건을 충족하는 EC2 Instance SP 및 Compute SP가 있으면 EC2 Instance SP가 우선
  • 동일한 조건의 SP에서 할인율이 높은 대상에게 적용이 우선

즉, 우선 순위가 높은 순서로 정리하자면 [RI > EC2 Instance SP > Compute SP] 가 됩니다.
해당 내용에 대해서는 다음 문서를 참고하면 좋을 것 같습니다.

마무리

이렇게 RI와 SP에 대해 비교하여 알아보았습니다.
현재 사용하고 있는 서비스와 앞으로의 변경 계획 등을 검토하면 본인에게 더 알맞는 구매 방식을 선택할 수 있으리라 생각됩니다.
또한 SP가 RI보다 유연하게 사용할 수 있는 반면에 계획대로 적용되고 있는지, 어느 정도의 금액이 적당하지 등 신경 쓸 부분이 더 많다는 것도 알 수 있었습니다.

다음 글에서는 효율적으로 SP를 구매하는 방법에 대해 알아보도록 하겠습니다.

긴 글 읽어주셔서 감사합니다.
내용 피드백 및 오탈자는 must01940 지메일로 보내주시면 감사합니다.