AWS CloudWatch
AWS CloudWatch는 Amazon Web Services(AWS) 리소스와 AWS에서 실행되는 애플리케이션을 실시간으로 모니터링하는 서비스다. 리소스 및 애플리케이션에 대해 측정할 수 있는 다양한 변수(지표)를 수집하고 추적할 수 있다. CloudWatch를 활용하면 시스템 전체의 리소스 사용률, 애플리케이션 성능, 운영 상태를 한눈에 파악할 수 있다.
CloudWatch는 기본적으로 지표 리포지토리로서 동작한다. AWS 서비스가 지표를 리포지토리에 저장하면, 이를 기반으로 통계를 검색하거나 사용자 지정 지표를 저장해 활용할 수 있다. 이를 통해 시스템의 성능 변화에 대응하고 리소스 사용률을 최적화하는 데 필요한 데이터와 실행 가능한 인사이트를 제공한다.
CloudWatch
지표(Metric)
지표는 CloudWatch에 게시된 시간 순서별 데이터 요소 집합을 의미한다. EC2 인스턴스의 CPU 사용률, 네트워크 트래픽 등이 대표적인 지표다. 지표는 생성된 리전에만 존재하며, CloudWatch는 리전 단위로 동작한다.
차원(Dimension)
차원은 네임스페이스에 대해 어떤 기준으로 지표를 확인할지를 정의한다. 예를 들어, EC2 인스턴스 ID별로 지표를 보거나, 인스턴스 유형 또는 오토스케일링 그룹별로 묶어서 볼 수 있다.
통계(Statistics)
통계는 지정한 기간에 걸친 지표 데이터의 집계다. CloudWatch는 평균, 최소, 최대, 합계 등 다양한 통계 함수를 제공한다. 이를 통해 시간에 따른 데이터의 추세와 패턴을 분석할 수 있다.
기간(Period)
기간은 지표의 해상도를 담당하는 부분으로, 지표가 집계되는 시간 단위를 의미한다. 기간은 60초에서 1일까지 설정할 수 있으며, 60초 미만으로 설정하면 고분해능 지표로 수집된다.
CloudWatch의 주요 기능
지표 모니터링
CloudWatch는 AWS 리소스 및 애플리케이션에서 자동으로 지표를 수집한다. 이러한 지표를 통해 시스템 성능과 상태를 모니터링할 수 있다. 또한 사용자 지정 지표를 생성하여 비즈니스에 중요한 특정 지표를 추적할 수도 있다.
대시보드
CloudWatch 대시보드는 사용 중인 모든 AWS 서비스에 관한 지표를 시각적으로 표시한다. 사용자 지정 대시보드를 생성해 애플리케이션에 대한 지표를 한눈에 볼 수 있으며, 여러 지표를 원하는 방식으로 조합해 효율적으로 모니터링할 수 있다.
경보(Alarm)
CloudWatch 경보는 지표를 감시하고 임계값을 초과할 때 알림을 보내거나 자동 조치를 취할 수 있게 한다. 예를 들어, EC2 인스턴스의 CPU 사용률이 특정 임계값을 초과하면 알림을 보내거나 추가 인스턴스를 시작하도록 설정할 수 있다.
경보 상태는 다음과 같이 세 가지로 구분된다
- OK: 지표가 정의된 임계값 내에 있음
- ALARM: 지표가 임계값을 초과함
- INSUFFICIENT_DATA: 경보가 방금 시작되었거나 지표를 사용할 수 없음
로그
CloudWatch Logs는 AWS 리소스의 로그 파일을 실시간으로 모니터링, 저장, 액세스할 수 있게 해준다. 로그 데이터를 검색하고 필터링하여 특정 패턴이나 값을 찾을 수 있으며, 이를 통해 애플리케이션 문제를 진단하고 해결할 수 있다.
지표 필터
CloudWatch Logs의 지표 필터 기능을 통해 로그 데이터를 검색하고 필터링하여 CloudWatch 지표로 변환할 수 있다. 이렇게 변환한 데이터는 그래프로 표시하거나 경보를 설정하는 데 활용할 수 있다.
CloudWatch와 다른 AWS 서비스의 연동
CloudWatch는 다른 AWS 서비스와 함께 사용하여 더 강력한 모니터링 및 자동화 솔루션을 구축할 수 있다.
- Amazon SNS(Simple Notification Service): 경보 임계값에 도달했을 때 알림을 전송하는 데 사용한다.
- Amazon EC2 Auto Scaling: CloudWatch 경보를 기반으로 EC2 인스턴스를 자동으로 확장하거나 축소할 수 있다.
- AWS CloudTrail: AWS 계정의 API 호출을 로깅하며, CloudWatch와 함께 사용하여 이러한 API 호출을 모니터링할 수 있다.
- AWS IAM(Identity and Access Management): CloudWatch 리소스에 대한 액세스를 제어한다.
CloudWatch 활용 사례
리소스 모니터링 및 성능 최적화
CloudWatch를 사용하면 EC2 인스턴스, RDS 데이터베이스 등 AWS 리소스의 성능을 모니터링하고 최적화할 수 있다. 예를 들어, CPU 사용률이 높은 인스턴스를 식별해 스케일업하거나, 사용률이 낮은 리소스를 스케일다운해 비용을 절감할 수 있다.
애플리케이션 모니터링
CloudWatch는 애플리케이션 로그를 수집하고 분석해 애플리케이션의 상태와 성능을 모니터링할 수 있다. 에러 로그를 감지하고 알림을 설정해 문제를 신속하게 해결할 수 있다.
비용 최적화
CloudWatch를 통해 리소스 사용률을 모니터링하고 분석함으로써 과도하게 프로비저닝된 리소스를 식별하고 비용을 최적화할 수 있다. 예를 들어, 사용률이 낮은 EC2 인스턴스를 식별해 다운사이징하거나 종료할 수 있다.
'Cloud' 카테고리의 다른 글
EKS (0) | 2025.05.14 |
---|---|
[AWS] Lambda (1) | 2025.05.07 |
[AWS] IAM (0) | 2025.05.07 |
[AWS] VPC (0) | 2025.05.02 |
[AWS] CloudFormation (0) | 2025.05.02 |