소개
실제 페이지 요청을 CloudWatch Logs로 추적하고 성공과 없는 페이지를 구분합니다.
앞선 포트폴리오 실습을 먼저 완료하세요. 새 환경에는 앞 단계의 기능과 별도 리소스가 준비되어 있습니다. 이전 서버, 파일이나 자격 증명을 보관할 필요가 없습니다.
자격 시험과 연결
| 자격 | 시험 과제 | 실습 내용 |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.8 | 로그로 앱을 관찰합니다. |
실습 개요

성공 요청 기록하기
이 단계에서는 로그는 발생한 사건의 기록입니다. 로그 그룹은 관련 기록을, 스트림은 이 인스턴스의 기록을 묶습니다. 실습 그룹은 처음에 비어 있습니다.
프로젝트로 이동합니다.
cd /home/labex/project
LOG_GROUP을 읽고 표시합니다.
source website.env
echo "$LOG_GROUP"
사이트를 연 뒤 로그를 읽습니다.
aws logs filter-log-events --log-group-name "$LOG_GROUP"
실제 /website status=200을 확인합니다. 200은 해당 요청의 성공입니다. timestamp는 Unix epoch 이후 밀리초, request_id는 해당 요청의 식별자입니다. 값은 환경마다 다릅니다.
없는 페이지 조사하기
이 단계에서는 AWS View의 missing-page 링크를 엽니다. 404는 해당 경로가 없음을 뜻하며 서버 종료를 뜻하지 않습니다.
정확한 status=404 문구로 로그를 필터링합니다. 바깥 작은따옴표는 안쪽 큰따옴표를 보존합니다.
aws logs filter-log-events --log-group-name "$LOG_GROUP" --filter-pattern '"status=404"'
메인 페이지를 다시 연 뒤 전체 로그를 읽습니다.
aws logs filter-log-events --log-group-name "$LOG_GROUP"
/missing status=404와 새로운 /website status=200을 비교합니다. 과거 404는 기록에 남습니다.

실습 로그와 서버 정리하기
이 단계에서는 참조 로그와 저장 자료는 유지합니다.
인스턴스 ID를 표시합니다.
echo "$INSTANCE_ID"
지정 서버만 종료합니다.
aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"
최종 상태를 기다립니다.
aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"
지정 실습 그룹만 삭제합니다.
aws logs delete-log-group --log-group-name "$LOG_GROUP"
실습 그룹은 없어지고 참조 이벤트, 버킷, 역할과 네트워크는 남습니다.
요약
경로, HTTP 상태와 request_id를 연결하고 성공한 페이지를 확인한 뒤 실습 로그만 정리했습니다.



