DynamoDB는 오토 스케일링을 할 수 있나요?
예. DynamoDB 오토 스케일링은 Application Auto Scaling을 사용해, 여러분이 정한 최소/최대 범위 안에서 프로비저닝된 읽기 및 쓰기 용량을 목표 사용률(20~90% 사이에서 설정 가능하며 보통 70%)에 맞춰 조정합니다. 또는 온디맨드 용량 모드가 설정 없이 트래픽에 맞춰 즉시 확장합니다. 두 방식 모두 수동 용량 계획 없이 변하는 부하에 테이블이 반응하도록 유지합니다.
프로비저닝된 오토 스케일링
테이블마다(그리고 글로벌 보조 인덱스마다) 다음을 정하는 스케일링 정책을 만듭니다:
- 목표 사용률(프로비저닝된 용량 중 목표로 삼을 비율),
- 최소 및 최대 용량 단위,
- 읽기, 쓰기, 또는 둘 다 확장할지 여부.
소비량이 목표를 넘나들면 CloudWatch 경보가 Application Auto Scaling을 작동시켜 용량을 올리거나 내립니다.
온디맨드 모드
온디맨드 용량은 계획을 아예 없앱니다. DynamoDB가 알아서 처리량을 트래픽에 맞추고 — 직전 트래픽 정점의 두 배까지는 즉시 수용합니다 — 요청당 과금합니다. 트래픽이 들쭉날쭉하거나 예측하기 어려울 때 잘 맞습니다.
무엇을 고를까
트래픽이 안정적이고 잘 파악되어 있을 때는 오토 스케일링을 얹은 프로비저닝이 대개 더 저렴하고, 알 수 없거나 들쭉날쭉한 트래픽에는 온디맨드가 더 단순하고 낫습니다.
목표 사용률이 값을 못 하게 되는 지점
목표 사용률은 가격 다이얼이며, 그 아래로는 오토 스케일링이 온디맨드에 완전히 지고 마는 바닥이 있습니다.
us-east-1에서 쓰기 용량 단위 하나는 시간당 $0.00065이므로, 한 달 동안 하나를 예약하면 $0.4745가 들고 2,628,000회의 쓰기를 살 수 있습니다. 쓰기당 $0.00000018인 셈이며 온디맨드의 $0.000000625와 견주면, 예약한 단위를 남김없이 쓸 때 프로비저닝된 용량이 3.46배 저렴합니다. 이를 뒤집으면 손익분기점이 나옵니다. 프로비저닝은 평균 사용률 28.9% 아래에서는 값을 못 합니다. 읽기도 똑같이 28.9%로 떨어지므로, 이것은 특정 요율의 산물이 아니라 요금 모델의 성질입니다.
1 KB 항목을 초당 1,000회 지속적으로 쓰는 경우를 요금 계산기로 계산하면:
| 용량 설정 | 프로비저닝 | 월 비용 |
|---|---|---|
| 90% 목표 | 1,112 WCU | $527.64 |
| 70% 목표 | 1,429 WCU | $678.06 |
| 50% 목표 | 2,000 WCU | $949.00 |
| 20% 목표 | 5,000 WCU | $2,372.50 |
| 온디맨드 | 없음 | $1,642.50 |
교훈은 마지막 두 행에 있습니다. AWS가 허용하는 가장 낮은 값인 20% 목표는 트래픽의 다섯 배를 예약하고, 똑같은 작업에 대해 요청당 지불보다 44% 더 비쌉니다. 위의 모든 행은 오토 스케일링이 용량을 목표에 정확히 고정한다고 가정하므로 최선의 경우로 받아들이세요. 실제 트래픽은 오르내리고 알고리즘은 뒤늦게 따라가므로, 실현되는 사용률은 여러분이 설정한 값 아래로 끌려 내려갑니다.
그 다이얼이 사는 것
확장과 축소는 의도적으로 비대칭이며, 그 비대칭이 바로 여유분이 사 주는 것입니다. AWS는 소비된 용량이 목표를 2분 연속 넘겼을 때 확장이, 15개의 연속 데이터 포인트가 목표 아래일 때 축소가 발동한다고 문서화합니다. 뒤따르는 UpdateTable 호출에는 몇 분이 더 걸리며, 그동안 이전 상한을 넘는 요청은 스로틀링됩니다.
감소도 배급됩니다. UTC 하루를 네 번으로 시작해 시간마다 하나씩 벌고, 손에 넉 장을 넘게 쥘 수 없으므로 테이블당 하루 27번이 상한입니다. 글로벌 보조 인덱스는 자기 몫을 따로 받습니다.
그래서 높은 목표는 실제로 돈을 아끼면서 그 몇 분을 감당할 완충을 소진합니다. 온디맨드는 요청당 더 비싸지만 그 맞바꿈 자체를 없앱니다.
더 알아보기
온디맨드 vs 프로비저닝 용량에서 둘을 비교하고 요금 계산기로 비용을 추정하세요. DynoTable을 다운로드하면 Table stats에서 테이블 크기와 항목 추정치를 읽을 수 있습니다.
참고 자료
- Managing throughput capacity automatically with DynamoDB auto scaling — Amazon DynamoDB Developer Guide
- DynamoDB on-demand capacity mode — Amazon DynamoDB Developer Guide
- DynamoDB provisioned capacity mode — Amazon DynamoDB Developer Guide
- Quotas in Amazon DynamoDB — Amazon DynamoDB Developer Guide — 감소 허용량, 2026-07-28 재확인.
위에 링크된 공식 AWS 문서를 기준으로 2026-07-13에 마지막으로 검증했습니다.
손익분기점은 2026-07-28에, AWS Price List API에서 동기화한 us-east-1 요율을 사용해 저희 요금 계산기로 계산했습니다. 스케일링 지연과 감소 허용량은 같은 날 위에 링크된 AWS 문서에서 다시 읽었습니다.