회사는 Amazon API Gateway, AWS Lambda 및 Amazon DynamoDB를 사용하는 웹 애플리케이션을 보유하고 있습니다. 최근 마케팅 캠페인으로 수요가 증가했습니다. 모니터링 소프트웨어는 많은 요청의 응답 시간이 마케팅 캠페인 이전보다 훨씬 길어졌음을 보고합니다. 솔루션 아키텍트가 API Gateway에 대한 CloudWatch Logs를 활성화했고 요청의 20%에 오류가 발생하는 것을 발견했습니다. CloudWatch에서 Lambda 함수의 Throttles 메트릭은 요청의 1%를 나타내고, Errors 메트릭은 요청의 10%를 나타냅니다. 애플리케이션 로그는 오류가 발생할 때 DynamoDB에 대한 호출이 있음을 나타냅니다. 웹 애플리케이션이 더욱 인기를 얻으면서 현재 응답 시간을 개선하기 위해 솔루션 아키텍트가 어떤 변경을 해야 합니까?
- A. Lambda 함수의 동시성 제한을 증가시킵니다.
- B. DynamoDB 테이블에 DynamoDB 자동 스케일링을 구현합니다.✓ 정답
- C. API Gateway 스로틀 제한을 증가시킵니다.
- D. DynamoDB 테이블을 더 나은 파티션 기본 인덱스로 다시 생성합니다.
해설
【핵심 용어】 ▸ DynamoDB 자동 스케일링 — RCU/WCU를 트래픽 패턴에 자동으로 조정하는 기능 ▸ Lambda Throttles 1% — Lambda는 문제가 아님 ▸ DynamoDB 연관 Errors 10% — 데이터베이스 용량 부족이 실제 원인 【정답 포인트】 ▸ 메트릭 분석: Throttles(1%) + Errors(10%) + DynamoDB 호출 연관성 → DynamoDB 용량 부족 ▸ 20% 오류 요청 중 애플리케이션 로그가 "DynamoDB 호출 시 발생" 명시 → DynamoDB가 병목 ▸ 자동 스케일링으로 피크 트래픽 자동 대응 → 응답 시간 개선 【오답 체크】 (A) Lambda Throttles는 1%로 매우 낮음 → Lambda는 문제가 아님 (C) API Gateway 스로틀 제한 증가 → 문제 원인 해결 안 됨 (DynamoDB가 병목) (D) 파티션 기본 인덱스 재생성 → 용량 부족 문제 해결 안 되고 운영 오버헤드 높음 【시험 포인트】 "errors are occurring on 20% + DynamoDB call" → DynamoDB 용량 문제 "Lambda Throttles = 1%, Errors = 10%" → Lambda가 아닌 DynamoDB 스케일링 필요 오류 메트릭과 실제 병목의 연관성 파악이 핵심