Amazon DynamoDB

DynamoDB는 선택한 옵션 기능과 함께 테이블에서 데이터 읽기, 쓰기, 저장에 대해 부과됩니다.

읽기 및 쓰기에 대한 두 가지 요금 옵션(온디맨드 및 프로비저닝)과 스토리지에 대한 두 가지 가격 옵션(Standard 및 Standard - Infrequent Access)을 통해 워크로드에 가장 적합한 요금 옵션을 선택할 수 있습니다. DynamoDB 개발자 안내서에서 다양한 모드 및 스토리지 클래스에 대해 자세히 알아보세요.

  • 온디맨드 용량
  • DynamoDB 온디맨드 모드는 요청당 요금 및 오토 스케일링 기능을 갖춘 서버리스 옵션으로, 용량을 계획, 프로비저닝, 관리할 필요가 없습니다. 사용한 읽기 또는 쓰기 요청당 요금이 청구되므로 비용과 성능의 균형을 맞추기 쉽습니다.

    온디맨드 모드는 다음과 같은 경우를 포함하여 대부분의 시나리오에서 권장됩니다.

    • 신규 또는 기존 워크로드가 있고 용량을 직접 관리하고 싶지 않은 경우
    • 자동으로 규모가 조정되는 서버리스 데이터베이스를 원하는 경우
    • 사용한 만큼에 대해서만 지불하는 요금제를 사용하려는 경우
  • 프로비저닝된 용량
  • 프로비저닝된 용량을 사용하는 경우 애플리케이션에 프로비저닝하려는 초당 읽기 및 쓰기 수를 지정해야 합니다. 애플리케이션에서 사용한 양이 아니라 프로비저닝한 시간당 읽기 및 쓰기 용량을 기준으로 요금이 부과됩니다.

    다음과 같은 경우에는 프로비저닝 용량이 더 적합할 수 있습니다.

    • 처리량 패턴이 안정적이고 예측 가능한 기존 애플리케이션을 보유한 경우
    • 용량 요구 사항을 예측할 수 있는 경우

    예약된 프로비저닝 용량

    DynamoDB 예약된 프로비저닝 용량을 사용하면 정의된 기간 동안 지정된 수준의 읽기 및 쓰기 용량을 약정하여 프로비저닝된 용량 비용을 줄일 수 있습니다. 예약된 프로비저닝 용량은 장기간 사용 약정으로 상당한 비용 절감을 제공할 수 있는, 예측 가능하고 안정적인 처리량 요구 사항이 있는 워크로드에 가장 적합합니다.

온디맨드 및 프로비저닝 용량 모드에 대한 자세한 내용은 “처리량 요금 책정 방식”을 참조하세요.

DynamoDB 옵션 기능

청구 관련 질문은 FAQ를 참조하세요. 도움이 필요하면 AWS 영업 지원에 요청하거나 이 페이지 하단에 있는 AWS에 문의하기 챗봇을 사용하여 “AWS 담당자에게 문의”를 입력하세요.

* 콜드 백업 스토리지는 AWS Backup에 의해 관리되는 온디맨드 백업에 대해서만 지원됩니다. AWS Management Console에서 AWS Backup 사용을 옵트인할 수 있습니다. 
콜드 스토리지로 전환된 백업은 최소 90일간 보관되며, 90일 이전에 삭제된 백업에 대해서는 남은 기간의 스토리지 비용에 해당하는 비례 할당으로 계산된 요금이 부과됩니다.


절감형 옵션

최소 1년 이상 사용하기로 약정하여 비용을 절감할 수 있습니다.

데이터베이스 절감형 플랜 예약된 프로비저닝 용량
비용 절감

온디맨드 처리량에 대해 최대 18%의 비용 절감

프로비저닝된 처리량에 대해 최대 12%의 비용 절감

3년 기간 동안 최대 77%의 비용 절감

1년 기간 동안 최대 54%의 비용 절감

유연성

AWS 데이터베이스 서비스 및 리전 전반에서 약정된 지출을 유연하게 사용

프로비저닝된 용량, 단일 리전 및 Standard 테이블 클래스에서만 사용 가능

약정 기간 1년 1년 또는 3년
추가 정보 데이터베이스 절감형 플랜 이 페이지 상단에서 프로비저닝된 용량 모드 탭을 선택하여 가격을 확인하세요.

DynamoDB 프리 티어

DynamoDB 프리 티어는 항목 크기에 따라 월 약 2억 건의 요청을 처리할 수 있으며 개인용 앱, 프로토타입 또는 학습/인증 요구 사항에 사용할 수 있습니다. 프로비저닝된 용량과 DynamoDB Standard 테이블 클래스를 사용합니다. DynamoDB 프리 티어는 리전별, 지불자 계정별로 매월 다음과 같은 혜택을 제공합니다. 

  • WCU 25개, RCU 25개
  • 2개의 AWS 리전에 배포된 글로벌 테이블에 대한 25개의 rWCU
  • 데이터 스토리지 25GB
  • DynamoDB Streams로부터 250만 건의 스트림 읽기 요청
  • 모든 AWS 서비스 합계 데이터 전송량 1GB(첫 12개월간 15GB)

DynamoDB 프리 티어 외에도 AWS 프리 티어로 최대 200 USD의 크레딧을 받아 최대 6개월 동안 DynamoDB 기능의 전체 세트를 경험할 수 있습니다. DynamoDB 프리 티어에 액세스할 수 있습니다.

참고로 동일한 워크로드에 대해 데이터베이스 절감형 플랜의 할인과 예약된 프로비저닝 용량을 함께 사용할 수 없습니다. 둘 다 있는 경우 예약된 프로비저닝 용량이 먼저 적용되고, 그 후에 남은 프로비저닝 용량에 데이터베이스 절감형 플랜을 적용할 수 있습니다.


