brunch

CloudWatch 비용 구조 완전 이해하기

by 멘토사피엔스

AWS CloudWatch는 단순한 로그 수집 도구가 아닙니다. 로그와 지표(Metrics)를 확인할 수 있고, 알람, 대시보드를 활용해서 관리할 수 있습니다. 실시간 분석까지 가능한 완전관리형 모니터링 플랫폼입니다. 하지만 그 기능만큼이나 과금 체계도 복잡하게 구성되어 있어, 비용 최적화를 위해서는 어떤 기능이 어떤 방식으로 요금이 부과되는지 명확히 이해하는 것이 필수입니다.


CloudWatch는 크게 Logs, Metrics, Dashboards, Alarms, Insights로 구성됩니다. 각 기능마다 별도 과금되며, 잘못 관리하면 비용이 빠르게 증가할 수 있습니다. 이 글에서는 CloudWatch의 주요 구성 요소별로 실제 요금이 어떻게 계산되는지를 항목별로 구분해 설명합니다.


CloudWatch는 어떤 서비스인가요?


CloudWatch는 AWS 인프라 및 애플리케이션에서 발생하는 데이터를 수집하고 시각화하며, 알림을 설정하거나 자동화된 대응을 할 수 있도록 지원하는 서비스입니다. 주요 구성요소는 다음과 같습니다.


Logs


CloudWatch Logs는 애플리케이션 및 AWS 리소스에서 발생하는 텍스트 기반 로그 데이터를 수집, 저장, 조회할 수 있도록 도와주는 기능입니다.


애플리케이션의 실행 정보, 시스템 동작 이력, 네트워크 흐름 등 다양한 로그 데이터를 수집하여 운영 중 발생하는 이슈를 신속하게 분석하고 대응할 수 있도록 도와줍니다. 예를 들어 Lambda 함수의 오류 메시지나 EC2 서버에서 발생한 예외 로그를 실시간으로 확인하고, 이를 통해 장애의 원인을 추적하거나 보안 이벤트를 감시하는 데 활용됩니다. 또한 VPC Flow Logs와 같이 네트워크 단위의 흐름까지도 중앙화하여 보안 감사를 수행할 수 있는 수단이 됩니다.


예시

Lambda의 실행 로그 (console.log)

ECS/EKS 컨테이너 로그

VPC Flow Logs (네트워크 흐름 기록)

EC2에 설치된 CloudWatch Agent를 통한 OS 수준 로그 (예: /var/log/messages)


Metrics


CloudWatch Metrics는 AWS 리소스나 사용자 정의(Custom) 지표를 시간 단위로 수집·저장하는 기능입니다. 이 지표는 차트로 시각화하거나 알람의 조건으로도 활용됩니다. CPU 사용률, 메모리 사용량, 디스크 IO, 네트워크 트래픽 등의 지표를 통해 자원의 과부하 여부나 성능 저하 현상을 빠르게 감지하고, 필요 시 자동 확장 또는 알림을 설정할 수 있습니다. 사용자 정의 지표를 통해 애플리케이션 고유의 성능 상태(예: 사용자 수, 큐 대기 수 등)를 모니터링할 수도 있습니다.


예시

EC2: CPUUtilization, NetworkIn/Out, DiskReadBytes

RDS: DBConnections, FreeableMemory

ELB: RequestCount, TargetResponseTime

S3: BucketSizeBytes, NumberOfObjects


Dashboards


CloudWatch Dashboards는 수집된 지표와 로그를 기반으로 사용자 정의 모니터링 대시보드를 구성하는 기능입니다. CloudWatch Dashboards는 여러 리소스의 상태를 하나의 화면에 통합하여 시각적으로 구성할 수 있어, 운영 현황을 한눈에 파악하고 빠르게 판단할 수 있도록 돕습니다. 서비스 전체 상태를 실시간으로 감시하거나, 경영진을 위한 KPI 보드처럼 전략적인 의사결정 도구로도 활용할 수 있습니다. 특히 여러 계정, 여러 리전의 지표를 하나로 묶어 보여줄 수 있기 때문에 복잡한 환경에서도 효과적인 모니터링이 가능합니다.


