CloudWatch 사용 요금이 청구된 이유를 어떻게 알 수 있으며, 향후 비용을 줄이려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2021년 12월 13일

AWS 청구서에 Amazon CloudWatch 요금이 높게 표시됩니다. CloudWatch 사용 요금이 청구된 이유를 어떻게 알 수 있으며, 향후 비용을 줄이려면 어떻게 해야 하나요?

간략한 설명

CloudWatch 요금을 파악하려면 AWS 비용 및 사용 보고서를 검토합니다. 다음 서비스에 대한 요금을 확인합니다.
참고: 굵게 표시된 항목은 보고서에 표시되는 항목과 비슷합니다. 보고서에서 region은 AWS 리전의 약어를 나타냅니다.

사용자 지정 지표: MetricStorage region-CW:MetricMonitorUsage

CloudWatch 지표 API 호출:

  • API Name region-CW:Requests
  • GetMetricData region-CW:GMD-Requests/Metrics

CloudWatch 경보:

  • Unknown region-CW:AlarmMonitorUsage
  • Unknown region-CW:HighResAlarmMonitorUsage

CloudWatch 대시보드: DashboardHour DashboardsUsageHour(-Basic)

CloudWatch Logs:

  • PutLogEvents region-DataProcessing-Bytes
  • PutLogEvents region-VendedLog-Bytes
  • HourlyStorageMetering region-TimedStorage-ByteHrs

CloudWatch Contributor Insights:

  • Contributor Insights 규칙: region-CW:ContributorInsightRules
  • Contributor Insights의 일치하는 로그 이벤트: region-CW:ContributorInsightEvents

CloudWatch Synthetics 카나리 실행: region-CW:Canary-runs

청구된 내용과 그 이유를 파악하면 다음 권장 사항에 따라 CloudWatch 구성을 조정하여 향후 비용을 절감할 수 있습니다.

향후 AWS 비용을 손쉽게 모니터링하려면 결제 알림을 활성화합니다.

해결 방법

