EventBridge+SNS+Chatbot으로 Slack 통지해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 EventBridge+SNS+Chatbot을 이용해서 Slack으로 EC2 인스턴스 상태를 통지하는 작업을 정리해 봤습니다.
EventBridge와 Chatbot에 관한 내용은 아래 블로그를 참고해 주세요.
- Amazon EventBridge가 뭐야? EventBridge를 사용해 봤습니다
- EC2 인스턴스 CPU 사용률을 Slack으로 받아보기
- EventBridge+Step Functions를 활용한 WAF Log 자동화 설정
SNS 생성
SNS로 들어와서「주제 생성」버튼을 클릭합니다.
표준을 선택하고 이름을 입력한 다음 주제 생성을 끝마칩니다.
이어서「구독 생성」버튼을 클릭합니다.
프로토콜은 이메일을 선택하고 엔드포인트는 본인 이메일을 입력하고 구독 생성을 끝마칩니다.
입력한 이메일로 접속해, AWS Notifications를 확인합니다. 그리고「Confirm subscription」을 클릭해 구독을 합니다.
다시 구독으로 돌아오면 상태가「확인됨」으로 바껴있다면 성공입니다.
Chatbot 생성
Chatbot으로 들어간 다음「채팅 클라이언트」를 Slack으로 변경하고 클라이언트 구성 버튼을 클릭합니다.
허용 버튼을 클릭하면 Chatbot과 Slack에 대한 구성이 끝납니다.
그리고「새 채널 구성」버튼을 클릭합니다.
구성 이름을 목적에 맞게 적절히 입력하고, 채널은 Slack 메시지를 통지할 채널을 선택합니다.
역할은「채널 IAM 역할」을 선택하고 역할 이름을 입력합니다.
리전은 조금 전 생성한 SNS가 있는 리전과 주제를 선택하고 구성을 끝마칩니다.
채널 가드 레일의 경우 채널 멤버가 수행할 수 있는 작업을 세부적으로 제어하기 때문에 적절하게 선택해 주시면 됩니다.
다시 SNS 구독으로 들어와 보면, HTTPS가 추가된 것을 볼 수 있습니다. 이제 Email은 삭제해도 상관 없기 때문에 삭제 하겠습니다.
EventBridge 규칙 생성
EventBridge에서 규칙 생성 버튼을 클릭합니다.
패턴 정의에서는 사전 정의된 패턴을 선택하고 Cloud Trail에서 생성되는 모든 EC2 이벤트에 대해 매칭을 시킵니다.
이벤트가 매칭 됐을 시, SNS를 호출해서 Chatbot을 통해 Slack으로 통지할 생각이기 때문에 대상은 SNS을 선택하고 규칙 생성을 끝마칩니다.
Slack 통지 확인
미리 만들어둔 EC2 인스턴스 중 중지된 EC2-1을 시작해 보겠습니다.
Slack을 확인해 보면 EC2 인스턴스가 실행 됐다는 메시지를 받을 수 있습니다.