CloudWatch는 AWS 리소스의 상태를 모니터링 하는 서비스이다.
CloudWatch는 다음과 같은 경우에 사용된다.
- EC2 인스턴스에 이상이 있을 경우 알림을 받고자 할 때
- 사용량이 급증했을 때 자동으로 Auto Scailing 하고자 할 떄
- Elastic Load Balancing을 구축하고자 할 때
기본 모니터링 간격은 5분이며 세부 모니터링 간격은 1분이다. 기본 모니터링은 프리티어에서 무료로 사용가능하지만 세부 모니터링은 추가 요금을 지불 해야하니 참고해두자.
CloudWatch로 모니터링 할 수 있는 서비스들에 대해서 살펴보자
- EC2 인스턴스 : CPU사용량, 데이터 전송량, 디스크 사용량 등을 모니터링할 수 있다.
- EBS 볼륨 : 읽기/쓰기 사용량, 지연시간 등을 모니터링 할 수 있다.
- Elastic Load Balancing : 요청 수 및 지연 시간 등을 모니터링 할 수 있다.
- RDS : DB 연결 수, 사용가능한 메모리 및 스토리지 공간 등을 모니터링 할 수 있다.
.
.
.
등등 다양한 서비스와 연계하여 사용하고 모니터링 할 수 있다.
이번 글에서는 EC2 인스턴스를 모니터링 하는 과정에 대해서 살펴보도록 하자.
1. EC2 인스턴스를 CloudWatch를 사용해 모니터링하고 알람을 생성해보자
EC2 인스턴스의 CPU 사용률을 모니터링하고 설정한 측정치에 도달하면 알림 메일을 전송하도록 알람을 생성해보자.
1. AWS Console에서 CloudWatct에 접속해주고 'Create alarm'을 클릭해 알람을 생성해주자.
2. Select metric 눌러주자
3. 모니터링할 인스턴스를 선택하고 CPUUtilization을 선택해서 CPU 사용량을 모니터링 해주자.
4. 모니터링은 5분마다 (프리티어는 5분까지.. 그 이상은 추가 요금 발생!!!) 하는것으로 설정하고 CPU는 30% 이상일때 알람이 발생되도록 설정한다.
5. 알람을 받을 이메일 주소를 적어주고 AWS SNS를 이용해서 알람을 보내주도록 하자.
6. Alarm name을 지어주자.
7. 지금까지 설정했던 값들이 제대로 설정되었는지 확인해보자.
8. 생성이 되었다면 이전에 입력한 이메일 주소의 메일을 확인해주자.
AWS에서 온 메일을 확인해주어야 CloudWatch에서 알람을 받아볼 수 있다.
9. CloudWatch Alarms이 생성된 것을 확인할 수 있다.
10. Alarm이 제대로 작동하는지 확인해보자. Alarm을 설정한 인스턴스에 접속해서 CPU의 사용량을 강제로 올려보도록 하자.
yes > /dev/null & / CPU의 사용량을 강제로 높여보았다
top / top로 현재 CPU 사용량을 확인할 수 있다.
11. CPU사용량이 급증하자 OK 상태였던것이 In alarm 상태로 바뀌었다.
.
지금까지 CloudWatch로 인스턴스를 모니터링하고 설정한 측정값을 넘었을때 알람이 발생하는 과정에 대해서 살펴보았다.
'AWS > AWS Service' 카테고리의 다른 글
15. [AWS] S3로 정적 웹사이트 호스팅하기 (0) | 2021.02.07 |
---|---|
14. [AWS] S3에 대해서 알아보자 (0) | 2021.02.07 |
12. [AWS] Access Key, Secret Key에 대해서 알아보자 (0) | 2021.02.07 |
11. [AWS] AMI에 대해서 알아보자 (0) | 2021.02.07 |
10. [AWS] Key Pair에 대해서 알아보자 (0) | 2021.02.07 |