EC2 인스턴스에 접속할 때마다 슬랙으로 알림을 보내는 방법
1. CloudWatch 이벤트 규칙 생성
먼저 CloudWatch 콘솔에서 이벤트 규칙을 생성합니다. 이벤트 규칙을 생성하면 EC2 인스턴스에 대한 모든 이벤트에 대한 알림을 받을 수 있습니다.
1-1. CloudWatch 콘솔에서 [이벤트] > [규칙]을 선택합니다.
1-2. [규칙 생성] 버튼을 클릭합니다.
1-3. 이벤트 규칙의 이름을 입력합니다.
1-4. 이벤트 패턴을 선택합니다.
1-5. 이벤트 대상으로 "SNS 주제"를 선택합니다.
1-6. 새로운 SNS 주제를 만들거나 기존 주제를 선택합니다.
1-7. 규칙을 만듭니다.
2. SNS 주제 구독
이제 SNS 주제에 대한 구독을 설정해야 합니다. 이를 통해 알림을 받을 수 있습니다.
2-1. SNS 콘솔에서 해당 주제를 선택합니다.
2-2. [구독 생성] 버튼을 클릭합니다.
2-3. 이메일 주소 또는 슬랙 webhook URL을 입력합니다.
2-4. [구독 생성] 버튼을 클릭합니다.
2-5. 입력한 주소로 확인 링크를 클릭하여 구독을 확인합니다.
3. EC2 인스턴스에 스크립트 설치
이제 EC2 인스턴스에 스크립트를 설치하여 이벤트를 SNS 주제로 보낼 수 있습니다.
3-1. EC2 인스턴스에 로그인합니다.
3-2. SNS 주제에 대한 권한을 부여합니다.
3-3. 다음 스크립트를 EC2 인스턴스에 설치합니다.
#!/bin/bash
INSTANCE_ID=$(curl http://169.254.169.254/latest/meta-data/instance-id)
aws ec2 describe-instances --instance-id $INSTANCE_ID | jq -c '.Reservations[].Instances[] | {id: .InstanceId, state: .State.Name, name: (.Tags[] | select(.Key=="Name").Value)}' | aws sns publish --topic-arn [SNS 주제 ARN] --message "$(cat)"
3-4. 스크립트에서 [SNS 주제 ARN]을 SNS 주제 ARN으로 대체합니다.
이제 EC2 인스턴스에 대한 로그인 이벤트가 발생하면 SNS 주제로 메시지가 전송되어 슬랙으로 알림을 받을 수 있습니다.
참고URL
- EC2 접속 시 슬랙으로 알림 : https://scbyun.com/1144
'퍼블릭 클라우드' 카테고리의 다른 글
Amazon CloudWatch Agent 설치 (0) | 2015.04.09 |
---|---|
AWS Chatbot을 Slack과 연동하여 알람을 받는 방법 (0) | 2015.03.17 |
AWS CloudFront에서 캐시된 파일을 무효화(Invalidation)하는 방법 (0) | 2015.03.17 |
AWS CodeDeploy user data(사용자 데이터) (0) | 2015.03.11 |
AWS Console Login 시 Slack 알람 (0) | 2015.02.05 |