AWS에는 많은 서비스가 있습니다.
오늘은 AWS의 CloudWatch 서비스를 이용해 서버 부하시에 SMS 알림 기능을 이용해 이메일을 받도록 작업해봤습니다.
이후에는 이메일이 아닌 문자로 받을 수 있도록 작업이 필요할 것 같네요. 작업한 내용을 공유하고자 포스팅했습니다.
CloudWatch 알림 기능을 사용하기 위해서는 먼저 Amazon SNS 서비스에서 설정이 필요합니다.
SNS에서는 주제와 구독을 통해서 구독된 사용자에게 SNS 알림을 보낼 수 있습니다.
1) Simple Notification Service(Amazon SNS)를 검색합니다.
2) 주제 생성
이름, 표시 이름에 원하는 내용 입력 후 하단에 주제 생성을 합니다.
3) 구독 생성
주제가 만들어졌고 구독을 생성합니다. 내용은 아래와 같습니다.
- 프로토콜 : 이메일 선택
- 엔드 포인트 : 메일 주소 입력
4) 이메일 확인
입력한 엔드포인트(이메일)로 메일이 전송되는데 구독 확인을 하면 구독 상태가 확인됨으로 변경됩니다.
5) CloudWatch 설정
이제 CloudWatch 서비스를 이용해 서버의 경보를 만듭니다.
6) 경보, 지표 생성
6-1) 지표 지정
경보 생성 후 지표를 선택하면 아래와같이 서비스 지표에 대한 알람/대시보드를 구성할 수 있습니다.
여기서는 EC2의 CPUtilization(CPUUtilization: CPU 사용량 측정 지표)을 테스트했습니다.
부하 테스트를 위해 조건을 30으로 정의했습니다.
6-2) 작업 구성
알림 전송에서 2)에서 생성한 주제를 선택합니다.
경보 이름과 설명을 입력 후 다음으로 진행합니다.
6-3) 최종 확인
7) CPU 부하 테스트
이제 경보가 생성되었고 설정한 조건대로 경보가 발생하는지 테스트가 필요합니다.
원격 서버에 접속해서 stress 명령어를 위해 패키지를 설치합니다.
패키지 설치
amazon-linux-extras install epel -y
yum install -y stress
cpu 코어 확인
grep -c processor /proc/cpuinfo
2코어의 CPU를 60초동안 부하시킴
stress --cpu 2 --timeout 60s
8) 경보 메일 확인
임계값을 넘는 경우 아래와 같이 메일이 도착하는 것을 확인할 수 있습니다.
참고자료