한 회사에서 지속적으로 증가하는 Amazon DynamoDB 테이블에 읽기/쓰기를 수행하는 많은 Amazon EC2 인스턴스에서 애플리케이션을 실행하고 있습니다. 이 애플리케이션은 지난 30일 동안의 데이터만 필요합니다. 이 회사는 가장 낮은 비용과 최소한의 개발 노력을 원합니다. 어떤 솔루션이 이러한 요구 사항을 충족할까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: 애플리케이션을 확장하여 테이블에 생성되는 각 새 항목에 현재 타임스탬프에 30일을 더한 값을 가진 속성을 추가합니다. DynamoDB가 해당 속성을 TTL 속성으로 사용하도록 구성합니다..
이것이 정답인 이유
정답은 DynamoDB의 TTL(Time to Live) 기능을 활용하는 것입니다. 이 솔루션은 각 항목에 현재 타임스탬프에 30일을 더한 값을 가진 속성을 추가하고, DynamoDB가 이 속성을 TTL 속성으로 사용하도록 구성합니다. DynamoDB는 이 속성 값에 도달하면 항목을 자동으로 삭제하므로, 30일이 지난 데이터가 효율적으로 제거됩니다. 이는 개발 노력이 가장 적게 들고 비용 효율적인 방법입니다.
오답:
CloudFormation 템플릿을 사용하여 스택을 재배포하고 삭제하는 것은 복잡하고 불필요한 개발 노력이 필요하며, 데이터 손실 위험이 있습니다.
AWS Marketplace의 모니터링 애플리케이션과 EC2 인스턴스에서 스크립트를 실행하는 것은 추가적인 인프라 비용과 관리 오버헤드를 발생시키고, 실시간 삭제가 어렵습니다.
DynamoDB Streams와 Lambda 함수를 사용하는 것은 가능하지만, TTL 기능에 비해 더 많은 개발 및 관리 노력이 필요하며, Lambda 호출 비용이 발생할 수 있습니다.