DynamoDB 테이블이 변경 이벤트를 DynamoDB 스트림에 게시합니다. Lambda 함수는 해당 스트림 이벤트를 처리합니다. 때때로 들어오는 주문의 주문 수량이 0인 경우가 있습니다. 매일 이 문제의 영향을 받는 고유 고객 수를 보여주는 대시보드를 구축해야 합니다. 무엇을 구현해야 할까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: Lambda 실행 역할에 CloudWatch Logs에 로그를 게시할 권한을 부여합니다. 주문 수량이 0인 레코드에 대해 고유 고객 수를 세는 CloudWatch Logs Insights 쿼리를 1일 간격으로 그룹화하여 생성하고 해당 쿼리를 CloudWatch 대시보드에 추가합니다..
이것이 정답인 이유
정답은 CloudWatch Logs와 Logs Insights를 활용하는 것입니다. Lambda 함수는 DynamoDB 스트림 이벤트를 처리할 때 주문 수량이 0인 경우 해당 정보를 CloudWatch Logs에 기록하도록 구성할 수 있습니다. 이후 CloudWatch Logs Insights 쿼리를 사용하여 로그 데이터에서 주문 수량이 0인 고유 고객 수를 일별로 집계하고, 이 쿼리 결과를 CloudWatch 대시보드에 시각화하여 요구사항을 충족할 수 있습니다.
오답인 Amazon Athena는 CloudTrail API 로그를 쿼리하는 데 사용되므로 DynamoDB 스트림 이벤트 처리와는 관련이 없습니다. EventBridge는 이벤트 라우팅에 적합하지만, 복잡한 집계 로직을 직접 처리하기보다는 Lambda와 같은 다른 서비스에 위임하는 것이 일반적입니다. DynamoDB 스트림에 대한 사용자 지정 CloudWatch 지표는 스트림 자체의 메트릭을 측정하지만, 특정 데이터 내용(주문 수량 0)에 따른 고유 고객 수를 집계하는 데는 적합하지 않습니다.