Metrics
1 AWS EC2 메트릭 이해하기
- AWS EC2(Elastic Compute Cloud) 메트릭은 인스턴스의 성능과 상태를 모니터링하는 데 중요한 역할을 합니다.
- 이러한 메트릭들은 AWS CloudWatch와 통합되어 실시간으로 수집, 추적 및 분석됩니다.
- EC2 메트릭을 통해 인스턴스의 CPU 사용률, 네트워크 트래픽, 디스크 활동 등을 모니터링할 수 있습니다.
- 이 글에서는 EC2 메트릭의 종류, CloudWatch와의 통합, 커스텀 메트릭 설정 방법, 그리고 메트릭의 해상도와 측 정 주기에 대해 알아보겠습니다.
2 CloudWatch와 EC2 메트릭 통합
- Amazon CloudWatch는 AWS 리소스와 애플리케이션을 실시간으로 모니터링하는 서비스입니다.
- EC2 인스턴스는 기본적으로 CloudWatch와 통합되어 있어, 별도의 설정 없이도 기본 메트릭을 수집합니다.
- CloudWatch는 EC2 인스턴스로부터 메트릭 데이터를 수집하고, 이를 그래프로 시각화하거나 경보를 설정하는 데 사용합니다.
- 기본 모니터링은 5분 간격으로 메트릭을 수집하며, 상세 모니터링을 활성화하면 1분 간격으로 수집할 수 있습니다.
3 EC2 기본 메트릭
- EC2 인스턴스는 CloudWatch에 다음과 같은 기본 메트릭을 자동으로 전송합니다:
- CPUUtilization: CPU 사용률 (%)
- DiskReadOps: 디스크 읽기 작업 수
- DiskWriteOps: 디스크 쓰기 작업 수
- DiskReadBytes: 디스크에서 읽은 바이트 수
- DiskWriteBytes: 디스크에 쓴 바이트 수
- NetworkIn: 네트워크로 받은 바이트 수
- NetworkOut: 네트워크로 보낸 바이트 수
- NetworkPacketsIn: 네트워크로 받은 패킷 수
- NetworkPacketsOut: 네트워크로 보낸 패킷 수
- StatusCheckFailed: 인스턴스 상태 확인 실패 여부
- StatusCheckFailed_Instance: 인스턴스 레벨 상태 확인 실패 여부
- StatusCheckFailed_System: 시스템 레벨 상태 확인 실패 여부
- StatusChecks 참고
4 기본 메트릭의 해상도와 측정 주기
- EC2 기본 메트릭의 해상도와 측정 주기는 모니터링 유형에 따라 다릅니다:
- 기본 모니터링:
- 측정 주기: 5분
- 해상도: 5분
- 비용: 무료
- 세부 모니터링:
- 측정 주기: 1분
- 해상도: 1분
- 비용: 추가 비용 발생
세부 모니터링을 활성화하는 방법
- AWS Management Console 사용:
- EC2 대시보드에서 인스턴스 선택
- "작업" > "모니터링" > "세부 모니터링 관리"
- "세부 모니터링 활성화" 선택
- AWS CLI 사용-
aws ec2 monitor-instances --instance-ids i-1234567890abcdef0
- 세부 모니터링을 활성화하면 더 빠른 대응이 가능하지만, 추가 비용이 발생합니다.
- 대규모 프로덕션 환경이나 빠른 스케일링이 필요한 경우에 유용합니다.
5 RAM 메트릭
- 기본적으로 EC2 인스턴스의 RAM(메모리) 사용량은 CloudWatch에서 자동으로 수집되지 않습니다.
- RAM 메트릭을 수집하려면 추가적인 설정이 필요합니다.
- RAM 메트릭을 얻는 방법에는 크게 두 가지가 있습니다:
- CloudWatch 에이전트 사용
- 커스텀 메트릭 생성
6 CloudWatch 에이전트를 통한 RAM 메트릭 수집
- CloudWatch 에이전트를 사용하면 RAM 사용량을 포함한 더 많은 시스템 레벨 메트릭을 수집할 수 있습니다.
CloudWatch 에이전트 설치 (Amazon Linux 2)
sudo yum install amazon-cloudwatch-agent
에이전트 구성 파일 예시
{
"metrics": {
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
}
}
}
}
CloudWatch 에이전트 시작
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/path/to/config.json -s
- 이 설정을 통해 RAM 사용량을 포함한 추가 메트릭을 CloudWatch에서 확인할 수 있습니다.