-
Cloud Watch를 이용한 EC2 CPU Utilization Alarm 생성AWS 2021. 6. 21. 00:46
이번 포스팅에서는 EC2의 CPU 사용률을 cloud watch를 이용해서 모니터링하고
CPU 사용률이 50% 이상일 때 이메일을 통해 알람을 받고 인스턴스를 재부팅한다.
Cloud Watch에 대한 실습이 목적이기 때문에 EC2 생성에 대한 자세한 내용은 생략한다.
1. EC2 인스턴스 생성
다음 사양으로 인스턴스를 생성한다.
Amazon Linux 2 AMI : 64bit(x86)
t2.micro vCPU(1) MEM(1GiB)
2. Cloud watch 경보 생성
1) cloud watch 콘솔로 접속한 후, 경보를 생성한다.
2) 지표 생성 -> EC2 -> 인스턴스별 지표 -> CPUUtilization 지표 선택하고 기간을 1분으로 설정
(5분 밑으로는 비용이 청구된다고 한다. )
3) 조건에서 CPU가 50%보다 커지면 경보 발생
4) 이메일을 통해 알람을 보낼 것이므로 알람을 받을 이메일을 적어준 후, 주제생성을 클릭
개인 이메일함에서 이메일 확인후 confirm subscription 클릭
5) EC2 작업에서 경보가 발생하면 인스턴스 재부팅을 하도록 설정해준다.
마지막으로 사용할 경보의 이름을 정해준다.
경보를 생성하였으면 이제 경보가 울릴 수 있도록 ec2 인스턴스에 접속해서 cpu 사용량을 인위적으로 증가시켜주자.
다음 커맨드를 통해 CPU 부하 발생을 위한 툴을 설치한다.
sudo amazon-linux-extras install -y epel sudo yum install -y stress-ng stress-ng -h
CPU 70% 사용하여 부하를 발생시킨다.
sudo stress-ng --cpu 1 --cpu-load 70% --timeout 10m --metrics --times --verify
일정 시간이 지나면 CPU 사용률이 치솟는 것을 확인할 수 있다.
(좀 기다려야 한다. 생각보다 오래 걸린다.)
아울러 CPU 사용률이 50%가 넘으면서 지정된 이메일을 통해서 알람 경보가 온다.
반응형'AWS' 카테고리의 다른 글
AWS Storage 정리 (0) 2021.07.03 AWS VPC 실습 (feat. NAT, IGW, Routing table) (0) 2021.07.01 AWS 용어 정리 1 (0) 2021.06.20 django web container에서 AWS RDS 연동하기 (0) 2021.05.16 AWS 인스턴스에 docker container 형태로 django web 배포하기 (0) 2021.04.06