DynamoDB 요금 책정 방식

  • DynamoDB는 데이터 스토리지, 읽기 및 쓰기 요금이 다른 두 개의 테이블 클래스를 제공합니다. 두 테이블 클래스 모두 비슷한 성능을 제공하지만 액세스 패턴에 따라 비용을 최적화할 수 있습니다. DynamoDB Standard 테이블 클래스는 기본값이며 대부분의 워크로드에 권장됩니다. DynamoDB Standard-Infrequent Access(Standard-IA) 테이블 클래스는 액세스 빈도가 낮고 스토리지 비용이 가장 많이 드는 데이터에 가장 적합합니다. DynamoDB 테이블 클래스에 대해 자세히 알아보세요.

  • 읽기 요청 유닛: 테이블에서 데이터를 읽는 API 호출은 읽기 요청 유닛 단위로 요금이 청구됩니다. RRU는 4KB 단위로 사용됩니다. DynamoDB 읽기는 최종적으로 일관되거나 강력하게 일관되거나 트랜잭션적일 수 있습니다.
    최종적으로 일관된 읽기에는 4KB당 RRU 0.5개 또는 그 일부가 필요합니다. 
    강력하게 일관된 읽기는 4KB당 RRU 1개 또는 그 일부를 사용합니다.
    트랜잭션 읽기에는 4KB당 RRU 2개 또는 그 일부가 필요합니다.
    예를 들어, 10KB 항목에 대한 최종적으로 일관된 읽기를 위해서는 RRU 1.5개(RRU 0.5개 x 3)가 필요합니다. 동일한 10KB 항목의 경우 강력하게 일관된 읽기를 위해서는 RRU 3개(RRU 1개 x 3)가 필요하고 트랜잭션 읽기에는 RRU 6개(RRU 2개 x 3) 가 필요합니다. 자세한 내용은 읽기 일관성을 참조하세요.

    쓰기 요청 유닛(WRU): 테이블에 데이터를 쓰는 API 호출은 쓰기 요청 유닛 단위로 요금이 청구됩니다. WRU는 1KB 단위로 사용됩니다.
    Standard 쓰기에는 1KB당 WRU 1개 또는 그 일부가 필요합니다.
    트랜잭션 쓰기에는 1KB당 WRU 2개 또는 그 일부가 필요합니다.
    예를 들어 10KB 항목의 쓰기 요청에는 WRU 10개가 필요하고 10KB 항목의 트랜잭션 쓰기 요청에는 WRU 20개가 필요합니다.

  • 읽기 용량 단위(RCU): 테이블에서 데이터를 읽기 위한 API 호출, 즉 '읽기'는 읽기 용량 단위(RCU) 단위로 청구됩니다. RCU는 초당 4KB 단위로 사용됩니다. 읽기는 최종적으로 일관된 읽기, 강력하게 일관된 읽기 또는 트랜잭션 읽기일 수 있습니다.
    최종적으로 일관된 읽기는 4KB당 RCU 0.5개(또는 그 일부)를 사용합니다. 
    강력하게 일관된 읽기는 4KB당 RCU 1개(또는 그 일부)를 사용합니다.
    트랜잭션 읽기는 4KB당 RCU 2개(또는 그 일부)를 사용합니다.
    예를 들어, 10KB 항목에 대한 최종적으로 일관된 읽기를 위해서는 RCU 1.5개(0.5개 x 3)가 필요합니다. 해당 항목의 강력하게 일관된 읽기를 위해서는 RCU 3개(1개 x 3)가 필요합니다. 해당 항목의 트랜잭션 읽기를 위해서는 RCU 6개(2개 x 3)가 필요합니다. 자세한 내용은 읽기 일관성을 참조하세요.

    쓰기 용량 단위(WCU): 테이블에 데이터를 쓰기 위한 API 호출, 즉 '쓰기'에 대한 요금은 쓰기 용량 단위(WCU) 로 청구됩니다. WCU는 초당 1KB 단위로 사용됩니다.
    초당 1KB(또는 그 일부)의 Standard 쓰기는 WCU 1개를 사용합니다.
    초당 1KB (또는 그 일부)의 트랜잭션 쓰기는 WCU 2개를 사용합니다.
    예를 들어 초당 10KB 항목의 Standard 쓰기는 WCU 10개를 사용하는 반면 트랜잭션 쓰기는 WCU 20개를 사용합니다.

  • 데이터 스토리지. 스토리지를 프로비저닝할 필요가 없습니다. DynamoDB에서 지속적으로 테이블의 크기를 모니터링하고 스토리지 요금을 결정합니다. DynamoDB는 데이터의 원시 바이트 크기에 활성화한 기능에 따라 달라지는 항목당 스토리지 오버헤드를 더해 청구 대상 데이터의 크기를 측정합니다. 자세한 내용은 DynamoDB 사용 설명서를 참조하세요. 데이터 스토리지 요금은 테이블 클래스에 따라 다릅니다.

    특정 시점으로 복구(PITR) 백업. PITR이 활성화되면 DynamoDB는 지난 1~35일 동안의 연속 백업을 수행합니다. DynamoDB는 테이블 데이터 및 로컬 보조 인덱스를 포함하여 각 DynamoDB 테이블의 크기를 기준으로 PITR 요금을 청구합니다. 보존 기간을 줄인다고 해서(예: 35일에서 1일로) PITR 비용이 낮아지지는 않습니다. DynamoDB는 PITR이 활성화된 테이블의 크기를 지속적으로 모니터링하여 백업 요금을 결정합니다. 각 테이블에 대해 PITR을 비활성화할 때까지 PITR 사용량에 대한 요금이 청구됩니다. 특정 시점 복구가 활성화된 테이블을 삭제하면 DynamoDB가 시스템 백업이라는 백업 스냅샷을 자동으로 생성하여 최대 35일 동안 보관합니다(추가 비용 없음). 자세한 내용은 DynamoDB의 특정 시점으로 백업을 참조하세요.

    온디맨드 백업. DynamoDB는 테이블(테이블 데이터 및 로컬 보조 인덱스)의 스토리지 크기를 기준으로 온디맨드 백업에 대한 요금을 청구합니다. 각 백업의 크기는 각 백업 요청이 이루어진 시점에 결정됩니다. 매달 청구되는 총 백업 스토리지 크기는 모든 DynamoDB 테이블 백업을 합친 크기입니다. DynamoDB는 온디맨드 백업의 크기를 한 달 내내 지속적으로 모니터링하여 백업 요금을 결정합니다.
    DynamoDB 또는 AWS Backup을 사용하여 온디맨드 백업을 생성하고 관리할 수 있습니다. DynamoDB 온디맨드 백업 기능을 사용하여 장기 보존 및 규정 준수 요구 사항에 맞게 테이블의 전체 백업을 생성할 수 있습니다. AWS Backup을 사용하면 AWS 서비스에서 데이터 보호를 중앙 집중화하고 자동화할 수 있습니다. 또한 AWS Backup은 교차 계정 및 교차 리전 온디맨드 백업 복사, 저비용 스토리지 티어, 백업 태깅, 소스 데이터로부터 독립적인 백업 암호화와 같은 고급 기능을 제공하여 비즈니스 연속성 요구 사항을 충족시키고 백업 비용을 최적화하는 데 도움이 됩니다. 교차 리전 데이터 전송에 대해 추가 요금이 적용됩니다.

    DynamoDB 및 AWS Backup을 사용한 백업에 대한 자세한 요금 정보는 백업에 대한 Amazon DynamoDB 청구 이해AWS Backup 요금을 참조하세요.

  • 글로벌 테이블을 사용하는 경우 애플리케이션에서 각 복제본 테이블에 대해 사용하는 리소스에 대해서만 요금이 청구됩니다. 글로벌 테이블에 대한 쓰기 요청은 온디맨드 용량의 경우 복제된 쓰기 요청 단위(rWRU), 프로비저닝된 용량의 경우 복제된 쓰기 용량 단위(rWCU)로 측정됩니다.

    읽기 요청 및 데이터 스토리지 요금 청구는 단일 리전 테이블과 동일하며, 요금은 테이블 클래스에 따라 달라집니다. 테이블 복제본을 추가하여 새 리전에서 글로벌 테이블을 생성 또는 확장하는 경우 DynamoDB는 추가된 리전에서 저장된 데이터의 GB당 테이블 복원 요금을 청구합니다. 글로벌 테이블 청구에 대한 자세한 내용은 글로벌 테이블의 Amazon DynamoDB 결제 이해를 참조하세요.

  • DynamoDB Streams. DynamoDB는 DynamoDB Streams에서 데이터 읽기 작업에 대한 요금을 읽기 요청 유닛으로 청구합니다. 각 GetRecords API 호출은 스트림 읽기 요청 유닛으로 간주되어 비용이 청구되고 DynamoDB Streams에서 최대 1MB의 데이터를 반환합니다. 스트림 읽기 요청 유닛은 DynamoDB 테이블의 읽기 요청과 다릅니다. AWS Lambda의 DynamoDB 트리거를 통해 간접적으로 호출되는 GetRecords API 직접 호출에 대해서는 요금이 부과되지 않습니다. 단, 함수가 Lambda 관리형 인스턴스에서 실행되는 경우에는 표준 스트림 요금이 적용됩니다. 또한 DynamoDB 글로벌 테이블이 간접적으로 호출한 GetRecords API 직접 호출에 대해서도 요금이 부과되지 않습니다.

    Amazon Kinesis Data Streams(KDS)에 대한 변경 데이터 캡처(CDC). DynamoDB는 Amazon Kinesis Data Streams에 대한 CDC 요금을 CDC 유닛으로 청구합니다. DynamoDB는 각 쓰기에 대해 CDC 유닛 1개를 청구합니다(최대 1KB). 테이블에서 처리량 용량을 관리하지 않고도 애플리케이션에서 수행하는 쓰기에 대해서만 비용을 지불합니다. Kinesis Data Streams 요금은 DynamoDB 변경을 Kinesis 데이터 스트림으로 복제하는 경우에도 계속 적용됩니다. 자세한 내용은 Amazon Kinesis Data Streams 요금을 참조하세요.

    AWS Glue를 사용한 CDC. DynamoDB는 AWS Glue에 대한 CDC 요금을 CDC 유닛으로 청구합니다. DynamoDB는 각 쓰기에 대해 CDC 유닛 1개를 청구합니다(최대 1KB). 테이블에서 처리량 용량을 관리하지 않고도 애플리케이션에서 수행하는 쓰기에 대해서만 비용을 지불합니다. AWS Glue 요금은 DynamoDB 변경을 AWS Glue 대상 데이터베이스에 복제하는 경우에도 계속 적용됩니다. 자세한 내용은 AWS Glue 요금을 참조하세요.

    Amazon Simple Storage Service(S3)로 데이터 내보내기. 이 기능을 사용하여 DynamoDB 테이블의 데이터를 S3로 내보낼 수 있습니다. 지원되는 출력 데이터 형식은 DynamoDB JSON과 Amazon Ion입니다. Amazon Athena, Amazon SageMaker, AWS Lake Formation 등의 AWS 서비스를 사용하여 내보낸 데이터를 분석할 수 있습니다. 전체 내보내기와 증분 내보내기 중에서 선택할 수 있습니다. 전체 내보내기는 내보내기에 포함된 각 DynamoDB 테이블(테이블 데이터 및 로컬 보조 인덱스)의 크기를 기준으로 요금이 부과됩니다. 증분 내보내기는 증분 내보내기 출력을 생성하기 위해 PITR 백업에서 처리된 데이터 크기를 기준으로 요금이 부과됩니다. 내보낸 데이터를 S3에 저장할 때 그리고 S3 버킷에 PUT 요청을 제출할 때 추가 요금이 부과됩니다. 이러한 요금에 관한 자세한 내용은 Amazon S3 요금을 참조하세요.

    S3에서 데이터 가져오기. DynamoDB 데이터 가져오기는 코드를 작성하지 않고도 S3와 DynamoDB 테이블 간에 데이터를 이동할 수 있는 간단하고 효율적인 방법을 제공합니다. AWS 리전과 계정 간에 테이블을 복사하여 데이터를 마이그레이션하고 새 애플리케이션을 구축하고 팀 간의 데이터 공유 및 협업을 촉진하고 재해 복구 및 비즈니스 연속성 계획을 간소화할 수 있습니다. 데이터 가져오기 요금은 S3의 압축되지 않은 파일 크기를 기준으로 합니다. 자세한 내용은 S3에서 가져오기를 참조하세요. 지원되는 입력 데이터 형식은 CSV, DynamoDB JSON 및 Amazon Ion입니다. S3 요금은 소스 데이터 저장 및 S3 버킷에 대한 GET 요청에도 적용됩니다. 이러한 요금에 관한 자세한 내용은 Amazon S3 요금을 참조하세요.

    데이터 송수신. DynamoDB는 인바운드 데이터 전송에 대해 요금을 청구하지 않으며, 동일한 AWS 리전 내에서 DynamoDB와 다른 AWS 서비스 간에 전송되는 데이터에 대해서는 요금이 부과되지 않습니다(즉, GB당 0.00 USD). AWS 리전 전체에서 전송되는 데이터(예: 미국 동부[버지니아 북부] 리전의 DynamoDB와 EU[아일랜드] 리전의 Amazon EC2 간에 전송되는 데이터)의 경우 두 리전에서 전송 요금이 청구됩니다. AWS 프리 티어의 일부로, AWS 고객은 (중국 및 GovCloud 리전을 제외하고) 모든 AWS 서비스 및 리전을 합산해 매달 100GB의 무료 인터넷 데이터 송신 혜택을 받게 됩니다. 자세한 내용은 AWS 프리 티어를 참조하세요. 월별 500TB를 초과하여 데이터를 전송하려면 AWS에 문의해 주세요.

  • 웜 처리량은 DynamoDB 테이블이 즉시 지원할 수 있는 읽기 및 쓰기 작업의 수를 나타냅니다. 웜 처리량 값은 기본적으로 모든 테이블과 보조 인덱스에 무료로 제공됩니다. 이 값은 프로비저닝된 처리량 또는 온디맨드 사용량이 증가하면 추가 비용 없이 자동으로 조정됩니다. 

    사전 워밍 테이블에는 요금이 부과됩니다. 테이블을 사전 워밍하기 위해 기본 웜 처리량 값을 사전에 늘리면 해당 요청에 대해 요금이 부과됩니다. 이러한 요금은 새 값과 테이블 또는 인덱스가 지원할 수 있는 현재 웜 처리량 간의 차이에 따라 부과됩니다. 읽기 웜 처리량이 한 유닛 증가할 때마다 읽기 용량 유닛(RCU) 1개, 쓰기 웜 처리량이 한 유닛 증가할 때마다 쓰기 용량 유닛(WCU) 1개의 지역 요금에 따라 일회성 수수료가 부과됩니다. 이러한 요금은 DynamoDB Standard 및 Standard-Infrequent Access 테이블 클래스 모두에 적용됩니다. 읽기, 쓰기 또는 둘 다에 대해 글로벌 테이블 복제본을 미리 예열하면 모든 복제본이 동일한 웜 처리량 값에 맞게 미리 예열됩니다. 글로벌 테이블 구성에 속한 각 AWS 리전에서 요금이 부과됩니다. 자세한 내용은 DynamoDB 웜 처리량 이해를 참조하세요.

  • 예약된 프로비저닝 용량을 사용하면 DynamoDB 프로비저닝된 처리량 용량의 일반 가격보다 상당한 비용을 절감할 수 있습니다. 프로비저닝된 용량을 예약하면 일반적인 시간당 요금보다 최대 54%(1년 약정) 또는 최대 77%(3년 약정)를 절약할 수 있습니다.

    예약된 프로비저닝 용량을 언제 구매해야 하나요?

    예약된 프로비저닝 용량은 사용량이 꾸준한 워크로드 또는 장기적으로 증가하는 용량 요구 사항을 예측할 수 있는 워크로드의 DynamoDB 비용을 줄일 수 있는 훌륭한 옵션입니다. 프로비저닝된 예약 용량이 요구 사항에 맞는지 더 정확하게 평가하기 위해 프로비저닝된 시간당 요금과 예약 프로비저닝된 용량의 실질 시간당 요금을 비교할 수 있습니다. 실질 시간당 요금을 계산하려면 일회성 요금을 계약 기간으로 나눈 후에 시간당 사용 요금을 더해 보십시오. 예를 들어, 미국 동부(버지니아 북부) 리전의 WCU 100개에 대한 시간당 분할 상환 비용은 WCU 시간당 150.00 USD/365일/24시간 = 0.0171 USD로 계산할 수 있습니다. 

    예약된 프로비저닝 용량 구매 방법

    AWS Management Console을 통해 요청을 제출하여 쓰기 용량 단위(WCU) 및 읽기 용량 단위(RCU)에 대해 총 100만 개의 예약된 프로비저닝 용량 단위를 구매할 수 있습니다. 예약된 프로비저닝 용량은 WCU 100개 또는 RCU 100개 단위로 구매합니다. 복제된 WCU(rWCU)에 대한 예약된 프로비저닝 용량은 구매할 수 없습니다. 예약된 프로비저닝 용량을 구매할 때 AWS 리전, 수량 및 기간을 지정해야 합니다. 

    한 번의 구매로 프로비저닝된 용량 단위를 1,000,000개 이상 구매하거나, 활성 예약된 프로비저닝 용량이 있는데 추가로 예약된 프로비저닝 용량을 구매하여 활성 프로비저닝된 용량 단위가 1,000,000개를 초과할 경우 서비스 한도 증가 양식을 작성하고 사용 사례에 관한 추가 정보를 기입하세요. 단계:

    1. AWS Management Console에 로그인하고 Databases에서 DynamoDB를 선택합니다.
    2. 예약된 프로비저닝 용량을 구매하려는 리전을 선택했는지 확인합니다.
    3. 탐색 창에서 “예약 용량”을 선택하고 “예약 용량 구매”를 선택합니다.
    4. 원하는 오퍼링 유형과 약정 기간을 선택합니다.
    5. 구매할 예약된 프로비저닝 용량의 수량을 조정합니다.
    6. 예약 용량 구매를 선택하고, 구매 정보를 확인한 후 확인합니다.

    구매 전에 알아 두어야 할 사항

    할인된 가격 책정 메커니즘. 예약된 프로비저닝 용량을 구매하는 것은 요금을 할인받는 조건으로 계약 기간 동안 최소 프로비저닝된 처리량 용량에 대한 요금을 지불할 것에 동의하는 것입니다. 구매한 예약된 프로비저닝 용량보다 적게 사용하는 경우에도 약정한 최소 프로비저닝된 처리량 용량에 대한 요금을 매월 지불해야 합니다.
    적용 가능성. 예약된 프로비저닝 용량은 글로벌 및 로컬 보조 인덱스를 포함한 로컬 보조 DynamoDB 테이블에서 단일 리전, 프로비저닝된 읽기 및 쓰기 용량 단위(RCU 및 WCU)에 대해 사용할 수 있습니다. 복제된 WCU(rWCU) 또는 DynamoDB Standard-Infrequent Access(DynamoDB Standard-IA) 테이블 클래스에 대한 예약된 프로비저닝 용량을 구매할 수 없습니다.
    100 읽기/쓰기 용량 단위 단위로 구매 가능 예약된 프로비저닝 용량은 WCU 100개 또는 RCU 100개 단위로 구매합니다. 예약된 프로비저닝 용량 최소 구매 단위는 읽기 또는 쓰기 용량 100유닛입니다. 예약된 프로비저닝 용량을 초과하여 프로비저닝하는 처리량에는 프로비저닝된 처리량에 대한 표준 요금이 청구됩니다. 예를 들어 예약된 WCU를 100개 구매했는데 실제 사용량이 WCU 100개 이하인 경우, WCU 100개에 대한 예약 용량 요금이 청구됩니다.
    부분 선결제. 부분 선결제 옵션은 가장 효과적인 시간당 요금을 제공하며, 선결제 금액과 시간당 예약된 프로비저닝 용량 결제 간의 균형을 유지합니다. 1년 또는 3년 약정 기간 동안 예약된 프로비저닝 용량에 대해 부분 선결제를 할 수 있습니다.
    제한 사항. 리전, 수량, 약정 기간은 구매 당시 선택해야 하며, 이후에는 변경할 수 없습니다. 예약된 프로비저닝 용량은 다른 리전이나 계정으로 이전하거나 판매 또는 취소할 수 없으며, 일회성 요금은 환불되지 않습니다. 1년 예약된 프로비저닝 용량은 모든 리전에서 사용할 수 있으며, 3년 예약 용량은 제한된 리전에서 사용할 수 있습니다.
    청구. 사용자에게는 (1) 일회성 선불 요금, (2) 구매한 DynamoDB 예약된 프로비저닝 용량을 기준으로 한 기간 동안 각 시간마다 시간당 요금이 청구됩니다. 예약된 프로비저닝 용량은 할인된 시간당 요금으로 청구됩니다. 비용을 최소화하기 위해 청구서를 작성하면서 용량 사용량을 활성 예약 용량과 먼저 비교합니다. 매시간, 사용된 용량이 구매한 총 예약된 프로비저닝 용량보다 작거나 같으면 모든 용량에 예약 용량 요금이 부과됩니다. 또한 DynamoDB 예약된 프로비저닝 용량에는 AWS 이용계약 또는 서비스 사용에 관한 당사와의 기타 계약에 따라 적용되는 모든 스토리지, 데이터 전송 및 기타 요금이 적용됩니다.
    예약된 프로비저닝 용량이 먼저 청구됩니다. 예약된 프로비저닝 용량은 DynamoDB 사용 방식을 변경할 필요가 없습니다. 청구액을 계산할 때에는 AWS 결제 시스템이 자동으로 예약된 프로비저닝 용량 요금을 먼저 적용하기 때문에 비용이 최소화됩니다. 예약된 프로비저닝 용량은 이를 구매한 계정에 먼저 적용된 후, 미사용 용량이 있는 경우 다른 연결된 계정에 적용됩니다. 통합 결제에 여러 개의 계정이 연결된 경우, 지급인 계정 수준 또는 연결된 계정 수준에서 구매한 예약된 프로비저닝 용량 유닛은 지급인 계정에 연결된 모든 계정에서 공유됩니다.
    모니터링. AWS Management Console에서 예약된 프로비저닝 용량 소유권을 모니터링할 수 있습니다.


