AWS 컴퓨팅 자원 할인 프로그램 Savings Plans의 이해예약 인스턴스(RI)를 대체할 약정 할인 방식
Savings Plans 소개
AWS에서는 컴퓨팅 자원의 사용량을 미리 약정하고 할인 받을 수 있는 새로운 요금 체계인 Savings Plans를 발표했습니다. 기존에도 아마존 EC2 예약 인스턴스RI, Reserved Instance를 사용하면 사용량을 미리 약정할 수 있었습니다만, 리전, 사이즈, 인스턴스 세대 등을 명시적으로 선택해서 약정을 해야했습니다. AWS를 경험이 있으신 분들이 이 조합이 얼마나 다양한지 알고 있을 것입니다. 또한 이렇게 고정된 약정 사항에 대해서는 추후에 변경이 불가능하거나 제한적으로만 변경이 가능했습니다.
이와 달리 Savings Plans은 예약 인스턴스보다 훨씬 할인이 포괄적으로 적용됩니다. Saving Planse은 시간당 사용 금액을 미리 약정하고, 이 약정한 금액에 대해서는 리전, 인스턴스 세대, 사이즈에 상관없이 요금 할인이 적용됩니다. 심지어는 EC2 뿐만 아니라 파게이트(Fargate) 사용 금액에 대해서도 할인이 적용됩니다.
Compute Savings Plans와 EC2 Instance Savings Plans
이번에 출시된 Savings Plans는 크게 Compute Savings Plans와 EC2 Instance Savings Plans 두 가지 종류로 나뉩니다.
- Copmute Savings Plans
- 온디맨드 가격 대비 최대 66%할인이 적용되는 가장 유연한 플랜. 인스턴스 패밀리, 사이즈, AZ, 리전, OS, 테넌시에 상관없이 적용되는 플랜. EC2와 함께 파게이트에도 자동 적용됨.
- EC2 Instance Savings Plans
- 온대민드 가격 대비 최대 72% 할인이 적용되는 플랜. 리전과 인스턴스 패밀리를 정해서 적용하며, 사이즈, AZ, OS, 테넌시에 상관없이 적용되는 플랜. 파게이트는 적용되지 않음.
Compute Savings Plans는 예약 인스턴스나 EC2 Instance Savings Plans보다 훨씬 더 포괄적으로 할인이 적용됩니다. 인스턴스 패밀리나 리전을 지정하지 않아도 EC2를 사용하는 거의 모든 경우에 할인이 적용됩니다. 이와 더불어 EC2뿐만 아니라 ECS에서 사용할 수 있는 파게이트에도 할인이 자동 적용됩니다. EC2 Instance Savings Plans의 경우 리전과 인스턴스 패밀리를 미리 지정해야합니다. 이 방식의 장점은 Compute Savings Plans보다 최대 할인 폭이 조금 더 크다는 점입니다.
Savisngs Plans의 구매 방식 이해하기
먼저 Savings Plans를 통해 할인되는 시간당 가격은 인스턴스 패밀리, 사이즈, 리전, OS, 테넌시에 따라 다르며, 이에 대해서는 가격 페이지에 확인할 수 있습니다.
예를 들어 Seoul 리전의 m5.large Linux(Shared 테넌시) 인스턴스의 경우 온디맨드 요금은 $0.118입니다. 1년 계약에 선결제가 없는 경우 Savings Plans이 적용된 가격은 $0.085입니다. RI에서 같은 조건의 인스턴스를 검색할 경우 선결제 없는 조건의 convertible 클래스의 가격과 거의 같은 것을 확인할 수 있습니다. 예약 인스턴스를 구매하는 경우 특정 조건의 인스턴스를 필요한 댓수만큼 주문하는 방식입니다. RI를 선결제 없이 구매하는 경우 인스턴스 사용 여부와 관계 없이 시간당 요금이 과금됩니다.

