AWS 문자 메시지(SMS) 발송 로그(Log) 관리하기
AWS SNS의 문자 메시지(SMS) 전송 기능을 이용하다 보면, 때때로 다양한 문제에 직면할 수 있습니다. 그러한 문제에 적절히 대응하기 위해서는 AWS SMS 기능에 대한 로그(Log) 관리가 필요합니다. 로그 관리는 Text messaging (SMS) 탭에서 [Edit] 버튼을 눌러서 수행할 수 있습니다.
여기에서는 가장 먼저 Amazon SNS가 CloudWatch Logs에 로그를 작성할 SMS 전송 성공 비율을 지정합니다. 예를 들어, 전송 실패에 대한 로그만 작성하려면 이 값을 0으로 설정합니다. 전송 성공의 10%에 대한 로그를 작성하려면 이 값을 10으로 설정합니다. 비율을 지정하지 않으면 Amazon SNS는 모든 전송 성공에 대한 로그를 작성합니다.
저는 100%으로 설정했으므로 모든 문자 메시지(SMS) 전송에 대해서 로그에 기록합니다. 그리고 [Create new service role] 탭을 클릭하고 [Create new roles] 버튼을 눌러 새롭게 규칙을 설정할 수 있습니다.
다음과 같이 SNSSuccessFeedback 규칙 이름 그대로 생성합니다.
이제 다음과 같이 IAM 규칙(Role)이 설정이 되어서 이제 CloudWatch의 로그(Log)가 쌓이게 됩니다.
※ S3 로그 저장 ※
AWS 문자 메시지(SMS) 로그는 S3에 저장할 수도 있습니다. 이를 위해서 AWS S3 서비스에서 [Create Bucket]을 눌러서 하나의 새로운 버킷(Bucket)을 만들 수 있습니다.
버킷의 이름을 설정해 생성합니다.
이후에 [Edit Text Messaging Preferences] 탭에서 해당 AWS S3 버킷을 Report 전송용으로 설정하면 됩니다. 그러면 매일매일의 SMS 사용량 Report가 S3에 전송된다는 특징이 있습니다.
다만 이 경우 AWS SNS가 해당 버킷(Bucket)에 쓰기 권한이 있어야 하기 때문에, 간단히 S3의 [Bucket Policy]를 설정해보도록 하겠습니다. [Policy Generator]를 눌러서 정책을 생성합니다.
먼저 자신의 AWS Bucket의 경로(ARN)에 Put Object 액션(Action)을 부여합니다.
이후에 자신의 AWS Bucket의 경로(ARN)에 GetBucketLocation 액션(Action)을 부여합니다.
그리고 [Generate Policy] 버튼을 눌러서 정책 명령어를 생성할 수 있습니다.
이제 다시 AWS S3의 [Permissions] 탭에서 버킷 정책(Bucket Policy)을 바꿀 수 있도록 설정합니다.
이제 [Bucket Policy] 탭에 정책 내용을 붙여넣기 하여 적용하면 됩니다.
'AWS' 카테고리의 다른 글
AWS Lambda(Node.js)와 AWS DynamoDB 연동 예제 (2) | 2019.04.24 |
---|---|
AWS 람다(Lambda)로 Python 서버 API 구현하기 ③ Lambda Layers를 이용해 공통 라이브러리 관리하기 (1) | 2019.04.23 |
AWS 서비스 한도 증가 요청하는 방법 (AWS 문자 메시지 한도 늘이기) (0) | 2019.04.22 |
AWS 람다(Lambda)에서 AWS S3 서비스 이용하기 (0) | 2019.04.17 |
AWS SNS로 문자 메시지(SMS) 전송하기 (PHP 구현) (1) | 2019.04.16 |