예시

서비스 헬스보드: EC2 CPU, RDS 커넥션, ELB 지연 시간 등을 한눈에 보기

실시간 운영 화면: Lambda 에러율, API 호출 수, 트래픽 지표


Alarms


CloudWatch Alarms는 특정 지표가 미리 정해진 임계값을 초과하거나 미달할 때 자동으로 알림을 전송하거나 조치를 취할 수 있도록 하는 기능입니다. 예를 들어, EC2의 CPU 사용률이 90%를 초과하면 이메일을 발송하거나, Auto Scaling을 통해 인스턴스를 추가하는 등의 조치를 자동으로 수행할 수 있습니다. 이를 통해 인프라 이상 상황을 빠르게 감지하고, 인적 대응 없이도 시스템 안정성을 확보할 수 있습니다.


예시

CPU 사용률 80% 초과 시 이메일 알림

RDS 커넥션 수가 일정 기준 미달 시 Auto Scaling 중단

Lambda 에러율 급증 시 Slack 알림


Events / Insights


CloudWatch Events는 리소스 상태 변화나 특정 시스템 이벤트를 실시간으로 감지하고, 이를 기반으로 Lambda 실행, SNS 알림 발송 등 자동화된 조치를 취할 수 있도록 합니다. 예를 들어 EC2 인스턴스가 시작되면 자동으로 태그를 부여하거나, 권한 변경 이벤트 발생 시 감사 로그를 남기는 식의 자동화를 구현할 수 있습니다.


CloudWatch Logs Insights는 대량의 로그 데이터를 SQL 유사 쿼리로 분석할 수 있는 고급 기능으로, 오류 패턴 분석, 이상 트래픽 탐지, 사용자 행동 분석 등에 매우 유용합니다. 특히 실시간 분석과 빠른 필터링을 통해 문제를 신속하게 파악하고 대응할 수 있도록 지원합니다.


CloudWatch 요금 구조: 기능별 정리


클라우드와치 비용에 대한 자세한 내용은 아래 링크에서 참조할 수 있습니다.


클라우드와치 비용 보러가기


CloudWatch Logs – 로그 수집 및 저장 비용


CloudWatch Logs는 수집한 로그 데이터를 저장, 조회, 분석하는 과정에서 과금이 발생합니다.

로그 수집(Log ingestion): 로그 데이터를 CloudWatch로 전송할 때 발생하는 비용입니다. 전송된 데이터의 GB 단위 용량에 따라 요금이 청구됩니다. 처음 10TB는 기본 $0.76/GB가 부과되며 이후 점진적으로 저렴해지는 구조입니다.

로그 저장(Log storage): 수집된 로그가 저장되는 동안 월별 GB 단위로 요금이 부과됩니다. 장기 저장 시 수명 주기 설정(Lifecycle)으로 Archive(저비용 스토리지)로 전환이 가능하며 요금도 저렴해집니다. GB당 $0.0314가 부과됩니다.

로그 검색(Log Insights): CloudWatch Logs Insights로 쿼리를 실행하면 요청당 요금이 발생합니다. 데이터 처리량(GB)에 따라 과금되며, 대량 쿼리 시 비용이 급증할 수 있습니다. GB Scanned 기준으로 $0.0076/GB가 부과됩니다.

스크린샷 2025-05-23 오후 7.15.43.png


CloudWatch Metrics – 지표 수집 및 저장 비용


Metrics는 AWS 리소스 또는 사용자 정의 지표(Custom metrics)를 통해 수집되는 수치 기반의 데이터입니다. 비용은 지표 수를 기준으로 책정되고 전송에 대한 API 요금은 없습니다.