참고: AWS 명령줄 인터페이스(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

세부 모니터링

  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스, Auto Scaling 그룹 시작 구성 또는 API Gateway에 대한 세부 CloudWatch 모니터링에는 요금이 발생합니다.
  • 비용을 줄이려면 인스턴스Auto Scaling 그룹 시작 구성 또는 API Gateway에 대한 세부 모니터링을 적절히 끕니다.

사용자 지정 지표

  • 10개가 넘는 사용자 지정 지표를 모니터링하면 요금이 발생합니다. 사용자 지정 지표에는 생성한 지표뿐 아니라 CloudWatch 에이전트와 같은 도구와 EC2 인스턴스의 애플리케이션 또는 OS 데이터에서 사용하는 지표도 포함됩니다.
  • CloudWatch로 전송된 Amazon Simple Storage Service(Amazon S3) 및 Amazon Simple Email Service(Amazon SES) 이벤트에 대한 요청 지표에는 요금이 발생합니다.
  • 사용자 지정 지표에 대한 PutMetricData 호출에도 요금이 발생할 수 있습니다.
  • CloudWatch로 전송된 Amazon Kinesis Data Streams 향상된(샤드 수준) 지표AWS Elastic Beanstalk 향상된 상태 보고 지표에는 요금이 발생합니다.
  • 비용을 줄이려면 적절히 사용자 지정 지표 모니터링을 끕니다. 사용자 지정 지표만 표시하려면 CloudWatch 콘솔지표, 차원 또는 리소스 ID 검색 상자에 NOT AWS를 입력합니다. 

CloudWatch 지표 API 호출

  • 요금은 CloudWatch 지표 APl에 따라 다릅니다. AWS 프리 티어 한도를 초과하는 API 호출에는 요금이 발생합니다. GetMetricDataGetMetricWidgetImage는 AWS 프리 티어에서 계산되지 않습니다.
  • 서드 파티 모니터링 도구는 API 호출을 자주 수행하므로 비용을 증가시킬 수 있습니다.
  • 비용을 절감하려면 다음을 수행합니다.
    AWS CLI가 아닌 콘솔을 통해 ListMetrics 호출을 무료로 실행합니다.
    여러 PutMetricData 요청을 하나의 API 호출로 일괄 처리합니다. 또한 지표 데이터를 StatisticSet에 사전 집계하는 것도 고려해 보세요. 이러한 모범 사례를 사용하면 API 호출량이 줄어들고 해당 요금도 줄어듭니다.
    서드 파티 모니터링 도구와 관련된 사용 사례에서는 적극적으로 모니터링 중이거나 워크로드에서 사용 중인 지표만 검색해야 합니다. 검색된 지표를 줄이면 청구되는 금액이 줄어듭니다. 또한 지표 스트림을 대체 솔루션으로 사용하는 것을 고려한 다음, 가장 비용 효율적인 배포를 평가할 수 있습니다.
    자세한 내용은 CloudWatch 지표에 GetMetricData 또는 GetMetricStatistics를 사용해야 하나요?를 참조하세요. 서드 파티 모니터링 도구로 인해 발생하는 비용도 검토해야 합니다.

CloudWatch 경보

  • CloudWatch 경보와 연결된 지표의 수에 따라 요금이 발생합니다. 예를 들어 지표가 여러 개인 단일 경보가 있는 경우 각 지표에 대해 요금이 청구됩니다.
  • 비용을 줄이려면 불필요한 경보를 제거합니다.

CloudWatch 대시보드

  • 3개의 대시보드(지표 최대 50개)를 초과하면 요금이 발생합니다.
  • AWS CLI 또는 SDK를 통한 대시보드 관련 API 호출도 요청이 AWS 프리 티어 한도를 초과하면 요금이 발생합니다.
    예외: GetMetricWidgetImage에는 항상 요금이 발생합니다.
  • 비용을 절감하려면 불필요한 대시보드를 삭제합니다. AWS 프리 티어를 사용하는 경우 총 대시보드 수를 3개 이하로 유지합니다. 또한 모든 대시보드의 총 지표 수를 50개 미만으로 유지해야 합니다. AWS CLI 또는 SDK가 아닌 콘솔을 통해 대시보드 관련 API를 무료로 호출합니다.

CloudWatch Logs

  • Amazon CloudWatch Logs의 수집, 보관 스토리지 및 분석으로 인해 요금이 발생합니다.
  • 수집 요금은 CloudWatch Logs 서비스에서 수집한 로그 데이터의 양을 반영합니다. CloudWatch 지표인 IncomingBytes는 서비스에서 처리한 로그 데이터의 양을 보고합니다. CloudWatch 그래프 또는 대시보드에서 이 지표를 시각화하면 다양한 워크로드에서 생성되는 로그의 양을 모니터링할 수 있습니다. CloudWatch Logs 수집 요금이 높은 경우 어떤 로그 그룹 때문에 CloudWatch Logs 청구액이 갑자기 증가했습니까?의 지침을 따르세요.
  • 수집 비용을 줄이기 위해 로깅 수준을 재평가하고 불필요한 로그의 수집을 제거할 수 있습니다.
  • 보관 요금은 시간 경과에 따른 로그 스토리지 비용과 관련이 있습니다. 보존 정책에 따라 CloudWatch Logs가 데이터를 보관하는 기간이 결정됩니다. CloudWatch가 설정된 보존 기간보다 오래된 데이터를 자동으로 삭제하도록 지시하는 보존 정책을 생성할 수 있습니다. 이렇게 하면 시간 경과에 따라 보존되는 데이터가 제한됩니다. 로그 그룹에 대한 기본 보존 정책이 만료 안 됨(Never Expire)으로 설정되어 있습니다. 이 설정은 CloudWatch가 데이터를 무기한 보관함을 의미합니다. 스토리지 비용을 줄이려면 보존 정책을 변경해보십시오. 예를 들어 1주일, 1개월 등의 기간 동안 데이터를 보관하도록 보존 정책을 설정할 수 있습니다.
  • Log Insights가 로그를 쿼리하는 데 사용될 때 분석 요금이 발생합니다. 요금은 쿼리 결과를 제공하기 위해 스캔한 데이터의 양을 기준으로 합니다. Log Insights 콘솔에서는 이전에 실행한 쿼리의 기록을 제공합니다. 분석 비용을 줄이기 위해 Log Insights 쿼리 기록을 검토하고 더 짧은 시간 동안 실행되도록 쿼리를 설정할 수 있습니다. 이렇게 하면 스캔되는 데이터의 양이 줄어듭니다.

CloudWatch Contributor Insights

CloudWatch Synthetics