brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 22. 2019

141. Lambda로 SNS서비스이용해 SMS 보내기


<1> 목표


lambda  설정 순서를 알아보자.

lambda 이용해 스마트폰으로 SMS 보내 보자.




<2> 구성


[TEST Event] - [ Lambda] -  [AWS SNS(SMS Send)] - [Smart Phone]


테스트 이벤트를 보내면 람다가 SNS 서비스를 이용해서 핸드폰으로 보내주는 기능을 구현해 보자.

그러기 위해서는,  람다가  SNS 서비스 쓰기 권한과  모든 리소스를 소스로 하는 권한을 가져야 한디.

실습은 권한 추가로 시작된다.




<3>  실습 


1. IAM >  SNS에 대한 Policy 설정

2. 역할

3. 람다 생성

4. 테스트 이벤트를 구성하자.

5.  이벤트가 발생되면  실행는 Lambda 함수 코드를 입력한다.

6.  테스트 이벤트를 실행하여 SMS를  수신한다.




1. IAM >  SNS에 대한 Policy 설정



1)  람다가 SNS 서비스를 이용할 것이라  IAM에서 SNS에 대한 Policy를  생성한다.

모든 리소스에 대해 SNS 쓰기 권한을 제공한다.


Service : SNS

Action  : Wite

리소스 :  모든 리소스  (All resources)



정책 검토 클릭

이름 : 

sns-po1

sns-policy1 

정책 생성  클릭




2. 역할

역할은 Lambda가 사용하는 것이다.


역할 만들기 > lambda  >   sns-po1 검색해서 선택한다.

role 이름은 sns1-role이라고 한다.






3.   람다 생성

 Lambda  > Create function   >  기존 역할 사용 선택 : 만들어진 role을 선택한다.




4. 테스트 이벤트를 구성하자.


TEST Event


이벤트에 보내려는 text 내용과 전화번호를 기입한다.

{

  "text":"start lambda2",

  "number": "+82102222 xxxx"

}




5.  이벤트가 발생되면  실행되는 Lambda 함수 코드를 입력한다.

이벤트를 발생시키면,  이벤트 소스의 text 내용과  전화번호를 받아서 , Lambda 함수 코드를 실행시킨다.


SMS 발송 소스 사이트

https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/sns-examples-sending-sms.html


SMS는 일본 리즌으로 했다.

한국은 SMS 발송을 지원하지 않는다.


지원하는 국가 :

미국 동부(버지니아 북부) us-east-1

미국 서부(오레곤) us-west-2

EU(아일랜드) eu-west-1

아시아 태평양(도쿄) ap-northeast-1

아시아 태평양(싱가포르) ap-southeast-1

아시아 태평양(시드니) ap-southeast-2

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




<Lambda 함수 코드>

코드 입력 필요.





6.  결과


테스트 이벤트를 실행하여 SMS를  수신한다.



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari