피드로 돌아가기
Dev.toInfrastructure
원문 읽기
CloudWatch 로그 보관 정책 최적화를 통한 비용 78% 절감
How to Control CloudWatch Logs Costs on ECS
AI 요약
Context
ECS 기본 설정으로 인한 CloudWatch Log Group의 'Never Expire' 정책이 스토리지 비용의 무한 증대를 유발함. Ingestion, Storage, Insights 세 가지 과금 체계가 중첩 적용되어 컴퓨팅 비용을 상회하는 비효율적 비용 구조 발생.
Technical Solution
- Terraform의
retention_in_days설정을 통한 환경별(Prod/Staging/Dev) 로그 생명주기 차등 관리로 스토리지 비용 제거 - Application Log Level을 INFO에서 WARN으로 상향 조정하여 Ingestion 및 Storage 데이터 볼륨을 1~2 order of magnitude 수준으로 감축
- 실시간 스트리밍 대신 CloudWatch Logs Insights 쿼리를 활용한 필요한 시점의 데이터 스캔 방식으로 데이터 처리 비용 최적화
- Log Stream별 Byte Volume 분석 쿼리를 통한 고비용 발생 서비스 식별 및 스택 트레이스, 헬스체크 로그 등 불필요한 패턴 제거
- 장기 보관 및 컴플라이언스 대응을 위해 Subscription Filter를 통한 저비용 S3 아카이빙 구조 설계
Impact
- 전체 CloudWatch 비용 $135/mo에서 $30/mo로 78% 절감
retention_in_days설정만으로 스토리지 비용 60~80% 즉시 절감- Log Level 변경을 통한 데이터 인입량의 획기적 감소 달성
실천 포인트
1. 모든 aws_cloudwatch_log_group 리소스에 환경별 적정 retention_in_days 설정 여부 검토
2. 운영 환경의 로그 레벨이 INFO로 설정되어 불필요한 HTTP 요청/DB 쿼리 로그가 생성되는지 확인
3. Insights 쿼리를 사용하여 가장 많은 데이터를 생성하는 상위 10개 Log Stream 식별 및 최적화
4. 장기 보관 로그는 CloudWatch 대신 S3로 내보내는 Subscription Filter 도입 검토