진짜 개발자
본문 바로가기

AWS/Application & Integration

AWS - SNS, CloudWatch를 이용해 ELB 요청수 100 이상시 SMS로 문자 받기

728x90

CloudWatch, SNS를 이용해 

ELB 요청수 100 이상시 SMS로 문자 받기


시나리오

1. 목표 

SNS에 ELB Topic을 생성하여 모바일로 구독을 한다

Cloudwatch를 통해 ELB를 감시한다 이때 ELB에 요청 수가 Cloudwatch의 Alrm 기능을 통해 

SNS Topic에 Publish한다 이때 SNS의 알림전송을 통해 구독을 하고있던 모바일에 문자메시지를 보낸다


2. 목표인프라



1. SMS(Simple Message Service) 리전설정

SMS 서비스를 지원하는 리전을 선택해야 핸드폰으로 메시지를 보낼 수 있다

  따라서 SMS를 이용하기 위해서는 리전서비스를 모두 SMS를 지원하는 리젼으로 옮겨야한다.


- SMS를 지원하는 리전 (AWS Docs)

- https://docs.aws.amazon.com/sns/latest/dg/sms_supported-countries.html

- 2019/01/12 기준으로 SMS를 지원하는 리전은 아래 그림과 같다


- 다음과 같이 Tokyo 리전으로 변경시 SMS탭이 보인다



2. ELB 설정

- SMS 서비스를 지원하는 리전에 ELB를 생성한다

- ELB 생성및 설정 방법 : http://galid1.tistory.com/368



3. SNS 설정

1. Topic 생성

1) SNS서비스의 좌측의 Topics 탭을 클릭한 뒤 Create new topic를 클릭한다


2) Topic Name에 Topic을 구분할 적절한 이름을 입력한 후 Create topic를 클릭한다

3) Subscriber들이 Topic을 지정할 때 사용하기 위해 ARN을 기억하거나 복사해둔다


2. Subscriber 생성

1) SNS서비스의 좌측의 Subscriptions탭을 클릭한뒤 Create subscription을 클릭한다


2) Topic ARN : 위에서 만든 Topic의 ARN을 입력한다

    Protocol : SMS를 선택

    Endpoint : 전화번호를 입력한다 ( 제일 앞에는 국번(+82)를 입력하고 공백으로 구분하여 전화번호를 입력한다)

 ex) +82  010  1234  5678



3. Publish 테스트

- SNS 서비스가 정상 작동하는지 확인하기 위해 테스트를 진행한다


1) SNS 서비스 좌측의 Topics탭을 클릭한뒤 앞서 만든 Topic을 선택하고 Publish to topic을 클릭한다

2) Message format : Raw

         Message : "보내고 싶은 메시지"


3) 정상적으로 메시지가 수신된다



4. CloudWatch 설정

- 중요한 점은 SNS를 Tokyo리전에서 생성했으므로 CloudWatch도 

  Tokyo리전에서 이용해야 해당 Topic이 보인다

  


1. Alarm 생성

1) Create Alarm을 클릭한다


2) Metric

- Select Metric 를 클릭한다


- ELB의 종류에 따라 다르지만 우리는 Application ELB를 생성 했으므로 

    Application ELB를 클릭한다


- Per AppELB Metrics 를 클릭한다


- 감시조건(Metric)을 설정할 ELB의 ARN의 끝자리를 복사해둔다


- 복사한 ARN끝자리를 이용하여 우리가 감시할 ELB를 찾은뒤 RequestCount라는 이름의 Metric을 선택한다


3) Alarm Details

Name : 적절한 이름을 부여

Whenever : 알림이 울릴 시점을 지정한다

request가 100이상인 경우로 지정한다


4) Actions

Whenever this alarm : 이 알람이 알림을 언제 울릴지 선택한다

Send notification to : 알릴 대상을 지정한다 (앞서 생성한 Topic을 지정한다)



'AWS > Application & Integration' 카테고리의 다른 글

AWS - SNS(Simple Notification Service) 란?  (0) 2019.01.09