BLOG

Amazon DynamoDB 온디맨드 – 용량 계획이 없고 요청별 지불 가격
작성일: 2018년 12월 10일

Voiced by Amazon Polly

(원문에서 다운로드받으세요)

 

불과 몇 년 전만 해도 모든 규모의 비즈니스를 지원하는 동시에 일관된 짧은 대기 시간을 제공할 수 있는 데이터베이스를 구축하는 것은 어려운 작업이었습니다. 이는 제가 2012년 Werner Vogels가 Amazon DynamoDB를 발표하는 글을 읽으면서 바뀌었습니다.(이는 제가 AWS에 합류하기 몇 달 전이었습니다.) DynamoDB는 아마존이 2007년에 출판한 최초의 Dynamo 논문의 원칙을 바탕으로 만들어졌습니다. 수년간 AWS 고객이 데이터베이스를 사용하는 방법을 더욱 단순화하기 위해 많은 새로운 기능이 도입되었습니다. 이제 유휴 암호화, 시점 복구, 메모리 내 캐싱 및 99.99% 가동 시간 서비스 수준 계약(SLA)과 같은 기능을 갖춘 완전한 관리형 다중 리전의 멀티 마스터의 데이터베이스 테이블을 만들 수 있습니다.

 

Amazon DynamoDB 온디맨드

오늘 저희는 용량 계획 없이 초당 수천 건의 요청을 처리할 수 있는 DynamoDB를 위한 유연한 새로운 청구 옵션인 Amazon DynamoDB 온디맨드를 소개할 것입니다. DynamoDB 온디맨드 방식으로는 읽기 및 쓰기 요청에 대한 간단한 요청별 결제 방식을 제공하므로, 사용한 항목에 대해서만 비용을 지불함으로써 비용과 성능의 균형을 쉽게 조정할 수 있습니다. 온디맨드 모드를 사용하는 테이블의 경우, DynamoDB는 이전에 관찰된 트래픽 레벨까지 상승 또는 하강할 때 고객의 워크로드를 즉시 수용합니다. 트래픽 레벨이 새로운 피크에 도달하면 DynamoDB는 워크로드를 수용하기 위해 신속하게 적응합니다.

 

DynamoDB 콘솔에서 새 테이블을 생성할 때 온디맨드 읽기/쓰기 용량 모드를 선택하거나 나중에 용량 탭에서 변경할 수 있습니다.

온디맨드 모드를 사용하는 테이블은 이 모드에는 적용되지 않는 오토 스케일링을 제외하고 모든 DynamoDB 기능(예: 유휴 시 암호화, 지정 시점 복구, 글로벌 테이블 등)을 지원합니다.

 

온디맨드 모드를 사용하여 테이블에 생성된 인덱스는 동일한 확장성과 청구 모델을 물려받습니다. 인덱스에 대한 처리량 용량 설정을 지정할 필요가 없으며, 이 설정을 사용하여 비용을 지불하십시오. 온디맨드 모드와 인덱스를 사용하여 테이블에 대한 읽기/쓰기 트래픽이 없는 경우 데이터 저장소 비용만 지불하십시오.

 

DynamoDB 온디맨드 방식은 애플리케이션 트래픽을 예측 및 제어하기 어렵고, 작업 부하가 짧은 기간의 큰 스파이크를 가지고 있거나, 평균 테이블 활용률이 피크보다 훨씬 낮은 경우에 유용합니다. 예를 들어 :

 

  • 새로운 애플리케이션 또는 데이터베이스 워크로드 예측이 복잡한 애플리케이션
  • 서버리스 스택에서 사용량에 따른 요금 지불 방식으로 작업하는 개발자
  • 가입자당 테이블 배포의 단순성과 리소스 분리를 원하는 SaaS 제공자 및 ISV(독립 소프트웨어 벤더)

 

테이블을 프로비저닝 용량에서 온디맨드 방식으로 하루에 한 번 변경할 수 있습니다. 온디맨드 용량에서 원하는 만큼 자주 프로비저닝할 수 있습니다.

 

빠른 성능 테스트

온디맨드 모드를 사용하여 새로 생성된 DynamoDB 테이블에서 몇 가지 부하를 테스트해 봅시다!

 

서버리스 두 가지 애플리케이션을 만들었는데,

  • 첫 번째 애플리케이션은 AWS Lambda 기능과 Amazon API Gateway를 사용하여 DynamoDB 테이블 위에 REST API를 생성합니다. 이 API를 사용하면, get, post, put, delete와 같은 HTTP 방법을 사용하여 테이블에 있는 항목을 읽고, 추가하고, 업데이트하고, 삭제할 수 있습니다.
  • 두 번째 애플리케이션은 임의의 HTTP 방법과 항목에 대한 랜덤 데이터를 사용하여 API 엔드포인트에 부하를 발생시키기 위해 1,000 Lambda 함수를 병렬로 시작합니다.

 

각 부하 생성 기능은 100개의 동시 요청을 실행하며, 모든 요청이 종료되면 1분동안 다른 100개의 요청이 시작됩니다. 가동 시간은 없습니다. 부하 발생은 즉시 최대 속도로 시작됩니다.

 

DynamoDB 콘솔의 이 테이블에 대한 메트릭 탭에서 볼 수 있듯이, 저는 초당 거의 5,000건의 요청에 매우 빠르게 도달했고 어떠한 제한도 없었습니다.

 

API Gateway에서 Lambda 함수 및 DynamoDB 테이블로 서버리스 스택의 확장이 완전히 관리되었습니다. 저는 올바른 처리량을 계획할 필요가 없었고, 저는 제가 만들고 있는 애플리케이션 논리에 집중할 수 있었습니다.

DynamoDB 온디맨드 방식으로 여러분이 사용하는 것에 대해서만 지불합니다. 예를 들어, 미국 동부(북 버지니아) 지역에서는 100만개의 쓰기 요청 단위당 1.25달러, 100만개의 읽기 요청 단위당 0.25달러, 그리고 일반적인 데이터 저장 비용이 부과됩니다.

 

AWS CLI(AWS Command Line Interface)AWS SDK 및 AWS CloudFormation을 사용하여 온디맨드 모드를 사용하여 테이블을 생성하거나 기존 테이블의 읽기/쓰기 용량 모드를 변경할 수 있습니다.

 

지금 이용 가능합니다

DynamoDB는 모든 상업 지역에서 전세계적으로 이용 가능합니다.

 

DynamoDB 개발자 안내서에서 읽기/쓰기 용량 모드에 대해 자세히 알아보십시오.

 

저는 개발자들, ISV들, 그리고 SaaS 제공자들의 새로운 가능성에 대해 매우 들떠있고, 저는 여러분이 요청당 지불 청구서를 가지고 무엇을 만들었는지 보기를 기대합니다.

 

원문 URL : https://aws.amazon.com/ko/blogs/aws/amazon-dynamodb-on-demand-no-capacity-planning-and-pay-per-request-pricing/

** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.