회사는 모바일 애플리케이션이 Application Load Balancer(ALB)에 HTTP API 호출을 수행합니다. ALB는 요청을 AWS Lambda 함수로 라우팅합니다. 여러 버전의 애플리케이션이 사용 중이며, 일부는 사용자 부분집합에 의해 테스트됩니다. 애플리케이션 버전은 API에 대한 모든 요청과 함께 전송되는 user-agent 헤더에 정의됩니다. 최근 API 변경 후 문제가 발생했습니다. 회사는 애플리케이션의 각 버전에 대해 응답 코드별 API 작업에 대한 메트릭을 수집해야 합니다. DevOps 엔지니어는 Lambda 함수를 수정하여 API 작업 이름, user-agent 헤더에서 버전 정보 및 응답 코드를 추출했습니다. DevOps 엔지니어가 필요한 메트릭을 수집하기 위해 수행해야 할 추가 조치는 무엇입니까?
- A. Lambda 함수를 수정하여 API 작업 이름, 응답 코드, 버전 번호를 CloudWatch Logs 로그 그룹의 로그 라인으로 작성합니다. CloudWatch Logs 메트릭 필터를 구성하여 각 API 작업 이름에 대한 메트릭을 증가시킵니다. 응답 코드 및 애플리케이션 버전을 메트릭의 차원으로 지정합니다.✓ 정답
- B. Lambda 함수를 수정하여 API 작업 이름, 응답 코드, 버전 번호를 CloudWatch Logs 로그 그룹의 로그 라인으로 작성합니다. CloudWatch Logs Insights 쿼리를 구성하여 로그 라인에서 CloudWatch 메트릭을 채웁니다. 응답 코드 및 애플리케이션 버전을 메트릭의 차원으로 지정합니다.
- C. ALB 액세스 로그를 CloudWatch Logs 로그 그룹에 작성하도록 구성합니다. Lambda 함수를 수정하여 응답 메타데이터로 ALB에 API 작업 이름, 응답 코드, 버전 번호를 응답합니다. CloudWatch Logs 메트릭 필터를 구성하여 각 API 작업 이름에 대한 메트릭을 증가시킵니다. 응답 코드 및 애플리케이션 버전을 메트릭의 차원으로 지정합니다.
- D. Lambda 함수에서 AWS X-Ray 통합을 구성합니다. Lambda 함수를 수정하여 API 작업 이름, 응답 코드, 버전 번호로 X-Ray 서브세그먼트를 생성합니다. X-Ray Insights를 구성하여 각 API 작업 이름에 대한 집계된 메트릭을 추출하고 CloudWatch에 메트릭을 게시합니다. 응답 코드 및 애플리케이션 버전을 메트릭의 차원으로 지정합니다.
해설
【핵심 용어】 ▸ CloudWatch Logs Metric Filter — 로그 데이터에서 메트릭을 추출하고 수치화하는 메커니즘 ▸ Custom Metrics with Dimensions — 응답 코드, 버전과 같은 다중 속성으로 메트릭을 분류 【정답 포인트】 ▸ Lambda에서 수집한 데이터(API 작업명, 응답 코드, 버전)를 CloudWatch Logs로 기록 → 메트릭 필터로 정규화 및 메트릭 생성 ▸ 차원(Dimensions)을 통해 응답 코드와 버전별로 메트릭 분할 ▸ 간단하고 비용 효율적인 방식으로 커스텀 메트릭 구현 【오답 체크】 (B) CloudWatch Logs Insights는 실시간 쿼리 도구이지 메트릭 자동 생성 기능이 없음 (C) ALB 액세스 로그는 애플리케이션 수준의 세부 정보(API 작업명)를 포함하지 않음 (D) X-Ray는 추가 비용과 복잡도 증가, 메트릭 필터보다 무겁고 비효율적 【시험 포인트】 ▸ CloudWatch Logs Metric Filter는 DOP 시험의 핵심 모니터링 도구 ▸ 커스텀 애플리케이션 메트릭은 CloudWatch Logs 기반이 표준 ▸ Dimensions를 통한 메트릭 분류는 다중 버전 환경에서 필수