Among Us - Yellow Crewmate 13. [AWS] AWS의 리소스 상태를 모니터링 하는 Cloud Watch

AWS/AWS Service

13. [AWS] AWS의 리소스 상태를 모니터링 하는 Cloud Watch

감쟈! 2021. 2. 7. 15:57

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'을 클릭해 알람을 생성해주자.

Create alarm

 

 

2. Select metric 눌러주자

Select metric

 

 

 

3. 모니터링할 인스턴스를 선택하고 CPUUtilization을 선택해서 CPU 사용량을 모니터링 해주자.

CPU Utilization

 

 

4. 모니터링은 5분마다 (프리티어는 5분까지.. 그 이상은 추가 요금 발생!!!) 하는것으로 설정하고 CPU는 30% 이상일때 알람이 발생되도록 설정한다.

CloudWatch 세부 설정
CloudWatch 세부 설정

 

 

 

5. 알람을 받을 이메일 주소를 적어주고 AWS SNS를 이용해서 알람을 보내주도록 하자.

SNS 설정

 

 

6. Alarm name을 지어주자.

Alarm name

 

 

7. 지금까지 설정했던 값들이 제대로 설정되었는지 확인해보자.

Preview and create

 

 

 

8. 생성이 되었다면 이전에 입력한 이메일 주소의 메일을 확인해주자. 

AWS에서 온 메일을 확인해주어야 CloudWatch에서 알람을 받아볼 수 있다.

이메일 인증

 

 

9. CloudWatch Alarms이 생성된 것을 확인할 수 있다.

CloudWatch Alarm 생성

 

 

 

10. Alarm이 제대로 작동하는지 확인해보자. Alarm을 설정한 인스턴스에 접속해서 CPU의 사용량을 강제로 올려보도록 하자.

 

yes > /dev/null &         /     CPU의 사용량을 강제로 높여보았다

 

top                           /      top로 현재 CPU 사용량을 확인할 수 있다.

CPU 과부하 주기

 

 

11. CPU사용량이 급증하자 OK 상태였던것이 In alarm 상태로 바뀌었다.

CloudWatch alarm 동작 확인

 

 

 

 

지금까지 CloudWatch로 인스턴스를 모니터링하고 설정한 측정값을 넘었을때 알람이 발생하는 과정에 대해서 살펴보았다.