본문 바로가기

AWS

DynamoDB 비용 최적화

테이블의 레코드가 계속 증가하는 경우, TTL 사용시, TTL값이 적당한지 확인

-> 클라이언트의 동작에 충분한 값인 동시에 필요 이상으로 긴 시간 데이터를 보유할 필요 없음.

 

TTL 사용하고 있지 않은 경우, 해당 옵션 유효화 

-> 수동으로 레코드를 삭제하는 방식으로 DynamoDB를 사용 중 이라면 수동 삭제시 비용이 발생한다는 점 유의.

-> TTL에 의한 삭제시 비용 발생하지 않음.

 

백업 관련

PITR(Point In Time Recovery) 옵션에 대해 

-> 35일간의 데이터를 보유하는 옵션. 해당 기간 중 어느 시점으로든지 복원 가능하게 함.

-> 당연히 비용 발생하는 옵션.

 

PITR 유효/무효화 고려 사항

- 데이터의 성격이 어떠한가? 절대적으로 저장되야하는 것인지 캐시 성격의 데이터인지 판단. 데이터 유실 시 비지니스에 미치는 영향등을 고려해야함. 

- 본 옵션을 사용하면 장애시 복구 시간을 단축시킬 수 있으므로 엄격한 SLA, SLO를 제공하는 서비스라면 PITR 옵션을 사용하여 서비스 안정성을 확보 할 수 있다.  

 

PITR의 대안

-> On Demand 백업을 통해 정기적, 비정기적으로 각 테이블의 데이터를 S3 등에 저장할 수 있다. 

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/backuprestore_HowItWorksAWS.html

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/backuprestore_HowItWorks.html

 

Read/Write Capacity AutoScaling Target 관련

-> Provisioned 방식으로 사용하는 경우 적절한 값을 설정하여 낭비없이 사용.

-> Throttling이 발생하지 않는 선으로 Capacity 유지