AWS DynamoDB Reserved Capacity 심층 분석
https://aws.amazon.com/ko/dynamodb/pricing/reserved-capacity/
목차
- DynamoDB 예약 용량 개요
- 예약 용량 활용 시나리오 분석 (스파이크형 트래픽, 일정한 워크로드, 신규 서비스 런칭)
- 온디맨드 대비 비용 절감 효과 분석 (시뮬레이션 및 비교)
- Reserved Capacity 최적 용량 산정 방법 (트래픽 예측, AWS 계산 도구 활용)
- 예약 구매 옵션별 특징 (1년 vs 3년, 전액 선결제 vs 일부 선결제 vs 무선결제)
- 리전별 요금 및 할인율 차이
- 예약 용량 구매·갱신·해지 정책 및 유의사항
- Reserved Capacity가 적합하지 않은 경우 (무정형 트래픽 등)
- 실무 베스트 프랙티스 및 AWS 권장사항
1. DynamoDB 예약 용량 개요
AWS DynamoDB Reserved Capacity(예약 용량) 는 프로비저닝된 용량 모드 에서 일정 용량을 1년 또는 3년 기간 동안 미리 약정 하고 그 대가로 요금을 할인 받는 모델입니다. 즉, 최소 사용량 수준 을 계약 기간 동안 선지불+할인 요율로 지불함으로써, 온디맨드 대비 비용을 절감할 수 있습니다. DynamoDB 예약 용량의 특징은 다음과 같습니다.
- 지원 대상: DynamoDB 표준(Standard) 테이블 클래스의 프로비저닝된 처리량(Provisioned Capacity) 에만 적용되며, 온디맨드 용량 모드나 Standard-IA 테이블에는 적용 불가 합니다. 다시 말해, 테이블이 온디맨드 모드일 경우 예약 용량 구매로 혜택을 받을 수 없습니다.
- 구매 단위: RCU(읽기 용량 단위) 또는 WCU(쓰기 용량 단위) 를 100 단위 묶음 으로 구매합니다. 최소 구매 가능 용량은 각 읽기/쓰기 100 RCU 또는 100 WCU이며, 필요에 따라 수백, 수천 단위까지 구매 가능합니다.
- 할인 규모: 예약 기간에 따라 할인율이 다르며, 1년 약정 시 표준 요금 대비 최대 약 54% 할인, 3년 약정 시 최대 약 77% 할인 을 제공한다고 명시되어 있습니다. (AWS 공식 문서에서는 각각 “최대 54%”, “최대 77%”로 안내하고 있습니다.)
- 결제 방식: 구매 시 일회성 선결제(upfront) 비용 의 지불이 요구되며, 이후 할인된 시간당 요금 이 약정 기간 동안 부과됩니다. AWS는 일부 선결제(Partial upfront) 방식을 기본으로 하여 시간당 할인지원 요금 을 부과하며, 이를 통해 최적의 시간당 단가 를 제공한다고 설명합니다. (AWS 내부적으로 전액 선결제, 부분 선결제, 무(無)선결제 옵션을 제공하지만, 부분 선결제가 비용과 지불의 균형 측면에서 권장됩니다.)
- 적용 범위: 예약 용량 구매 시 특정 리전(region) 을 지정해야 하며, 해당 리전 내 모든 테이블의 프로비저닝된 RCU/WCU에 공유 적용 됩니다. 따라서 한 계정(또는 Organizations의 통합 결제 계정) 내 여러 테이블의 총 용량에 대해 예약 용량이 먼저 적용되어 청구 할인 됩니다. (콘솔에서 예약 용량을 구매할 때 리전과 용량 종류/크기를 지정해야 합니다.)
- 성능 영향 없음: 예약 용량은 오직 요금 결제 방식에만 영향 을 주는 청구(Billing) 기능 으로, DynamoDB 테이블의 성능이나 가용성에는 아무 영향이 없습니다. 프로비저닝된 모드에서 테이블을 사용하는 방식은 동일하며, 단지 청구 시 예약 요금제가 자동 적용될 뿐입니다.
- 사용 초과시 요금: 구매한 예약 용량 이상으로 프로비저닝하거나 사용 하는 경우, 초과분에 대해서는 표준 온디맨드 프로비저닝 요금 (할인 미적용)이 자동으로 부과됩니다. 예를 들어 100 WCU를 예약 구매했는데 어느 시간대에 150 WCU를 프로비저닝했다면, 100 WCU분은 예약할인 요금이 적용되고 나머지 50 WCU는 정상 단가 로 과금됩니다.
- 미사용분 지불: 예약한 용량을 다 쓰지 않더라도 약정한 전체 용량에 대한 비용을 지불 해야 합니다. 때문에 예약 용량의 실제 절감 효과는 얼마나 꾸준히 용량을 활용하느냐에 달려 있습니다. 사용량이 약정 대비 저조하면 할인받은 금액보다 유휴 용량 비용 손실이 클 수 있습니다.
- 취소/변경 불가: 예약 용량은 구매 후 취소, 판매, 양도 불가 한 고정 약정 입니다. 약정 기간 중에 용량을 줄이거나 해지할 수 없으므로, 신중한 구매 가 필요합니다. (기간 종료 후에는 새로운 예약 구매를 통해 연장 가능)
위와 같이 DynamoDB 예약 용량은 사용 패턴이 예측 가능하고 일정한 워크로드에 대해 장기 할인 혜택 을 주는 대신, 약정된 비용을 지불 해야 하는 모델입니다. 아래에서는 이러한 예약 용량을 어떤 상황에서 활용하는 것이 효과적인지, 온디맨드와의 비용 비교는 어떠한지, 그리고 얼마나 구매하는 것이 적정한지 등 실무적인 관점에서 심층 분석하겠습니다.
2. 예약 용량 활용 시나리오 분석
DynamoDB 예약 용량의 장단점은 업무 부하의 특성 에 따라 크게 좌우됩니다. 실무에서 마주치는 다양한 트래픽 패턴별로, 예약 용량을 활용하는 것이 적절한지와 그 효과 를 분석하면 다음과 같습니다.
- A. 스파이크형 트래픽 시나리오 (일시적 폭증, 불규칙 패턴): 사용량이 시간에 따라 급격히 변동 하고 예측 어려운 스파이크 가 있는 경우입니다. 예를 들어 SNS나 이벤트로 갑자기 트래픽이 몰리는 서비스, 밤낮 차이가 극심한 애플리케이션이 해당됩니다. 이런 무정형 트래픽 에서는 온디맨드 모드 가 권장되며, 예약 용량 활용은 신중해야 합니다.
- 이유: 온디맨드 모드는 요청량 변화에 자동 대응하여 피크 때만 비용이 증가 하고, 한가한 시간대엔 비용이 거의 들지 않습니다. 반면, 프로비저닝+예약 용량을 사용할 경우 최대치 스파이크에 맞춰 용량을 높여 놓으면 한가한 시간에도 그 용량 비용을 계속 지불 해야 하므로 비용 효율이 낮아질 수 있습니다. AWS 공식 문서에서도 “트래픽이 0이 되거나 피크의 30% 미만으로 떨어지는 등 변동이 심한 워크로드”는 온디맨드가 비용 면에서 유리하다고 명시합니다. 온디맨드라면 스파이크도 자동 처리되므로 과소/과대 프로비저닝 위험 없이 안정적입니다.
- 예약 용량 활용: 이러한 경우 일반적으로 예약 용량을 사용하지 않거나 최소한만 사용 하는 것이 좋습니다. 다만, 예측 가능한 주기적 스파이크 (예: 매일 특정 시간대 트래픽 증가)가 있고 기본 베이스라인 트래픽이 충분히 높다면, 그 베이스라인 부분에 한해 예약 용량 을 도입하는 전략도 있습니다. 예컨대 항상 최소 30% 수준의 부하는 존재 하고 나머지 70%가 간헐적 스파이크라면, 30% 부분은 예약 용량으로 할인받고 초과분 70%는 온디맨드 요금(혹은 프로비저닝 초과요금)으로 처리하는 방식입니다. 그러나 이러한 혼합 운용은 세밀한 모니터링과 자동화 설정(예: Auto Scaling 정책)을 필요로 하므로, 스파이크 형태가 극심한 신규 서비스라면 초기에는 온디맨드로 시작 하는 보수적 접근이 흔합니다.
- B. 일정하고 지속적인 워크로드 시나리오 (Steady-State, 예측 가능 패턴): 트래픽이 전반적으로 안정적이고 일정 하며, 성장률도 완만하게 예측 가능 한 경우입니다. 예를 들어 사내 시스템으로 매일 비슷한 양의 트랜잭션이 발생하는 서비스나, 사용자 수가 꾸준히 늘지만 변화 폭이 크지 않은 SaaS 등이 해당됩니다. 이러한 안정적 패턴 에서는 프로비저닝된 용량 + 예약 용량 활용 이 가장 비용 효율적 입니다.
- 이유: 사용량이 꾸준하면 프로비저닝 모드 로 용량을 지정해두고 예약 용량 할인까지 받으면 상시 할인 혜택을 극대화 할 수 있습니다. 온디맨드에 비해 요청 단위당 요금이 현저히 낮아 지므로, 테이블을 풀가동에 가까울수록 절감률이 커집니다. AWS도 “예측 가능하고 일정한 트래픽”을 가진 경우 예약 용량으로 비용을 크게 절감 할 수 있다고 권장합니다. 특히 하루 중 부하 편차가 적고 항상 일정 수준 이상의 처리가 이루어지는 경우, 예약 용량으로 그 상시 부하를 커버 하고 비용을 절감하는 것이 매우 유리합니다.
- 효과: 이러한 시나리오에서 1년 또는 3년 예약 용량을 통해 최대 50~77% 비용 절감 을 달성할 수 있습니다. 아래 3절 에서 온디맨드 대비 구체적인 비용 비교를 제시하지만, 예를 들어 지속 100 WCU/RCU 사용 시 온디맨드에 비해 3년 예약 용량은 월 비용을 70% 이상 줄여주는 효과가 있습니다. 따라서 업무 특성이 일정한 서비스라면 예약 용량 도입이 강력히 고려 됩니다.
- C. 신규 서비스 런칭 시나리오 (초기 트래픽 예측 불확실): 새로운 애플리케이션을 출시하거나 초기 사용자 유입이 가늠하기 힘든 경우입니다. 런칭 직후에는 사용 패턴이 불투명 하고, 마케팅/바이럴 등에 따라 트래픽 변동 폭이 커질 수 있습니다. 이런 상황에서는 초기에 온디맨드 모드로 시작 하여 추이를 본 후, 패턴이 파악되면 예약 용량을 도입 하는 것이 안전한 베스트 프랙티스입니다.
- 이유: 만약 실제 트래픽이 예상보다 훨씬 낮으면, 예약 용량을 미리 구매했을 때 불필요한 비용 을 지출하게 됩니다. 반대로 예상보다 폭증하면, 예약한 용량을 넘는 부분에 대해 별도 요금 이 발생하고 용량 증설(스케일) 을 수시로 조정해야 할 수 있습니다. 따라서 초기에는 유연한 온디맨드로 리스크를 줄이고, 1~3개월간 데이터 를 수집해 평균 및 피크 사용량을 분석 한 뒤 예약 용량 여부를 판단하는 것입니다.
- 예외적 활용: 다만 런칭 전에 부하를 충분히 예측할 수 있는 경우 (예: 기존 시스템 마이그레이션으로 사용자 규모를 알고 있거나, 베타 테스트로 트래픽 패턴을 파악한 경우)에는 초기부터 예약 용량을 구매 하여 비용을 최적화할 수 있습니다. 예를 들어 출시일부터 상당히 높은 고정 트래픽 이 예상되는 서비스라면, 온디맨드로 운영하면 비용이 매우 높을 것을 알기에 미리 예약 용량을 통해 절감 을 노릴 수 있습니다. 이 때는 트래픽 예측치의 조금 낮은 수준 으로 예약 용량을 구매해 두고, 실제 트래픽 추이에 따라 추가 구매를 고려하는 방식이 안전합니다. AWS 비용 탐색기(Cost Explorer)의 예약 구매 권장 기능 등을 활용하면 런칭 후 짧은 기간 내에도 적절한 예약 용량 추천 을 얻어 빠르게 구매를 결정할 수도 있습니다. (2024년부터 Cost Explorer에서 DynamoDB 예약 용량 권장 기능 제공)
이처럼 트래픽 패턴 에 따라 예약 용량의 가치가 달라집니다. 예측 가능성 이 높고 항상 일정 수준 이상의 부하 가 있는 경우에 효과적이며, 반대로 예측 불가능하거나 사용률이 들쑥날쑥 하면 신중해야 합니다. 다음으로, 이러한 시나리오별로 실제 비용은 얼마나 차이 가 나는지, 온디맨드 대비 어느 정도 절감 이 되는지 수치로 살펴보겠습니다.
3. 온디맨드 대비 비용 절감 효과 분석
DynamoDB에서 예약 용량을 활용할 때의 비용 절감 효과 를 이해하기 위해, 온디맨드 요금과 비교한 시뮬레이션 을 수행해 보겠습니다. 서로 다른 규모의 트래픽 시나리오에서 월간 비용 을 비교하고, 예약 용량 도입 시 얼마나 비용이 감소 하는지 정리합니다.
가정된 주요 단가 및 조건 (미국 동부 N. Virginia 리전, DynamoDB Standard 테이블 클래스 기준):
- 온디맨드 모드: 쓰기 요청 100만 건당 $1.25, 읽기 요청 100만 건당 $0.25 (※ 1건 크기 1KB 쓰기, 4KB 강력 일관성 읽기 기준).
- 프로비저닝 모드(예약 미적용): WCU 시간당 $0.00065, RCU 시간당 $0.00013 (미리 용량을 확보한 비용, 사용 여부와 무관하게 부과).
- 예약 용량 할인: 1년 약정 54% 할인, 3년 약정 77% 할인 (프로비저닝 표준요금 대비). 이는 시간당 단가로 환산하면, 1년 예약 시 표준의 약 46% 수준, 3년 예약 시 약 23% 수준 의 요금이 됩니다.
위 요금을 토대로 아래 두 가지 시나리오 를 비교합니다.
📊 사례 비교: 온디맨드 vs 프로비저닝 vs 예약 용량 비용
| 시나리오 (가정 사용량 패턴) | 온디맨드 모드 월 비용 (A) | 프로비저닝 모드 월 비용 (B) | 1년 예약 용량 적용 (C) | 3년 예약 용량 적용 (D) |
|---|---|---|---|---|
| 1. 높은 지속 부하 예: 100 WCU + 100 RCU 매초 꾸준히 사용 | 약 $389 (쓰기 $324 + 읽기 $65) | 약 $56.9 (WCU $47.5 + RCU $9.4) | $26.2 (약정 할인 적용) | $13.1 (약정 할인 적용) |
| 2. 낮은 평균·스파이크 부하 예: 평소 10% 수준 사용, 가끔 짧은 피크(100 WCU/RCU) | $38.9 (주로 사용한 10%에만 과금) | $56.9 (최대치 프로비저닝 가정) | $26.2 (동일) | $13.1 (동일) |
상기 비용은 이론적 비교를 위한 단순 모델입니다 (Seoul 리전 등의 지역별 차이는 제외).
- 시나리오 1 (높은 지속 부하): 매초 100개의 쓰기와 100개의 읽기가 지속되는 높은 안정 부하 상황입니다. 한 달 기준 약 25.9억 건 의 쓰기/읽기가 발생합니다. 이 경우 온디맨드 모드 비용 A (약 $389) 이 프로비저닝 모드 B ($56.9) 보다 약 7배 비싸며, 예약 용량을 도입할 경우 1년 약정 C ($26.2) 는 온디맨드의 약 1/15 수준, 3년 약정 D ($13.1) 는 1/30 수준 으로 극적인 절감 이 가능합니다. 즉 지속적인 대량 트랜잭션에는 예약 용량을 통해 수십 배의 비용 절감 효과를 볼 수 있습니다. (Provisioned 대비로도 1년 약정 ~54%, 3년 약정 ~77% 비용 감소)
- 시나리오 2 (낮은 평균·스파이크 부하): 평상시에는 10분의 1 수준 (10 WCU/RCU)에 불과하지만, 이따금 짧게 100 WCU/RCU까지 치솟는 스파이크가 있는 경우입니다. 온디맨드 모드에서는 사용한 요청에 대해서만 요금이 부과 되므로, 스파이크 기간을 제외하면 비용이 적게 나와 월 $38.9 (A) 로 추산됩니다. 반면 프로비저닝 모드를 스파이크에 맞춰 100 WCU/RCU로 상시 설정 해 두었다면, 사용이 없어도 그 용량을 모두 지불해야 하므로 월 $56.9 (B) 가 고정 발생합니다. 이처럼 평균 이용률이 낮을 경우 온디맨드가 오히려 비용 효율적일 수 있습니다. 예약 용량을 적용한 C/D의 경우에도 약정 용량을 모두 지불해야 하므로 B 대비 할인은 되지만 유휴시간 비용 손실이 존재합니다. 이 예시에서 온디맨드 $38.9 vs 1년 예약 $26.2로 예약 쪽이 저렴하긴 하나, 만약 평균 부하가 더 낮아 대부분 유휴라면 온디맨드 지출이 가장 적을 수도 있습니다. 결국 사용률이 일정 수준 이상 지속되어야 예약 용량의 이점이 확실해집니다. 업계 경험적으로는 평균 20~30% 이상의 용량 활용 이 확보되면 프로비저닝+예약이 온디맨드보다 저렴해지는 경향이 있습니다.
위 비교를 통해, 트래픽 규모와 활용률 에 따라 온디맨드 대비 예약 용량의 절감 효과가 수 배에서 수십 배까지 차이날 수 있음을 알 수 있습니다. “용량 대비 얼마나 쓰느냐” 가 핵심입니다. 만약 언제나 가까이 쓰는 테이블 이라면 예약 용량은 필수적인 비용 절감 수단 이고, 반대로 드문드문 쓰는 테이블 이라면 예약보다는 온디맨드로 쓰는 만큼만 내는 게 이득 일 수 있습니다.
또한 리전별 가격 차이 도 존재합니다. 예를 들어 한국 (서울, ap-northeast-2) 리전의 온디맨드 요금은 미국 동부 대비 약 30%가량 높습니다. 그러나 할인율 자체는 리전마다 비슷 하여, 서울 리전에서도 1년 약정시 최대 약 54% 할인으로 WCU 시간당 약 $0.000705 → $0.000324 수준 까지 절감됩니다. 이는 뒤의 6절 리전별 요금 에서 더 상세히 다루겠습니다.
요약하면, 사용량이 많고 꾸준할수록 예약 용량 도입시 비용 절감 효과가 커지며, 사용량이 적거나 가변적일수록 온디맨드의 효율이 상대적으로 높습니다. 다음으로, 실제 환경에서 얼마만큼의 예약 용량을 구매하는 것이 최적인지 결정하는 방법을 살펴보겠습니다.
4. Reserved Capacity 최적 용량 산정 방법
얼마만큼의 예약 용량을 구매해야 가장 효율적인가? 이는 실무에서 중요한 의사결정 포인트입니다. 너무 적게 사면 할인 혜택을 온전히 못 누리고, 너무 많이 사면 미사용 용량 비용 을 낭비하게 됩니다. 최적의 용량을 산정하기 위한 접근법은 다음과 같습니다.
- A. 과거 트래픽 데이터 분석 (기준: 최대치 vs 평균치): 예약 용량 산정의 출발점 은 서비스의 과거 사용량 패턴을 정확히 파악 하는 것입니다. 최근 한 달 이상 의 CloudWatch 지표 나 Cost & Usage Report(CUR) 를 분석하여, 시간대별 RCU/WCU 소비량 을 확인합니다. 특히 시간 단위의 세밀한 데이터 가 중요합니다. 일별 평균만 볼 경우 짧은 피크가 숨겨질 수 있으므로, 가급적 시간별 혹은 더 촘촘한 간격 으로 사용량 분포를 파악합니다.
- 최대 vs 평균 기준: 예약 용량 결정 시 흔히 “최대치 기준으로 잡을까, 평균치로 잡을까” 고민하게 됩니다. 일반적으로 모든 피크를 다 커버하도록 최대치로 예약 하면 거의 모든 사용량이 할인되지만, 한편으로 평균 대비 상당 기간 유휴 용량 비용 을 지출할 수 있습니다. 반대로 평균치 수준만 예약 하면 자주 초과 사용 이 발생해 그 부분은 할인 혜택을 못 받게 됩니다.
- 권장 접근: AWS 전문가들은 보수적으로, 우선 평균이나 최저 안정치에 가까운 수준으로 시작 할 것을 권장합니다. 예를 들어 VMware FinOps 사례에서는 “첫 예약 구매는 최소 사용량의 약 50% 수준으로 시작” 해보고 점진적으로 늘리는 전략을 제안합니다. 이는 초기부터 과도하게 예약하여 낭비하는 것을 방지하고, 점진적으로 최적점을 찾기 위함입니다.
- Baseline(기저부하): 테이블의 항상 발생하는 기저 트래픽(baseline) 을 파악하여, 그 범위 내에서 예약 용량을 정하는 것이 안전합니다. 예를 들어 시간대별 사용량 그래프 를 그렸을 때 최소값 이 50 RCU라면, 우선 50 RCU 정도를 예약하고 나머지 가변 부분은 추후 고려합니다. 이렇게 하면 예약 용량은 항시 소비 되므로 100% 활용 되어 할인 효과를 극대화합니다. 이후 추이를 보며 여전히 매 시간 대부분 쓰이고 추가 여유 있는지 확인해 점차 증액하는 방식입니다.
- B. AWS 공식 도구 활용 (Pricing Calculator, Cost Explorer): AWS는 비용 산정 및 최적화 도구 를 제공합니다.
- AWS Pricing Calculator: DynamoDB의 예상 처리량(평균/최대 RCU, WCU, 데이터 용량 등)을 입력하면 월 비용 견적 을 산출해주는 도구입니다. 이 Calculator에서 Provisioned Capacity 모드로 필요한 용량 을 입력하고, “선결제 예약 적용” 옵션 등을 선택하면 예약 용량 구매 시 비용을 시뮬레이션할 수 있습니다. 다양한 시나리오를 바꿔보며 비용 차이 를 비교해볼 수 있습니다.
- AWS Cost Explorer (예약 구매 권장): 2024년부터 AWS Cost Explorer에서는 DynamoDB Reserved Capacity 구매 권장 기능이 추가되었습니다. 이 기능은 지난 사용량 데이터를 분석하여, 몇 RCU/WCU를 1년/3년 예약하면 몇% 비용 절감 가능 하다는 권장안을 제공합니다. 또한 사용자 필요에 따라 추천 조건(기간, 참고 기간 등) 을 조정할 수도 있습니다.
- Trusted Advisor / Compute Optimizer: AWS Trusted Advisor나 Cost Anomaly Detection 등의 서비스도 DynamoDB 비용 최적화 관련 인사이트 를 제공할 수 있습니다.
- C. 계절성 및 성장률 고려: 예약 기간(1년/3년) 동안의 미래 변화 도 감안해야 합니다. 현재 트래픽이 낮더라도 향후 늘어날 것이 확실하다면, 증가를 예상하여 더 큰 용량 을 예약할 수도 있고, 반대로 감소 추세이면 보수적으로 잡아야 합니다. 예를 들어 전년 대비 2배 성장률 인 서비스라면, 1년 후 2배 부하를 처리해야 할 수 있습니다. 이런 경우 예약 용량을 처음부터 2배로 잡기보다는, 일단 현재 수준 으로 약정한 뒤 6~12개월 후 추가 구매 를 검토하는 단계적 접근 이 좋습니다.
- D. 추가적인 공식 리소스 및 방법론: AWS Solutions Architects는 예약 용량 산정에 대해 “데이터 기반의 보수적 접근” 을 강조합니다. 예를 들어 AWS Database Blog에서는 Athena로 CUR 데이터를 쿼리 하여 지난 30일 시간별 평균 사용률을 CSV로 추출하고, 이를 시각화하여 예약 커버리지를 결정 하는 상세 과정을 소개합니다.
요약하면, 최적의 예약 용량 은 현재/과거 사용량 데이터를 기반으로, 미래 예측까지 고려하여, 무리하지 않은 선에서 결정해야 합니다. Baseline 수준을 커버 하면서 유휴 용량 최소화 하는 것이 핵심입니다.
5. 예약 구매 옵션별 특징 (1년 vs 3년, 결제 방식)
DynamoDB 예약 용량 구매 시에는 약정 기간 과 결제 옵션 을 선택해야 합니다. 이 선택에 따라 할인율과 유연성 이 달라집니다. 주요 옵션별 특징은 아래와 같습니다.
- 1년 약정 vs 3년 약정:
- 1년 약정: 모든 AWS 리전에서 제공 되며, 상대적으로 유연성 이 높습니다. 할인율은 최대 ~54% 수준으로, 3년에 비해 낮지만 단기간 트렌드 변화에 대응 하기에 좋습니다. 1년 후 서비스 상황에 따라 재조정(연장 또는 축소)이 가능하므로, 성장 예측이 어렵거나 기술 변화 주기가 빠른 워크로드 에 적합합니다.
- 3년 약정: 일부 주요 리전에서만 제공 되며 (서울 등 대부분 상용 리전은 지원), 최대 ~77% 할인 으로 가장 경제적입니다. 장기간 안정적 사용이 예상될 때 유리하며, 3년간 비용 예측을 낮게 고정 할 수 있는 장점이 있습니다. 다만 기간이 길어 예측 불확실성 이 커지므로, 서비스 수명이나 트래픽 향방을 신중히 고려해야 합니다.
- 추가 고려: AWS는 3년 옵션을 모든 리전에 일괄 제공하지 않고, 점진적으로 확대하고 있습니다. 또한 3년 약정 중간에 서비스가 변경되면 남은 기간 예약 용량을 활용 못하고 버리게 되므로, Lock-in 리스크 도 고려하여야 합니다.
- 결제 옵션: 전액 선결제 vs 부분 선결제 vs 무선결제:
AWS 예약 인스턴스 모델과 마찬가지로, DynamoDB 예약 용량도 세 가지 지불 옵션 을 제공합니다.
- All Upfront (전액 선결제) – 약정 기간 전체 사용료를 미리 일시불 지불. 시간당 추가 청구 없음.
- Partial Upfront (부분 선결제) – 일부 금액을 선지불하고 나머지는 시간당 할인 요금으로 지불.
- No Upfront (무선결제) – 선결제 없이, 전체 약정 용량 비용을 시간당 할인가 로만 지불.
이들 옵션에 따라 실효 할인율 이 조금씩 차이납니다. 일반적으로 전액 선결제 가 가장 높은 할인율 을 제공하며, 무선결제는 할인폭이 가장 낮고 부분 선결제는 중간 정도입니다.
예약 옵션별 특징 요약
| 옵션 | 초기 지출 | 할인율 (표준 대비) | 유연성 | 적합 상황 |
|---|---|---|---|---|
| 1년 약정 | 중간 | 최대 ~54% | 높음 | 성장기/변화기 워크로드, 초기 도입 |
| 3년 약정 | 중간 | 최대 ~77% | 낮음 | 안정적 장기 워크로드, 비용 최적화 최우선 |
| 전액 선결제 | 큼 | 가장 큼 | 동일 | 예산 여유 있고 총 비용 최소화 목표 |
| 부분 선결제 | 보통 | 중간 | 동일 | 일반적인 선택, 비용과 현금흐름 균형 |
| 무(無)선결제 | 없음 | 낮음 | 동일 | 초기 비용 부담이 어려운 경우 |
(참고: 실제 할인율은 AWS 제공 시점 정보에 따르며, 위 수치는 개략적인 예시입니다.)
6. 리전별 요금 및 할인율 차이
AWS 서비스의 요금은 리전(region)마다 상이 하며, DynamoDB도 예외가 아닙니다. DynamoDB 온디맨드 및 프로비저닝 요금 은 각 리전의 비용 구조 에 따라 다르게 책정되어 있습니다.
- 온디맨드 단가 차이 (지역별):
일반적으로 미국 동부 (N. Virginia, us-east-1) 리전이 가장 저렴한 편이며, 한국 (서울, ap-northeast-2) 이나 일본 (도쿄, ap-northeast-1) 등 아시아 태평양 리전은 약간 더 높게 책정됩니다. 예를 들어,
- N. Virginia 리전: 읽기 요청 $0.25/백만, 쓰기 요청 $1.25/백만.
- 서울 리전: 읽기 요청 $0.325/백만, 쓰기 요청 $1.625/백만 (미국 대비 약 30% 증가).
- 예약 용량 할인율 차이: AWS는 예약 용량의 할인 퍼센트(%) 자체는 전 지역 거의 동일 하게 적용합니다. 예컨대 “1년 최대 54%, 3년 최대 77% 할인”이라는 수치는 모든 리전에 적용되는 공통 정책 입니다. 다만 일부 리전은 3년 옵션이 없으므로 1년 할인만 적용 됩니다.
- 사례 비교 표 (미국 동부 vs 서울 리전):
| 리전 | 온디맨드 읽기 | 온디맨드 쓰기 | 프로비저닝 WCU-H | 1년 예약 WCU-H | 3년 예약 WCU-H |
|---|---|---|---|---|---|
| 미국 동부 | $0.25/백만 | $1.25/백만 | $0.00065 | ~$0.00030 | ~$0.00015 |
| 서울 | $0.325/백만 | $1.625/백만 | $0.0007049 | ~$0.000324 | ~$0.000162 |
7. 예약 용량 구매, 갱신, 해지 정책 및 유의사항
- 구매 절차: 예약 용량은 AWS Management Console (DynamoDB 섹션의 “Reserved Capacity” 메뉴) 또는 AWS CLI를 통해 구매 요청을 할 수 있습니다. 구매 시 리전, 용량 종류, 수량 (100 단위), 약정 기간 을 선택하게 됩니다.
- 청구 및 적용 방식: 결제는 일회성 선결제(upfront) 와 할인된 시간당 요금 두 부분으로 이루어집니다. 조직(Organizations)을 사용 중인 경우, 예약 용량은 구매 계정 → 다른 연결 계정과 공유 적용 됩니다.
- 갱신(연장) 정책: DynamoDB 예약 용량은 약정 기간 종료 시 자동 갱신되지 않습니다. 따라서 만료 전에 재구매(연장) 를 해야 지속적인 할인 혜택을 받을 수 있습니다.
- 취소 및 환불: 한 번 구매한 예약 용량은 계약 기간 동안 취소나 환불이 불가능 합니다. 이는 AWS의 RI나 Savings Plan과 동일한 정책입니다.
- 모니터링 및 갱신 알림: 운영 중에는 현재 예약 용량 사용률 을 모니터링하는 것이 중요합니다. AWS Cost Explorer를 통해 예약 용량이 제대로 활용되고 있는지(
Reservation Utilization) 정기적으로 체크해야 합니다.
8. Reserved Capacity가 적합하지 않은 경우 (비효율 사례)
아무리 할인 혜택이 크더라도, 다음과 같은 경우에는 예약 용량 사용이 부적합할 수 있습니다.
- A. 무정형(예측불가) 트래픽 & 낮은 평균 활용도: 트래픽이 들쑥날쑥해서 평균 활용도가 매우 낮은 워크로드 는 예약 용량에 맞지 않습니다. 대부분의 시간 예약 용량이 놀게 되고 유휴비용이 크기 때문 입니다.
- B. 수명 짧은 프로젝트나 일시적 이벤트: 데이터베이스 사용 기간이 1년 미만으로 단기적 인 경우에도 예약 용량은 부적절합니다.
- C. 사용량이 지속 감소하거나 변동성이 큰 경우: 서비스가 점점 트래픽이 줄어드는 추세 이거나, 미래 로드가 불확실하게 크게 변동할 여지가 있는 경우입니다.
- D. 소규모/테스트 환경: 아주 소규모의 테이블이나 개발/테스트용 환경 은 예약 용량까지 필요치 않을 수 있습니다. DynamoDB는 무료 티어 로 월 25 WCU, 25 RCU 상당을 제공하고 있습니다.
- E. 대안 할인제도와의 비교: 만약 고객이 DynamoDB 외에 RDS나 다른 DB 서비스도 함께 쓰고 있다면, Database용 Savings Plans 가 더 나은 대안일 수 있습니다.
9. 실무 베스트 프랙티스 및 AWS 권장사항
- 패턴 파악 후 예약 도입: 새로운 워크로드는 먼저 온디맨드로 시작 해서 패턴을 관측 하고, 안정화 단계에서 예약 용량을 구매 하는 접근이 권장됩니다.
- Auto Scaling과 병행 활용: 프로비저닝 모드를 쓰더라도 Auto Scaling 을 켜 두면, 유휴 비용을 절감하고 스파이크 대응에 유연성을 얻을 수 있습니다. 예약 용량 크기를 Auto Scaling의 최소 용량(Min Capacity) 으로 설정하는 것이 베스트 프랙티스입니다.
- CloudWatch 지표 모니터링:
ConsumedReadCapacityUnits,ConsumedWriteCapacityUnits지표를 지속 모니터링하여 예약 용량 사용 효율 을 추적합니다. - 정기 비용 리뷰 및 조정: 분기별 혹은 반기별로 DynamoDB 비용을 리뷰하여, 예약 용량 전략을 재평가합니다.
- 조직 전체 최적화: Organizations를 사용한다면, 마스터 계정 에서 예약 용량을 구매하여 전체 계정에 공유 하는 것이 효율적입니다.
- Well-Architected 프레임워크 활용: 비용 최적화 원칙에 따라 정확한 용량 산정과 예약 활용으로 단가를 절감하십시오.
결론적으로, AWS DynamoDB Reserved Capacity는 예측 가능한 꾸준한 워크로드 에서 탁월한 비용 절감 수단 이며, 온디맨드 모드와 적절히 병행하여 스케일과 비용의 균형 을 맞추는 것이 중요합니다.
참고 자료: AWS 공식 개발자 가이드, AWS DynamoDB 요금 페이지, AWS Database Blog 사례 등. 자세한 내용은 각 주석의 원문을 참조하시기 바랍니다.