[AWS] Eventbridge로 EC2 특정 시간대마다 재부팅 하기

테스트 중인 AWS EC2가 자꾸 뻗는다..

저번에 ec2 메모리 사용량 모니터링을 설정하고 보니 메모리가 점점 올라간다. 코드 구현 단계에 문제가 있을 것 같으나, 아직 정확한 원인을 찾지 못했다.. 그래서 일단 특정 시간대마다 EC2가 알아서 재부팅되도록 하는게 임시방편이라 방법을 찾아보기로 했다.

그냥 Ubuntu Cron으로 재부팅 시킬 수 있을 것 같은데 기왕 AWS 서비스를 사용해보자해서 찾게된 서비스가 바로

EVENTBRIDGE !

원래 CloudWatch 서비스에 속해있던 이벤트 기능인데, 2019 7월 Amazon EventBridge로 출시되었다.

2020.12.15 현재까지 CloudWatch 서비스 하위 이벤트와 EventBridge가 연동이 되니 참고하자.

AWS EventBridge는 이벤트 수집, 전송, 권한 부여, 오류 처리, 보안을 자동화하여 이벤트 기반 애플리케이션의 구축과 관리더 자세한 내용은 AWS문서로!

ㅁ EventBridge 설정하기

1. Amazon EventBridge > 이벤트 > 규칙

 2. 규칙 생성

3. 설정

– 이름과 설명에는 원하는값을 넣으면 된다.

– 나는 이 규칙이 10시간마다 자동으로 재부팅 되길 원했다. 또한, 어느 시간대가 됐든간 XX:30에 진행되길 원했다.

고정 비율로 했을 때, 분을 지정할 수 없어 Cron 식으로 설정했다. AWS에서의 Cron 표현식으로 아래와 같다.

Cron 표현식 (Amazon EventBridge 사용 설명서 , P39)

“30 /10 * * ? *”

모든 연도 / 주 / 월 / 일에 할 거다.
매 10시간마다, 시간은 항상 “XX시 30분”에 진행된다.

라는 뜻을 갖고 있는 식이다.

이 규칙의 목적은 EC2 재부팅이니 “EC2 RebootInstances API 호출”을 선택하고, 해당하는 EC2의 인스턴스 ID를 입력한다. 기존 역할이 없기 때문에 새 역할 생성에 체크한다.

잘 했는지 마무리 확인하고 생성을 누르면 끝!

규칙 목록에 1개 추가된 것을 볼 수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다.