본문 바로가기
AWS

EC2 예약 인스턴스와 Savings Plans 차이 — 갈림길은 할인율이 아니다

by 꼼냥냥 2026. 9. 4.
728x90

AWS 공식 문서는 EC2 예약 인스턴스(RI)보다 Savings Plans를 권장한다. 할인율 상한이 같은데(둘 다 최대 72%) 쓰기가 더 쉽기 때문이다. 그런데 갈림길은 할인율이 아니다. Savings Plans는 용량을 잡아 주지 않고, 중도 해지도 되팔기도 안 된다. 특정 AZ에 자리를 확보해야 한다면 존 단위 RI뿐이다. 그리고 유형이 하나 더 늘었다. Aurora·RDS·DynamoDB에 적용되는 Database Savings Plans가 있다.

무엇에 약정하는가 — 이게 전부다

두 제도의 차이는 여기서 시작한다.

  • RI는 인스턴스 구성에 약정한다. 인스턴스 타입·리전·테넌시·플랫폼(OS) 네 가지 속성이 가격을 정한다.
  • Savings Plans는 시간당 금액(USD/hour)에 약정한다. 그 금액만큼 쓰면 어떤 인스턴스든 할인가가 붙는다.

그래서 RI는 워크로드가 바뀌면 교환하거나 수정해야 하고, Savings Plans는 그냥 옮기면 된다. c5에서 m5로 가든 아일랜드에서 런던으로 가든 Compute Savings Plans는 그대로 따라온다.

기간은 양쪽 다 1년(365일) 또는 3년(1,095일)이고, 결제는 전액 선결제 / 부분 선결제 / 선결제 없음 세 가지다.

Savings Plans는 네 종류다

세 종류로 알고 있었다면 하나가 늘었다.

유형 최대 할인 무엇에 묶이나
Compute 66% 아무것도 안 묶인다. 패밀리·크기·리전·OS·테넌시 자유. Fargate·Lambda까지
EC2 Instance 72% 인스턴스 패밀리 + 리전을 고정. 크기·OS·테넌시는 자유
Database 35% Aurora·RDS·DynamoDB·ElastiCache·DocumentDB·Neptune 등. 엔진·리전 넘나듦
SageMaker AI 64% SageMaker 인스턴스. 패밀리·크기·리전·컴포넌트 자유

Database Savings Plans는 RDS for Oracle에서 Aurora PostgreSQL로 바꾸거나 RDS에서 DynamoDB로 옮겨도 할인이 유지된다. 최신 세대 프로비저닝 인스턴스와 서버리스 사용량에 적용된다.

EC2 Instance 쪽 할인이 Compute보다 높은 이유는 단순하다. 패밀리와 리전을 고정하는 대가다. (문서)

RI를 여전히 써야 하는 경우 — 용량 확보

여기가 실제 갈림길이다.

Savings Plans는 용량을 예약하지 않는다. AWS 문서가 명시한다. 특정 AZ에 인스턴스 자리를 확보해야 하면 다른 수단이 필요하다.

RI는 범위(scope)에 따라 갈린다.

리전 RI 존 RI
용량 예약 안 된다 지정 AZ에 확보된다
AZ 유연성 리전 내 어느 AZ든 적용 지정 AZ에만 적용
크기 유연성 패밀리 내 크기 무관 (조건 있음) 없다. 지정 크기만
구매 예약 큐에 넣을 수 있다 안 된다

범위가 가격을 바꾸지는 않는다. 리전이든 존이든 같은 값이다. 그러니 용량이 필요하면 존을 고르면 되는데, 대신 유연성을 전부 잃는다.

리전 RI의 크기 유연성에는 조건이 붙는다 — Amazon Linux/Unix, 기본 테넌시일 때만 적용된다. Windows나 전용 테넌시면 크기를 못 넘나든다.

그리고 Savings Plans를 쓰면서 용량도 필요하면 방법이 있다. 온디맨드 용량 예약(ODCR)을 따로 잡으면 Savings Plans가 거기에 적용된다.

되팔 수 있느냐 — 잘못 샀을 때의 출구

