[AWS] 비용 최적화: RI와 Saving Plan

AWS는 자체적으로 비용 절감을 위한 방법을 여러가지 제공하는데, 대표적으로 RI와 Saving Plan, Spot instance정도가 있다.
여기서는 RI와 Saving Plan 정도만 정리해본다.

둘 다 적용이 되는 리소스가 있고 안되는 리소스가 있기 때문에 둘 다 알고 활용할 수 있어야 한다.




A. 예약형 인스턴스 (reserved-instances:RI)

RI는 EC2나 EC2 베이스 리소스에 예약형 결제로 할인을 해주는 서비스다.
https://aws.amazon.com/ko/ec2/pricing/reserved-instances/


기본적으로 1년이나 3년 단위로 걸어둘 수 있고, 당연히 3년이 더 싸다.
1년을 걸면 40%를 깎아주고, 3년을 걸면 60%를 깎아주는 것이다.

opsnow UI이긴 한데, 아무튼 이런 식으로 RI가 만들어진다.

특정 리전에, 특정 서비스의 특정 인스턴스 타입을 기준으로 리소스를 예약하는 것이다.

예를 들어 ec2 t3.small 2개를 예약하면, 달마다 첫날에 온디맨드 리소스와는 별개로 먼저 결제가 몰아서 된다.

그래서 비용표로는 저렇게 찍힌다.
그리고 유의할 점으로는, t3.small 2개를 예약헀으면 t3.small 2개를 항상 써야 비용 효과를 볼 수 있다는 점이다.
사용량이 변동돼서 t3.small 1개, t3.medium 1개를 쓰면 t3.small개어치의 비용을 그냥 아마존에게 상납하는 것이다.


그래서 실제로 예약한걸 얼마나 쓰고있는지를 측정한걸 사용률이라고 부른다.
100%는 다 잘 쓰고있는거고, 반만 쓰고있는건 돈을 버리고 있는 것이다.

이렇게 잘 끼워맞춰야 하기 때문에 탄력성이 낮은게 단점이다. 정말 확실하게 고정적으로 쓸 리소스에 대해서만 신중하게 걸기를 바란다.

Lambda나 Fargate 같은 온디맨드 리소스에는 적용이 불가능하다는 한계가 있다.
프로비저닝 리소스도 안되는게 많다. EC2/Elastiacache/RDS/Redshift/Opensearch 이런 것들 정도만 지원된다. MSK 같은 잡다한 서비스들도 대부분 안된다.

EC2에 한해서는 Convertiable RI라고 줄이는건 안되지만 늘이는건 되는 RI가 있다. EC2만 된다.

실제로 예약을 하는건

이런 느낌으로 각각 리소스 섹션 들어가서 만들면 된다.
만들면 돌이킬 수 없으니, 신중하게 보고 만들기 바란다.




B. 절감형 플랜 (Saving plan)

AWS가 주장하기로는 RI보다 발전된 형태의 절약 방법이다.
RI가 특정 인스턴스 레벨을 정해서 예약을 걸고 할인을 받는다면, 이건 달러 단위로 결제를 걸어놓고, 그걸로 비용을 차감시키면서 할인을 받는 형태다.
https://aws.amazon.com/ko/savingsplans/

실제 비용표는 아래 들어가면 계산해볼 수 있다.
https://aws.amazon.com/ko/savingsplans/compute-pricing/

대표적으로 ec2 시리즈는 30% 정도 할인이 된다. 근데 이건 기본이고, 얼마나 AWS의 노예가 될건지에 따라 할인률이 상승한다.
이러면 월마다 시간당 결제금액이 결제된다.


선결제만 걸어도 할인률이 상승한다.
이러면 1년어치를 한번에 결제하는 것이다.
부분 선결제는 절반을 한번에 결제하고 나머지를 월별로 결제한다.


3년 노예가 되면 54%라서 RI에 근접하는 비용 절감 효과를 볼 수 있다.

실제로 사서 적용하는건, 비용 섹션의 Saving 구매 페이지로 가서 할 수 있다.

이런 식이다.

참고로, 이것도 안되는게 많다.
EC2, Lambda, Fargate 정도만 지원되고, RDS 같은건 안된다.




C. 크레딧 차감

RI나 Saving Plan을 사용한다면, 크레딧과 상충되는 부분이 존재할 수 있다.

RI나 Saving Plan으로 "전체 선결제"를 걸어버리면 이 상황에는 선결제분에 대해서 크레딧 사용을 적용할 수 없다. 아마 AWS의 크레딧 시스템이 월별 결제 기반으로 만들어져있기 때문인 것 같다.

다만, 예외적으로 파트너사를 통해 결제중인 경우에는 전체 선결제를 사용하더라도 크레딧을 사용할 수 있다.
베스핀글로벌의 경우에는 알아서 해주더라.



https://aws.amazon.com/ko/ec2/pricing/reserved-instances/
https://aws.amazon.com/ko/savingsplans/faq/