DynamoDB 요금 예제

  • 이 예시는 온디맨드 용량 사용 시 DynamoDB 요금이 어떻게 청구되는지 보여줍니다.

    미국 동부(버지니아 북부) 리전에 새 DynamoDB Standard 테이블을 생성한다고 가정합니다. 이 테이블은 새 애플리케이션에 대한 것이므로 트래픽 패턴이 무엇인지 알 수 없습니다. 간단한 설명을 위해 사용자가 애플리케이션과 상호 작용할 때마다 1KB의 쓰기 1회와 1KB의 강력한 일관된 읽기를 수행한다고 가정합니다.

    10일 동안 애플리케이션에서 수신한 트래픽이 거의 없어 매일 테이블에 10,000회의 읽기와 10,000회의 쓰기가 이루어집니다. 하지만 11일째에 애플리케이션이 소셜 미디어의 관심을 얻으면서 애플리케이션 트래픽이 250만 회의 읽기와 250만 회의 쓰기로 폭증합니다. DynamoDB는 사용자에게 원활한 경험을 제공하도록 크기를 조정합니다. 이후 애플리케이션은 더욱 규칙적인 트래픽 패턴을 보이면서 월말까지 매일 평균 50,000회의 읽기와 50,000회의 쓰기가 이루어집니다. 다음 표는 월별 총 사용량을 요약합니다.

    기간(일)

    쓰기 합계

    읽기 합계

    1~10

    쓰기 10만 회(쓰기 10,000회 x 10일)

    읽기 10만 회(읽기 10,000회 x 10일)

    11

    쓰기 250만 회

    읽기 250만 회

    12~30

    쓰기 95만 회(쓰기 50,000회 x 19일)

    읽기 95만 회(읽기 50,000회 x 19일)

    월 합계

    쓰기 355만 회

    읽기 355만 회

    월별 청구 금액

    2.22 USD(쓰기 100만 회당 0.6250 USD x 쓰기 355만 회)

    0.44 USD(읽기 100만 회당 0.125 USD x 읽기 355만 회)

    데이터 스토리지: 월초에 테이블이 25GB의 스토리지를 사용하고, 월말에 29GB로 증가하며, DynamoDB의 지속적인 모니터링을 기준으로 평균 27GB를 사용한 것으로 가정합니다. 테이블 클래스가 DynamoDB Standard로 설정되었으므로 첫 25GB의 스토리지는 AWS 프리 티어에 포함됩니다. 나머지 2GB의 스토리지에는 GB당 0.25 USD의 요금이 청구되고 테이블 스토리지 요금은 월 0.50 USD입니다.

    해당 월에 대해 청구되는 요금은 3.16 USD로, 읽기 및 쓰기 요금 2.66 USD와 데이터 스토리지 요금 0.50 USD의 합계입니다.

  • 이 예시는 온디맨드 용량 사용 시 DynamoDB 요금이 어떻게 청구되는지 보여줍니다.

    미국 동부(버지니아 북부) 리전에 새 DynamoDB Standard 테이블을 생성한다고 가정합니다. 이 테이블은 새 애플리케이션에 대한 것이므로 트래픽 패턴이 무엇인지 알 수 없습니다. 간단한 설명을 위해 사용자가 애플리케이션과 상호 작용할 때마다 1KB의 쓰기 1회와 1KB의 강력한 일관된 읽기를 수행한다고 가정합니다.

    7일 동안 애플리케이션에서 수신한 트래픽이 거의 없어 매일 테이블에 1,000회의 읽기와 쓰기가 이루어집니다. 하지만 8일째에 애플리케이션이 업계의 유명한 인플루언서의 관심을 받으면서 애플리케이션 트래픽이 예상과 다르게 하루 1,000만 회의 쓰기 및 읽기로 폭증합니다. 이후 애플리케이션은 더욱 규칙적인 패턴을 보이면서 향후 2주 동안 매일 평균 15만 회의 쓰기와 읽기가 이루어집니다. 그리고 트래픽이 급격하게 줄어들면서 다음 7일 동안 하루 10,000회의 쓰기 및 읽기가 이루어집니다.

    마지막으로 예기치 않게 애플리케이션이 소셜 미디어에서 입소문을 타기 시작합니다. 월 마지막 날에는 애플리케이션이 테이블에 3,000만 회의 쓰기 및 읽기를 수행합니다. 다음 표는 월별 총 사용량을 요약합니다.

    기간(일)

    쓰기 합계

    읽기 합계

    1~7

    쓰기 7,000회(쓰기 1,000회 x 7일)

    읽기 7,000회(읽기 1,000회 x 7일)

    8

    쓰기 1,000만 회

    읽기 1,000만 회

    9~22

    쓰기 210만 회(쓰기 15만 회 x 14일)

    읽기 210만 회(읽기 15만 회 x 14일)

    23~29

    쓰기 70,000회(쓰기 10,000회 x 7일)

    읽기 70,000회(읽기 10,000회 x 7일)

    30

    쓰기 3,000만 회

    읽기 3,000만 회

    월 합계

    쓰기 4,217만 7,000회

    읽기 4,217만 7,000회

    월별 청구 금액 26.36 USD(쓰기 100만 회당 0.6250 x 쓰기 4,217만 7,000회) 5.27 USD(읽기 100만 회당 0.125 USD x 읽기 4,217만 7,000회)

    데이터 스토리지: 월초에 테이블이 25GB의 스토리지를 사용하고, 월말에 29GB로 증가하며, 테이블 크기의 지속적인 모니터링을 기준으로 평균 27GB를 사용한 것으로 가정합니다. 테이블 클래스가 DynamoDB Standard로 설정되었으므로 첫 25GB의 스토리지는 AWS 프리 티어에 포함됩니다. 나머지 2GB의 스토리지에는 GB당 0.25 USD의 요금이 청구되고 테이블 스토리지 요금은 월 0.50 USD입니다.

    백업 및 복원: 모든 온디맨드 백업 스토리지의 합이 월 30일 동안 60GB인 경우 백업의 월별 요금은 6.00 USD/월(0.10 USD x 60GB)입니다. 하지만 월별 주기가 시작되고 10일 후에 15GB의 온디맨드 백업 데이터를 삭제한 경우, (0.10 USD x 60GB) – (0.10 USD x 15GB x 20/30) = 5.00 USD/월이 청구됩니다. 이제 온디맨드 백업 수행 외에도 PITR 백업을 사용한다고 가정합니다. 테이블의 평균 크기는 27GB로, 월별 요금은 5.40 USD/월(0.20 USD x 27GB)입니다. 월말에 테이블을 복원해야 하는 경우 요금은 4.35 USD(0.15 USD x 29GB)입니다.

    Kinesis Data Streams에 대한 CDC: 이제 Amazon Kinesis 서비스를 사용하여 데이터를 처리하기 위해 Kinesis 데이터 스트림으로 스트리밍을 활성화한다고 가정합니다. DynamoDB는 Kinesis 데이터 스트림으로 캡처하는 각 1KB 쓰기에 대해 CDC 유닛 1개를 청구합니다. 이 예의 초반에 애플리케이션 쓰기 트래픽이 Kinesis 데이터 스트림에서 일관되다고 가정했으므로 한 달 동안 CDC 유닛은 42,177,000개입니다. 이때 월별 비용은 (0.10 USD x 42,177,000/1,000,000) = 4.22 USD입니다.

    Amazon S3로 데이터 내보내기: 분석을 위해 테이블 백업을 Amazon S3로 내보내려고 한다고 가정해 보겠습니다. 지정한 시점의 테이블 크기가 29GB라면 내보내기 비용은 2.90 USD(0.10 USD x 29GB)가 됩니다.

    DynamoDB Accelerator(DAX)와의 통합: DAX는 DynamoDB 호환 캐싱 서비스입니다. 애플리케이션의 응답 시간을 가속화하고 DynamoDB Accelerator(DAX)를 사용해야 한다고 가정해 보겠습니다. 사용 가능한 하드웨어 사양을 검토하고 t2.small 인스턴스 유형의 3노드 클러스터가 요구에 적합하다고 판단합니다. 26일째에 DAX를 활성화합니다. DynamoDB는 시간당 0.12 USD의 요금을 청구하고(0.04 USD x 3개 노드), 월 마지막 5일간 합계는 14.40 USD(0.12 USD x 120시간)입니다. 참고로 DynamoDB 테이블에서 필요한 읽기 수가 적기 때문에 DAX 비용이 부분적으로 상쇄됩니다. 예를 들어 캐시 적중률이 85%인 경우 테이블 읽기가 85% 줄어듭니다.

    글로벌 테이블: 이제 미국 서부(오리건) 리전에서 재해 복구 복제본 테이블을 생성하도록 선택한다고 가정합니다. 테이블 크기가 25GB인 복제본을 미국 서부(오리건) 리전에 추가한다고 가정합니다. 그러면 테이블 복원 비용으로 3.75 USD(0.15 USD x 25GB) 요금이 발생합니다. 이 예제 초반의 애플리케이션 트래픽이 글로벌 테이블에 대해 일관적이라고 가정합니다. 글로벌 테이블 관리 모범 사례 및 요구 사항에서 설명하는 것과 같이 8,435만 개의 복제된 쓰기 요청 유닛(쓰기 4,217만 7,000회 x 2개 리전)을 사용하면 52.72 USD(복제된 쓰기 요청 유닛 8,435만 개 x 백만 개당 0.6250 USD)의 요금이 청구됩니다. 또한 미국 서부(오레곤) 리전의 복제된 테이블에 27GB의 추가 데이터도 저장합니다. DynamoDB Standard 테이블 클래스를 사용한 테이블에 대해 각 AWS 리전의 첫 25GB의 스토리지는 AWS 프리 티어에 포함됩니다. 남은 2GB의 스토리지에는 GB당 0.25 USD의 요금이 청구되고 테이블 스토리지 요금은 월 0.50 USD입니다.

    DynamoDB Streams: DynamoDB Streams를 활성화하고 스트림 데이터에 대해 초당 1회의 읽기 요청을 수행하는 애플리케이션을 빌드합니다. 한 달 동안 259만 2,000회의 스트림 요청 읽기가 있었는데, 이 가운데 처음 250만 회의 읽기 요청은 AWS 프리 티어에 포함됩니다. 스트림 읽기 요청 유닛 요금은 100,000개당 0.02 USD입니다. 나머지 92,000개의 읽기 요청에 대해서만 비용을 지불하므로 해당 월에 2센트(0.0184 USD) 미만을 지불하게 됩니다.

    정리하면 단일 리전 DynamoDB 테이블의 총 월별 요금은 다음과 같습니다.
    쓰기 트래픽: 26.36 USD
    읽기 트래픽: 5.27 USD
    데이터 스토리지: 0.50 USD
    온디맨드 백업: 5.00 USD
    지속적(PITR) 백업: 5.40 USD
    테이블 복원: 4.35 USD
    Kinesis Data Streams에 대한 CDC: 4.22 USD
    Amazon S3로 데이터 내보내기: 2.90 USD
    DynamoDB Accelerator(DAX), DynamoDB 호환 캐싱 서비스와의 통합: 14.40 USD
    DynamoDB 스트림: 0.02 USD
    요금 합계: 68.42 USD

    미국 서부(오리건) 리전을 추가한 후 총 월별 DynamoDB 요금은 다음과 같습니다.
    읽기 트래픽: 5.27 USD
    미국 동부(버지니아 북부)의 데이터 스토리지: 0.50 USD
    온디맨드 백업: 5.00 USD
    지속적(PITR) 백업: 5.40 USD
    미국 동부(버지니아 북부)의 테이블 복원: 4.35 USD
    Kinesis Data Streams에 대한 CDC: 4.22 USD
    Amazon S3로 데이터 내보내기: 2.90 USD
    DynamoDB Accelerator(DAX), DynamoDB 호환 캐싱 서비스와의 통합: 14.40 USD
    DynamoDB 스트림: 0.02 USD
    미국 서부(오레곤)의 글로벌 테이블 복원: 3.75 USD
    글로벌 테이블 복제된 쓰기 요청: 52.72 USD
    미국 서부(오리건)의 글로벌 테이블 데이터 스토리지: 0.50 USD
    요금 합계: 99.03 USD

  • 이 예제에서는 사용자의 테이블 스토리지 및 데이터 액세스 패턴에 가장 적합한 DynamoDB 테이블 클래스를 선택하여 테이블의 월별 비용을 줄이는 방법을 살펴봅니다.

    미국 동부(버지니아 북부) 리전에 보유한 테이블이 있다고 가정하겠습니다. 해당 테이블에는 이미 1TB의 과거 데이터가 있습니다. 자주 액세스하는 데이터는 아니지만, 필요할 때는 즉시 사용할 수 있어야 합니다. 이제 데이터 스토리지가 월말까지 1.4TB로 증가하고 테이블 크기의 지속적인 모니터링을 기준으로 평균 1.2TB를 사용한다고 가정하겠습니다. 사용자의 테이블에서는 한달 동안 총 4,250만 회의 쓰기 및 4,250만 회의 읽기를 수행하는 트래픽 패턴이 있습니다. 간단한 설명을 위해 사용자가 애플리케이션과 상호 작용할 때마다 1KB의 쓰기 1회와 1KB의 강력한 일관된 읽기를 수행한다고 가정합니다.
    먼저 DynamoDB Standard 테이블 클래스를 사용하여 테이블의 월별 요금을 추정해 보겠습니다.

    DynamoDB Standard 테이블 클래스를 사용 시 월별 비용
    테이블 클래스를 DynamoDB Standard로 설정하면 다음과 같이 청구됩니다.
    데이터 스토리지: DynamoDB Standard 테이블 클래스를 사용하므로 첫 25GB의 스토리지는 AWS 프리 티어에 포함됩니다. 나머지 1.175TB의 스토리지에는 GB당 0.25 USD의 요금이 청구되고 당월의 테이블 스토리지 요금은 293.75 USD입니다.
    읽기 및 쓰기: 다음과 같이 청구됩니다.
    쓰기 4,250만 회 x 쓰기 100만 회당 0.625 USD = 쓰기 요청에 대해 26.56 USD,
    읽기 4,250만 회 x 읽기 100만 회당 0.125 USD = 읽기 요청에 대해 5.31 USD.
    DynamoDB Standard 테이블 클래스를 사용할 경우 월별 총비용을 요약하면 다음과 같습니다.
    쓰기 트래픽: 26.56 USD
    읽기 트래픽: 5.31 USD
    데이터 스토리지: 293.75 USD
    DynamoDB Standard 테이블 클래스 사용에 대한 월별 비용은 325.62 USD입니다.

    DynamoDB Standard-IA 테이블 클래스 사용에 대한 월별 비용
    위의 시나리오(표준 테이블 클래스 사용)에서 데이터 스토리지 비용은 총 월별 비용에서 상당한 부분(50% 이상)을 차지합니다. DynamoDB Standard-IA 테이블 클래스로 전환하여 비용을 최적화하고 싶다고 가정해 보겠습니다. 요금은 다음과 같이 청구됩니다.
    데이터 스토리지: 1.2TB의 스토리지에는 GB당 0.10 USD의 요금이 청구되고 테이블 스토리지 요금은 월 120.00 USD입니다.
    읽기 및 쓰기: 다음과 같이 청구됩니다.
    쓰기 4,250만 회 x 쓰기 100만 회당 0.780 USD = 쓰기 요청에 대해 33.15 USD,
    읽기 4,250만 회 x 읽기 100만 회당 0.155 USD = 읽기 요청에 대해 6.59 USD.
    DynamoDB Standard-IA 테이블 클래스를 사용할 경우의 월별 비용을 요약하면 다음과 같습니다.
    쓰기 트래픽: 33.15 USD
    읽기 트래픽: 6.59 USD
    데이터 스토리지: 120.00 USD
    DynamoDB Standard-IA 테이블 클래스 사용에 대한 총 요금: 159.74 USD.
    DynamoDB Standard-IA 테이블을 사용하면 테이블의 총 월별 요금이 50.9% 또는 165.88 USD 절감됩니다.

  • 이 예시는 프로비저닝된 용량을 사용하여 오토 스케일링이 활성화된 테이블에 대해 요금이 어떻게 계산되는지 보여줍니다. 오토 스케일링은 실제 사용률을 목표 사용률과 비슷하게 유지하기 위해 실제 사용된 용량에 맞춰 지속적으로 프로비저닝된 용량을 설정합니다.

    미국 동부(버지니아 북부) 리전에서 목표 사용률을 기본값인 70%로 설정하고, 최소 용량 유닛을 RCU 100개와 WCU 100개로 설정하고, 최대 용량을 기본 한도인 RCU 400개와 WCU 400개로 설정하여 새로운 DynamoDB Standard 테이블을 생성한다고 가정하겠습니다(DynamoDB 제한 값 참조). 간단한 설명을 위해 사용자가 애플리케이션과 상호 작용할 때마다 1KB의 쓰기 1회와 1KB의 강력한 일관된 읽기를 수행한다고 가정하겠습니다.

    처음 10일 동안 사용한 RCU 및 WCU가 1~70개 사이라고 가정합니다. Auto Scaling은 어떤 조정 활동도 트리거하지 않으며, 해당 시간에 대해 0.078 USD(프로비저닝된 WCU 100개에 대해 0.065 USD(0.00065 USD * 100) 및 RCU 100개에 대해 0.013 USD(0.00013 USD * 100))가 청구됩니다.

    이제 11일째에 사용한 용량이 100개의 RCU와 100개의 WCU로 증가한다고 가정합니다. Auto Scaling은 확장 활동 트리거를 시작하여 프로비저닝된 용량을 143개의 WCU 및 143개의 RCU(100개 사용 ÷ 143개 프로비저닝 = 69.9%)로 늘립니다. 시간당 요금은 0.11109 USD(143개 WCU에 대해 0.0925 USD, 143개 RCU에 대해 0.01859 USD)입니다.

    21일째에 사용한 용량이 80개의 RCU와 80개의 WCU로 감소한다고 가정합니다. Auto Scaling은 축소 활동 트리거를 시작하여 프로비저닝된 용량을 114개의 WCU 및 114개의 RCU(80개 사용 ÷ 114개 프로비저닝 = 70.2%)로 줄입니다. 시간당 요금은 0.08952 USD(114개 WCU에 대해 0.0741 USD, 114개 RCU에 대해 0.01482 USD)입니다.

    한 달에 대해 다음과 같이 66.86 USD가 청구됩니다.

    1~10일: 18.72 USD(시간당 0.078 USD x 24시간 x 10일)

    11~20일: 26.66 USD(시간당 0.11109 USD x 24시간 x 10일)

    21~30일: 21.48 USD(시간당 0.08952 USD x 24시간 x 10일)

    AWS 프리 티어에는 DynamoDB Standard 테이블 클래스를 사용한 테이블에 대해 WCU 25개 및 RCU 25개가 포함되며, 월별 청구서에서 14.04 USD가 절감됩니다.

    25개 WCU x 시간당 0.00065 USD x 24시간 x 30일 = 11.70 USD

    25개 RCU x 시간당 0.00013 USD x 24시간 x 30일 = 2.34 USD

    데이터 스토리지: 월초에 테이블이 25GB의 스토리지를 사용하고 월말에 29GB로 증가하며, 테이블 크기를 지속적으로 모니터링한 결과, 평균 27GB를 사용한다고 가정하겠습니다. 테이블 클래스가 DynamoDB Standard로 설정되었으므로 첫 25GB의 스토리지는 AWS 프리 티어에 포함됩니다. 나머지 2GB의 스토리지에는 GB당 0.25 USD의 요금이 청구되고 테이블 스토리지 요금은 월 0.50 USD입니다.

    해당 월에 대해 청구되는 요금 합계는 53.32 USD로, 읽기 및 쓰기 용량 요금 52.82 USD와 데이터 스토리지 요금 0.50 USD의 합계입니다.

  • 이 예시는 프로비저닝된 용량 모드를 사용하여 오토 스케일링이 활성화된 테이블에 대해 요금이 어떻게 계산되는지 보여줍니다. Auto Scaling은 실제 사용률을 목표 사용률과 비슷하게 유지하기 위해 실제 사용된 용량에 맞춰 지속적으로 프로비저닝된 용량을 설정합니다.

    미국 동부(버지니아 북부) 리전에서 목표 사용률은 기본값인 70%로 설정하고 최소 용량 유닛은 RCU 100개와 WCU 100개로 설정하고 최대 용량은 기본 한도인 RCU 400개와 WCU 400개로 설정하여 새로운 테이블을 생성한다고 가정하겠습니다(DynamoDB 제한 값 참조). Auto Scaling은 프로비저닝된 용량이 최소 용량보다 적어지지 않고 최대 용량보다 커지지 않도록 설정된 한도 내에서 운영하게 됩니다. 테이블이 생성되면 Auto Scaling은 최소 용량 유닛 프로비저닝을 시작합니다. 간단한 설명을 위해 사용자가 애플리케이션과 상호 작용할 때마다 1KB의 쓰기 1회와 1KB의 강력한 일관된 읽기를 수행한다고 가정합니다.

    표가 생성되고 첫 한 시간 이내에 사용된 RCU 및 WCU가 1에서 70개 사이로 변동된다고 가정해 보겠습니다. 이에 따라 실제 사용률은 목표 사용률인 70% 내에서 1%(1개 사용 ÷ 100개 프로비저닝)와 70%(70개 사용 ÷ 100개 프로비저닝) 사이로 변동됩니다. Auto Scaling은 어떤 조정 활동도 트리거하지 않으며, 해당 시간에 대해 0.078 USD(프로비저닝된 WCU 100개에 대해 0.065 USD(0.00065 USD * 100) 및 RCU 100개에 대해 0.013 USD(0.00013 USD * 100))가 청구됩니다.

    두 번째 한 시간 동안 RCU 100개와 WCU 100개로 증가하여 실제 사용률이 목표 사용률인 70%를 훨씬 초과하여 100%(100개 사용 ÷ 100개 프로비저닝)로 증가했다고 가정해 보겠습니다. Auto Scaling은 확장 활동 트리거를 시작하여 프로비저닝된 용량을 늘려 실제 사용량을 목표인 70%에 근접하도록 합니다. 그 결과는 143개 WCU와 143개 RCU의 프로비저닝된 용량(100개 사용 ÷ 143개 프로비저닝 = 69.9%)입니다. 두 번째 한 시간에 대해 0.1154 USD(143개 WCU에 대해 0.09295 USD 및 143개 RCU에 대해 0.01859 USD)가 청구됩니다.

    두 번째 한 시간 동안 RCU 80개와 WCU 80개로 감소하여 실제 사용률이 목표 사용률인 70% 미만인 56%(80개 사용 ÷ 143개 프로비저닝)로 증가했다고 가정해 보겠습니다. Auto Scaling은 실제 사용률을 70%에 가깝게 맞추기 위해 프로비저닝된 용량을 줄이는 축소 활동을 트리거하기 시작하므로, 프로비저닝된 용량이 RCU 114개와 WCU 114개(80개 사용 ÷ 114개 프로비저닝 = 70.2%)가 됩니다. 두 번째 한 시간에 대해 0.08892 USD(114개 WCU에 대해 0.0741 USD 및 114개 RCU에 대해 0.01482 USD)가 청구됩니다.

    간단한 설명을 위해 사용한 용량이 80개의 RCU와 80개의 WCU로 일관되게 유지된다고 가정합니다. 테이블에는 또한 114개의 WCU와 114개의 RCU가 프로비저닝되어 있고, 일일 요금은 다음과 같이 2.1341 USD입니다.

    114개 RCU x 시간당 0.00065 USD x 24시간 = 1.7784 USD

    114개 RCU x 시간당 0.00013 USD x 24시간 = 0.3557 USD

    월별 요금은 다음과 같이 64.04 USD입니다.

    1일 합계: 일별 2.14578 USD

    시간 1: 시간당 0.078 USD

    시간 2: 시간당 0.1154 USD

    시간 3~24: 시간당 0.08892 USD

    2~30일: 일별 2.1341 USD

    AWS 프리 티어에는 DynamoDB Standard 테이블 클래스를 사용한 테이블에 대해 WCU 25개 및 RCU 25개가 포함되며, 월별 청구서에서 14.04 USD가 절감됩니다.

    25개 WCU x 시간당 0.00065 USD x 24시간 x 30일 = 11.70 USD

    25개 RCU x 시간당 0.00013 USD x 24시간 x 30일 = 2.34 USD

    데이터 스토리지: 월초에 테이블이 25GB의 스토리지를 사용하고 월말에 29GB로 증가하며, 테이블 크기를 지속적으로 모니터링한 결과, 평균 27GB를 사용한다고 가정하겠습니다. 테이블 클래스가 DynamoDB Standard로 설정되었으므로 첫 25GB의 스토리지는 AWS 프리 티어에 포함됩니다. 나머지 2GB의 스토리지에는 GB당 0.25 USD의 요금이 청구되고 테이블 스토리지 요금은 월 0.50 USD입니다.

    백업 및 복원: 모든 온디맨드 백업 스토리지의 합이 월 30일 동안 60GB인 경우 백업의 월별 요금은 6.00 USD/월(0.10 USD x 60GB)입니다. 하지만 월별 주기가 시작되고 10일 후에 15GB의 온디맨드 백업 데이터를 삭제한 경우, (0.10 USD x 60GB) – (0.10 USD x 15GB x 20/30) = 5.00 USD/월이 청구됩니다.

    이제 온디맨드 백업 수행 외에도 PITR 백업을 사용한다고 가정합니다. 테이블의 크기는 29GB로, 월별 요금은 5.80 USD/월(0.20 USD x 29GB)입니다.

    한 달에 한 번 29GB 테이블을 복원해야 하는 경우 복원 비용은 4.35 USD(0.15 USD x 29GB)입니다.

    Kinesis Data Streams에 대한 CDC: 이제 Amazon Kinesis 서비스를 사용하여 데이터를 처리하기 위해 Kinesis 데이터 스트림으로 스트리밍을 활성화한다고 가정합니다. 또한, 쓰기 처리량은 이전 예제와 일관된다고 가정합니다. 애플리케이션은 초당 1KB의 쓰기를 80번 수행합니다. DynamoDB는 Kinesis 데이터 스트림으로 캡처하는 각 1KB 쓰기에 대해 CDC 유닛 1개를 청구합니다. 한 달 동안 CDC 유닛은 (80 x 3,600 x 24 x 30) = 207,360,000개가 생성됩니다. 이때 월별 비용은 (0.10 USD x 207,360,000/1,000,000) = 20.74 USD입니다.

    Amazon S3로 데이터 내보내기: 분석을 위해 테이블 백업을 Amazon S3로 내보내려고 한다고 가정해 보겠습니다. 지정한 시점의 테이블 크기가 29GB라면 내보내기 비용은 2.90 USD(0.10 USD x 29GB)가 됩니다.

    DynamoDB Accelerator(DAX)와의 통합: DAX는 DynamoDB 호환 캐싱 서비스입니다. 애플리케이션의 응답 시간을 가속화하고 DynamoDB Accelerator(DAX) 서비스를 사용해야 한다는 결정을 내렸습니다. 사용 가능한 하드웨어 사양을 검토하고 t2.small 인스턴스 유형의 3노드 클러스터가 요구에 적합하다고 판단합니다. 26일째에 DAX를 활성화합니다. DynamoDB는 시간당 0.12 USD의 요금을 청구하고(0.04 USD x 3개 노드), 월 마지막 5일간 합계는 14.40 USD(0.12 USD x 120시간)입니다.

    글로벌 테이블: 이제 미국 서부(오리건) 리전에서 재해 복구 복제본 테이블을 생성한다고 가정합니다. 테이블 크기가 25GB인 복제본을 미국 서부(오리건) 리전에 추가한다고 가정합니다. 그러면 테이블 복원 비용으로 3.75 USD(0.15 USD x 25GB) 요금이 발생합니다. 용량 요구 사항도 이전 예제와 일관된다고 가정합니다. Auto Scaling은 애플리케이션의 처리량 요구 사항을 위해 114개의 WCU 및 114개의 RCU을 계속 프로비저닝하지만, 이제 두 복제본 테이블 모두에 쓸 수 있도록 rWCU를 프로비저닝해야 합니다. 프로비저닝된 rWCU는 두 리전의 애플리케이션 쓰기에 필요한 총 rWCU 수와 같습니다. 이 시나리오에서는 미국 동부(버지니아 북부) 리전 및 미국 서부(오레곤) 리전에 초당 80회의 쓰기를 수행하므로, 최소 프로비저닝된 용량은 160개의 rWCU(버지니아 북부에서 rWCU 80개 + 오레곤에서 rWCU 80개 = 160개 rWCU)입니다. Auto Scaling은 229개 rWCU(160개 rWCU/70%)를 프로비저닝하여 프로비저닝된 용량의 70% 수준으로 실제 사용률을 유지합니다. 자세한 내용은 글로벌 테이블 관리 모범 사례 및 요구 사항을 참조하세요. 각 리전에서 매시간 프로비저닝된 처음 25개의 프로비저닝된 rWCU는 DynamoDB 표준 테이블 클래스를 사용하는 테이블에 대한 AWS 프리 티어에 포함되며, 시간당 0.11635 USD 또는 한 달 30일당 83.77 USD의 요금이 부과됩니다. 또한 미국 서부(오레곤) 리전의 복제된 테이블에 27GB의 추가 데이터도 저장합니다. DynamoDB Standard 테이블 클래스를 사용한 테이블에 대해 각 AWS 리전의 첫 25GB의 스토리지는 AWS 프리 티어에 포함됩니다. 남은 2GB의 스토리지에는 GB당 0.25 USD의 요금이 청구되고 테이블 스토리지 요금은 월 0.50 USD입니다.

    DynamoDB Streams: DynamoDB Streams를 활성화하고 스트림 데이터에 대해 초당 1회의 읽기 요청을 수행하는 애플리케이션을 빌드합니다. 한 달 동안 259만 2,000회의 스트림 요청 읽기가 있었는데, 이 가운데 처음 250만 회의 읽기 요청은 AWS 프리 티어에 포함됩니다. 남은 92,000회의 읽기 요청에 대해서만 요금을 지불하고, 이때 10만 개의 읽기 요청 유닛당 0.02 USD 요금이 적용됩니다.

    정리하면 단일 리전 DynamoDB 테이블의 총 월별 요금은 다음과 같습니다.

    • 프로비저닝된 용량: 50.00 USD
    • 데이터 스토리지: 0.50 USD
    • 온디맨드 백업: 5.00 USD
    • 지속적(PITR) 백업: 5.80 USD
    • 테이블 복원: 4.35 USD
    • Kinesis Data Streams에 대한 CDC: 20.74 USD
    • Amazon S3로 데이터 내보내기: 2.90 USD
    • DynamoDB Accelerator(DAX), DynamoDB 호환 캐싱 서비스와의 통합: 14.40 USD
    • DynamoDB 스트림: 0.02 USD

    총 요금: 103.71 USD

    미국 서부(오레곤) 리전을 추가한 후 총 월별 DynamoDB 요금은 다음과 같습니다.

    • 프로비저닝된 읽기 용량: 10.68 USD
    • 데이터 스토리지(버지니아 북부): 0.50 USD
    • 온디맨드 백업: 5.00 USD
    • 지속적(PITR) 백업: 5.80 USD
    • 테이블 복원(버지니아 북부): 4.35 USD
    • Kinesis Data Streams에 대한 CDC: 20.74 USD
    • Amazon S3로 데이터 내보내기: 2.90 USD
    • DynamoDB Accelerator(DAX), DynamoDB 호환 캐싱 서비스와의 통합: 14.40 USD
    • DynamoDB 스트림: 0.02 USD
    • 글로벌 테이블 복원(오레곤): 3.75 USD
    • 글로벌 테이블 복제된 쓰기 용량: 83.77 USD
    • 글로벌 테이블 데이터 스토리지(오리건): 0.50 USD

    요금 합계: 152.41 USD

  • DynamoDB Standard 테이블 클래스를 사용하는데 비용에서 많은 부분을 스토리지가 차지하는 경우(프로비저닝된 용량 비용의 50% 이상) DynamoDB Standard-IA 테이블 클래스로 전환하여 비용을 최적화할 수 있습니다. 이 예제에서는 사용자의 테이블 스토리지 및 데이터 액세스 패턴에 가장 적합한 DynamoDB 테이블 클래스를 선택하여 테이블의 월별 비용을 줄이는 방법을 살펴봅니다.

    미국 동부(버지니아 북부) 리전에 보유한 테이블이 있다고 가정하겠습니다. 해당 테이블에는 이미 1TB의 과거 데이터가 있습니다. 자주 액세스하는 데이터는 아니지만, 필요할 때는 즉시 사용할 수 있어야 합니다. 이제 데이터 스토리지가 월말까지 1.4TB로 증가하고 테이블 크기를 지속적으로 모니터링한 결과, 평균 1.2TB를 사용한다고 가정하겠습니다. 테이블에 예측 가능한 트래픽 패턴이 있습니다. 사용률이 월 내에 프로비저닝된 용량의 70%를 초과하지 않는다는 것을 알고 있으므로, 160개의 WCU와 160개의 RCU로 프로비저닝합니다.

    먼저 DynamoDB Standard 테이블 클래스를 사용하여 테이블의 월별 요금을 추정해 보겠습니다.

    DynamoDB Standard 테이블 클래스를 사용 시 월별 비용

    테이블 클래스를 DynamoDB Standard로 설정하면 다음과 같이 청구됩니다.

    데이터 스토리지: DynamoDB Standard 테이블 클래스를 사용하므로 첫 25GB의 스토리지는 AWS 프리 티어에 포함됩니다. 나머지 1.175TB의 스토리지에는 GB당 0.25 USD의 요금이 청구되고 당월의 테이블 스토리지 요금은 293.75 USD입니다.

    프로비저닝된 용량: AWS 프리 티어에는 DynamoDB Standard 테이블 클래스를 사용한 테이블에 대해 WCU 25개 및 RCU 25개가 포함됩니다. 비용은 다음과 같이 부과됩니다.

    프로비저닝된 쓰기 용량에 대해 WCU 135개 x 시간당 0.00065 USD x 24시간 x 30일 = 63.18 USD,

    프로비저닝된 읽기 용량에 대해 RCU 135개 x 시간당 0.00013 USD x 24시간 x 30일 = 12.63 USD.

    DynamoDB Standard 테이블 클래스를 사용할 경우 월별 총비용을 요약하면 다음과 같습니다.

    • 프로비저닝된 용량: 75.82 USD
    • 데이터 스토리지: 293.75 USD

    DynamoDB Standard 테이블 클래스 사용에 대한 월별 비용은 369.57 USD입니다.

    DynamoDB Standard-IA 테이블 클래스 사용에 대한 월별 비용

    앞에서 설명한 것처럼 DynamoDB Standard 테이블 클래스를 사용할 경우 스토리지 비용은 프로비저닝된 용량 비용의 50%보다 큽니다. 동일한 워크로드 조건에서, 이제 다음 달 초에 테이블 클래스를 DynamoDB Standard-IA로 전환한다고 가정해 보겠습니다. 비용은 다음과 같이 청구됩니다.

    데이터 스토리지: 1.2TB의 스토리지에는 GB당 0.10 USD의 요금이 청구되고 테이블 스토리지 요금은 월 120.00 USD입니다.

    프로비저닝된 용량: 다음과 같이 요금이 부과됩니다.

    프로비저닝된 쓰기 용량에 대해 160개 WCU x 시간당 0.00081 USD x 24시간 x 10일 = 92.16 USD,
    프로비저닝된 읽기 용량에 대해 160개 RCU x 시간당 0.00016 USD x 24시간 x 10일 = 18.43 USD.

    DynamoDB Standard-IA 테이블 클래스를 사용할 경우의 월별 비용을 요약하면 다음과 같습니다.

    • 프로비저닝된 용량: 110.59 USD
    • 데이터 스토리지: 120.00 USD

    DynamoDB Standard-IA 테이블 클래스를 사용할 경우 월별 비용은 230.59 USD입니다. 테이블을 DynamoDB Standard-IA로 전환하면 테이블의 월별 비용이 37.6%, 138.97 USD 절감됩니다.

  • 현재 웜 처리량이 초당 12,000개의 읽기 유닛과 초당 4,000개의 쓰기 유닛인 미국 동부(버지니아 북부) 리전의 DynamoDB 표준 테이블이 있다고 가정합니다. 다가오는 피크 이벤트의 경우 테이블에 초당 100,000개의 읽기 단위가 필요할 것으로 예상되므로 이를 새로운 읽기 웜 처리량 값으로 설정합니다. 추가 읽기 유닛 88,000개(100,000개와 12,000개의 차액)에 대해서는 USD 11.44(88,000개 유닛 × RCU당 USD 0.00013)의 일회성 수수료가 부과됩니다.

    이 과금 구조는 읽기 또는 쓰기를 위해 테이블 또는 인덱스를 예열하든 DynamoDB Standard 또는 Standard-Infrequent Access 테이블 클래스에서 적용합니다. 이 테이블이 미국 동부(버지니아 북부)를 포함한 3개 리전에 복제본이 있는 글로벌 테이블 설정의 일부인 경우, 3개의 복제본 모두 초당 100,000개의 읽기 단위의 웜 처리량을 지원하기 위해 미리 예열됩니다. 미국 동부(버지니아 북부)의 요금 외에도 글로벌 테이블 구성의 일부인 각 리전의 해당 요금이 청구됩니다.



DynamoDB 요금 추정

처리량 및 선택적 기능을 기준으로 월별 비용을 추정하세요.
DynamoDB 요금 계산기

오늘 원하는 내용을 찾으셨나요?

페이지의 콘텐츠 품질을 개선할 수 있도록 피드백을 보내주세요.