Savings Plans의 경우 이와 달리 댓수가 아닌 시간당 사용 금액을 미리 약정하는 방식입니다. RI와 달리 Savings Plans을 구매할 때 지정하는 조건들은 몇가지가 되지 않습니다. Compute Savings Plans을 구매하는 경우 오직 기간(1년 or 3년)과 선결제 방식(선결제 없음 or 부분 선결제 or 전액 선결제) 그리고 시간당 금액만을 지정합니다. 이 때 기간과 선결제 방식에 따라서 할인율이 달라집니다. 여기서 지정한 시간당 금액은 인스턴스의 사용 여부와 관계 없이 지불하는 약정 금액입니다. 예를 들어 $0.085를 시간당 요금으로 지정하면, 매 시간 $0.085가 과금됩니다. 인스턴스를 사용하지 않더라도 한 달을 대략 744시간으로 계산하면 $63.24의 비용이 발생합니다.
이 조건 상에서 서울 리전의 m5.large Linux(Shared 테넌시) 인스턴스를 한 대 사용한다고 가정해보겠습니다. 비용은 시간당 $0.085이므로 Saving Plans에서 지정한 시간당 요금과 정확히 일치합니다. 이 경우 할인된 가격이 적용되므로 시간당 $0.085를 지불하고 이 인스턴스를 사용할 수 있습니다. 요금은 (월기준) 약정 금액과 같은 $63.24가 됩니다. 같은 인스턴스를 2대를 사용한다고 가정해보겠습니다. 1대를 사용하면서 이미 미리 지정한 시간당 요금은 모두 소진하므로, 나머지 한 대는 온디맨드 가격으로 과금이 이루어질 것입니다. 따라서 시간당 $0.203($0.085 + $0.118)이 과금되며, 한 달에 $151.032의 요금이 발생합니다. Saving Plans를 전혀 사용하지 않았을 경우에는 $175.584가 됩니다.*
* 이 계산은 예상되는 요금이며 실제 적용 방식에는 차이가 날 수 있습니다. 좀 더 자세한 내용은 Savings Plans의 가격, FAQ 등 공식 문서를 참고해서 판단하시기 바랍니다.
앞서 이야기한 대로 기간을 늘리거나 선결제를 하는 경우 할인율이 좀 더 높아집니다. 예약 인스턴스의 경우 기간을 늘리거나 선결제를 하는 경우 결제 금액이 낮아집니다. 하지만 Savings Plans를 사용하는 경우 시간당 요금을 직접 결정하기 때문에 전체 금액은 달라지지 않는다는 차이점이 있습니다. 기간을 늘리거나 선결제로 요금을 더 아끼고자 하는 경우에는 약정 금액도 적절하게 조정할 필요가 있어보입니다.
Savings Plans 구매하기
Savings Plans는 AWS Cost Management 서비스에서 구매할 수 있습니다. 하지만 구매하기에 앞서 적절한 약정 금액을 계산할 필요가 있습니다.
Savings Plans의 서브 메뉴에는 추천Recommendations 메뉴가 있습니다. 이 메뉴에서는 현재 계정의 온디맨드 인스턴스의 사용량을 기반으로 옵션에 따라 약정 금액을 추천해줍니다. *
* 스크린샷을 찍은 계정에서는 온디맨드 사용량이 얼마 되지 않아 추천 금액이 나오지 않았습니다. 😅

이는 과거 데이터를 기반으로 한 정보이므로, 이후에도 1년 이상 비슷한 정도나 그 이상 사용할 계획인 경우에는 이를 참고해서 약정을 진행하면 될 것으로 보입니다. 다른 변수들이 있는 경우에는 요금 페이지를 참고해서 직접 계산해보고 옵션과 약정 금액을 결정하는 것을 추천드립니다.
약정 옵션과 금액을 정했으면 Savings Plans 구매하기Purchase Savings Plans 메뉴에서 Savings Plans를 구매할 수 있습니다.

Savings Plans 타입과 기간, 선결제 옵션을 선택하면 됩니다. 이는 할인 방식과 할인율을 결정하는 옵션들입니다. 앞서 설명했듯이 총 결제 금액은 오직 약정 금액에 의해서만 결정됩니다. 따라서 추천 메뉴나 직접 계산을 통해서 미리 적절한 약정 금액을 정해야합니다. Savings Plans을 카트에 넣고 결제를 진행할 수 있습니다. Savings Plans 구매 이후 에는 Utilization Report, Coverage Report 메뉴에서 현재 할인이 얼마나 적용되고 있는지를 확인할 수 있습니다.
예약 인스턴스와 Savings Plans
예약 인스턴스 종료에 대한 별도 공지는 없는 것으로 보입니다. Savings Plans의 FAQ에도 예약 인스턴스는 이후에도 계속 구매할 수 있다고 이야기하고 있습니다. 단, Savings Plans이 비슷한 수준의 할인을 제공하면서 훨씬 유연한 정책을 가지고 있기 때문에 현재 사용중인 예약 인스턴스 만료 이후에는 Savings Plans을 사용할 것을 권장한다고 합니다.