3년 약정은 길다. 틀렸을 때 어떻게 빠져나오는지가 실무에서는 할인율보다 중요하다.

  • Standard RI — 교환은 안 되고 수정만 된다. 대신 RI 마켓플레이스에 되팔 수 있다.
  • Convertible RI — 다른 속성의 Convertible RI로 교환할 수 있다. 수정도 된다.
  • Savings Plans — 기간 중 해지가 안 된다. 구매 후 약정 조건도 못 바꾼다.

Savings Plans의 유연성은 쓰는 방식에 대한 것이지 약정 자체에 대한 것이 아니다. 워크로드를 옮기는 건 자유지만, 시간당 금액을 줄이거나 무를 수는 없다. 사용량이 줄면 그 약정은 그대로 청구된다.

RI도 구매 취소는 안 된다. 다만 수정·교환·판매라는 출구가 있다.

사기 전에 확인할 것

적용 안 되는 것들

  • 스팟 사용량과 이미 RI가 덮은 사용량에는 Savings Plans가 적용되지 않는다.
  • 전용 인스턴스 요금은 리전당 시간 $2가 붙는데, 이건 Savings Plans로 할인되지 않는다.
  • EKS 클러스터 요금 자체는 커버되지 않는다. 그 아래 EC2 인스턴스는 커버된다.

RI는 자동 갱신되지 않는다

만료되면 인스턴스는 계속 돌지만 온디맨드 요금으로 돌아간다. 중단되지 않으므로 알아채기 어렵다. 만료일을 달력에 넣어 두는 편이 낫다.

aws ec2 describe-reserved-instances \
  --filters Name=state,Values=active \
  --query 'ReservedInstances[].{Type:InstanceType,Scope:Scope,End:End,Count:InstanceCount}' \
  --output table

추천은 Cost Explorer가 계산해 준다

감으로 정하지 않는다. 실사용 이력에서 적정 약정액을 뽑아 준다.

aws ce get-savings-plans-purchase-recommendation \
  --savings-plans-type COMPUTE_SP \
  --term-in-years ONE_YEAR \
  --payment-option NO_UPFRONT \
  --lookback-period-in-days SIXTY_DAYS

--lookback-period-in-days를 짧게 잡으면 최근 일시적 부하가 약정액을 부풀린다. 반대로 길게 잡으면 최근 증설이 반영되지 않는다. 양쪽을 다 돌려 보고 낮은 쪽에 맞추는 게 안전하다. 모자란 만큼은 나중에 추가로 살 수 있지만, 넘치게 산 건 못 무른다.

FAQ

Savings Plans와 RI를 같이 써도 되나요

된다. 다만 RI가 먼저 적용되고, RI가 덮은 사용량에는 Savings Plans가 적용되지 않는다. 이미 RI가 있다면 남는 사용량 기준으로 약정액을 잡아야 한다.

약정 금액을 많이 걸면 단가가 더 싸지나요

아니다. Savings Plans 단가는 약정 금액에 따라 달라지지 않는다. 많이 건다고 할인율이 오르지 않으므로, 확실히 쓸 만큼만 거는 게 맞다.

할인율이 같은데 왜 EC2 Instance Savings Plans 대신 Standard RI를 쓰나요

둘 다 최대 72%다. 차이는 출구와 용량이다. 되팔 생각이면 Standard RI(마켓플레이스), 특정 AZ 자리가 필요하면 존 RI, 그 외에는 EC2 Instance Savings Plans가 관리가 쉽다.

확인한 것과 확인하지 못한 것

이 글의 할인율·기간·유연성·제약은 전부 AWS 공식 문서에서 확인했다. Savings Plans 네 유형과 각 상한(66/72/35/64%), 리전·존 RI의 용량 예약 차이, Standard와 Convertible의 교환·판매 가능 여부, 그리고 Savings Plans가 용량을 예약하지 않는다는 서술이 그렇다.

확인하지 못한 것은 서울 리전의 실제 약정 단가다. 요금 페이지가 스크립트로 렌더링되어 값을 직접 읽지 못했다. 그래서 "얼마 아낀다"는 계산은 넣지 않았다. 금액은 계정의 Cost Explorer 추천값이 가장 정확하다 — 남의 계산이 아니라 내 사용 이력에서 나온 값이기 때문이다.

요금 제도는 바뀐다. Database Savings Plans처럼 유형이 늘기도 한다. 앞서 S3 프리티어 구조가 2025년에 바뀐 것처럼, 날짜가 적히지 않은 요금 글은 믿을 게 못 된다.

댓글