기본 지표(standard metrics): EC2, RDS 등 주요 서비스는 기본적으로 5분 간격 또는 1분 간격(Standard resolution)으로 무료로 제공됩니다.

고해상도 지표(high-resolution metrics): 1초 간격 또는 10초 간격으로 수집되는 고해상도 지표입니다. 사용자가 직접 생성해야 하며 별도 요금이 부과됩니다. 기본 지표와 같은 이름이더라도 다른 지표로 과금됩니다.

사용자 정의 지표(custom metrics): 직접 생성한 애플리케이션 지표는 개수 및 해상도에 따라 과금되며 과금은 기본지표, 고해상도 지표와 동일합니다. 지표 10개까지는 무료입니다.

스크린샷 2025-05-23 오후 7.15.00.png


CloudWatch Dashboards – 대시보드 요금


CloudWatch Dashboards는 시각화 구성 요소이며, 월 단위로 대시보드 개수 기준의 요금이 발생합니다.


대시보드 생성 요금: 기본적으로 최대 50개의 지표를 참조하는 대시보드 3개까지는 무료이며, 그 이상부터는 개당 월 정액 요금이 과금됩니다. 대시보드에 포함된 위젯 수와는 무관하게, 대시보드 자체가 과금 단위입니다. (대시보드당 $3)

대시보드 그 자체는 요금이 없지만, 사용된 지표 수가 많을수록 간접적으로 비용을 유발할 수 있습니다.

스크린샷 2025-05-23 오후 7.12.54.png


CloudWatch Alarms – 조건 감시 기능의 과금


Alarms는 특정 지표의 조건 감시 및 알림 기능으로, 생성한 경보 개수 및 해상도에 따라 요금이 부과됩니다.


Standard Alarm: 1분 간격(standard resolution)으로 조건을 감시하는 경우, 개당 월 정액 요금이 발생합니다. 기본 10개까지 무료, 이후 개수당 요금 발생합니다. 지표당 월 $0.1 과금됩니다.

High-resolution Alarm: 10초 또는 30초 단위 감시가 필요한 경우 별도로 고해상도 알람으로 요금이 더 높습니다. (월 $0.3/지표)

상태 변화 알림 전송 비용은 SNS, Lambda 등 연결된 서비스에 따라 추가될 수 있습니다.

스크린샷 2025-05-23 오후 7.17.49.png


CloudWatch Events / Logs Insights – 고급 기능 요금


Events: 리소스의 상태 변화 감지를 위해 설정한 규칙 수에 따라 요금이 발생합니다. 일정 수까지는 무료이며, 초과 시 건수 기반으로 요금이 부과됩니다.

Logs Insights: 로그에 대해 쿼리 분석을 실행할 때, 처리한 데이터 용량(GB) 기준으로 요금이 발생합니다. 실시간 분석이나 대용량 쿼리를 자주 수행하는 경우 주의가 필요합니다.


결론


AWS CloudWatch는 로그 수집, 지표 모니터링, 대시보드 시각화, 알람, 이벤트 감지까지 지원하는 강력한 완전관리형 모니터링 플랫폼입니다. 하지만 이 강력함만큼이나, 제대로 관리하지 않으면 로그 저장·검색·고해상도 지표·불필요한 알람 등으로 매월 수십~수백 달러의 불필요한 비용이 누적됩니다.


CloudWatch를 효과적으로 사용하기 위해서는 다음 3가지를 기억해야 합니다.

기능별 비용 구조를 정확히 이해하고, 사용량/필요 여부를 검증해 불필요한 기능은 꺼두어야 합니다.

저장 및 처리 비용이 높은 Logs, 고해상도 Metrics, Logs Insights 쿼리 사용량을 주기적으로 점검해 최적화해야 합니다.

AWS Budgets 및 Cost Explorer를 연동해 CloudWatch 관련 비용 증가 시 즉시 인지하고 대응할 수 있는 체계를 구축해야 합니다.




keyword
매거진의 이전글Graviton 전환 실무 체크리스트