BLOG

Amazon SES 에서 이벤트 Publishing 이슈 문제해결
작성일: 2018-02-21

지난 1년 동안 Amazon SES계정과 관련된 metrics를 추적하는 데 도움이 되는 몇 가지 기능을 제공해 왔습니다. 작년 11월에 시작된 것들 중 첫 번째는 이벤트 퍼블리싱 (이벤트 게재)이었습니다.

 

처음에 이벤트 게재를 사용하면 이메일 전송과 관련된 기본 metrics를 캡처하여 Amazon Cloud Watch및 Amazon Kinesis Data Firehose와 같은 다른 AWS서비스에 게재할 수 있습니다. 이러한 기본 메트릭의 몇 가지 예는 주고 받은 이메일 수와 불만 사항을 전달/수신한 수가 포함됩니다. 몇 개월 전에 몇 가지 참여metrics 를 추가함으로써 이 기능을 확장했는데 이 기능은 여러분의 고객이 링크를 클릭하여 열거나 참여한 이메일 숫자 등에 대한 정보를 알려줍니다.

 

클라우드 지원 엔지니어로서 일했던 저는 Amazon SES고객들이 이벤트 퍼블리싱에 대해 훌륭한 일을 하는 것을 본 적이 있지만, 일반적인 문제들도 많았습니다. 이 기사에서는 이러한 문제를 살펴보고 이를 해결하기 위한 조치에 대해 논의합니다.

 

시작하기 전에
이 게시물에서는 Amazon SES계정이 이미 sandbox를 벗어나 이메일 주소나 도메인과 같은 ID를 확인했으며 이벤트 데이터를 게재할 Amazon SES 나 서비스를 사용할 수 있는 승인을 갖고 있다고 가정합니다.

 

또한 구성 집합을 생성하고 이러한 구성 집합의 이벤트 대상을 지정하는 프로세스에 익숙하다고 가정합니다. 자세한 내용은 Amazon SES개발자 가이드에서 ‘Amazon SES구성 집합 사용하기’를 참조하세요.

 

 

Amazon SNS 행사 Destination
이벤트가 발생할 때 알림을 받으려는 경우, 수신인이 이메일에서 링크를 클릭하거나 이메일을 스팸으로 보고하는 경우, Amazon SNS를 ‘event destination’으로 사용할 수 있습니다.

 

때때로 고객들은 이벤트 destination으로 Amazon SNS를 사용할 때 왜 알림을 받지 못하는지에 대해 질문합니다. 이 문제의 가장 흔한 이유 중 하나는 고객들이 아직 그들의 Amazon SNS 주제에 대한 가입 신청을 구성하지 않았기 때문입니다.

 

Amazon SNS의 단일 항목은 하나 이상의 구독을 포함할 수 있습니다. 항목에 가입하면 알림을 받을 때 연결할 끝점 (예: e-메일 주소 또는 휴대폰 번호)을 해당 항목에 알려 줍니다. 구독을 설정하지 않은 경우에는 이메일 이벤트가 발생할 때 아무 일도 발생하지 않을 것입니다.

 

항목 및 구독 설정에 대한 자세한 내용은 Amazon SNS개발자 가이드에서 ‘시작하기 (Getting Started) 부분을 참조하십시오. Amazon SES이벤트를 Amazon SNS 토픽에 게재하는 것에 대한 자세한 내용은 ‘Amazon SES개발자 가이드’에서 Amazon SES이벤트 게재를 위한 Amazon SNS이벤트 대상 설정 (Set Up an Amazon SNS Event Destination for Amazon SES Event Publishing)을 참조하세요.

 

Kinesis Data Firehose이벤트 대상
Amazon SES이벤트 데이터를 장기적으로 저장하려면 Amazon Kinesis Data Firehose를 AmazonSES이벤트의 대상으로 선택합니다. Kinesis Data Firehose를 사용하면 AmazonS3또는 Amazon Redshift에 데이터를 스트리밍하여 저장하고 분석할 수 있습니다.

 

Kinesis Data Firehose를 이벤트 대상으로 설정하는 프로세스는 Amazon SNS를 설정하는 프로세스와 유사합니다. 사용자가 원하는 이벤트 유형(예: 전송, 열기, 클릭 또는 송)을 선택하십시오. 하지만 여기에는 한 가지 중요한 차이점이 있습니다. Kinesis Data Firehose이벤트 대상을 설정할 때는 Amazon SES가 Kinesis Data Firehose에 이벤트 데이터를 보내는 데 사용하는 IAM역할도 선택해야 합니다.

 

Kinesis Data Firehose 이벤트 대상을 설정할 때 Amazon SES가 사용자를 위한 IAM역할을 자동으로 생성하도록 선택할 수 있습니다. 많은 사용자에게 이는 최상의 솔루션인데 이는 IAM역할이 Amazon SES에서 Kinesis Data Firehose로 이벤트 데이터를 이동할 수 있는 적절한 사용 권한을 갖도록 보장하기 때문입니다.

 

고객은 기존 IAM역할을 사용할 때 종종 Kinesis Data Firehose이벤트 대상 문제에 직면합니다. 기존 IAM역할을 사용하거나 이를 위해 새 역할을 생성하는 경우 이 역할에 firehose:PutRecord및 firehose:PutRecordBatch 사용 권한이 포함되어 있는지 확인하십시오. 역할에 이러한 사용 권한이 포함되어 있지 않으면 Amazon SES이벤트 데이터가 KinesisDataFirehose에 게시되지 않았음을 뜻합니다. 자세한 내용은 Amazon Kinesis Data Firehose Developer Guide의 Controlling Access with Amazon Kinesis Data Firehose 을 참고하세요.

 

CloudWatch event destinations

AmazonSES이벤트 데이터를 AmazonCloudWatch에 게재하면 전송 통계를 실시간으로 추적하는 대시 보드와 이벤트 메트릭이 특정 한계점에 도달하는 시기를 알려 주는 경보를 생성할 수 있습니다.

 

CloudWatch사용에 대해 청구되는 금액은 사용하는 메트릭 수를 포함한 몇 가지 요인에 따라 달라집니다. 특정 메트릭에 대한 제어를 제공하기 위해 CloudWatch에 보내고, 예상치 못한 변경을 방지하는 데 도움이 되는 용도로 Cloud에 보내는 이메일 전송 이벤트를 제한합니다.

 

CloudWatch를 이벤트 대상으로 선택할 때는 value source를 선택 합니다. Value 소스는 세가지 옵션 중 하나를 선택할 수 있습니다. 메시지 태그, 링크 태그 또는 이메일 헤더가 그것입니다. 값 원본을 선택한 다음 이름과 값을 지정합니다. CloudWatch이벤트 대상과 관련된 구성 집합을 사용하여 이메일을 보내는 경우, 이메일에 소스로 지정한 이름 및 값이 포함된 경우 해당 이메일에 대한 메트릭만 CloudWatch 에게 보냅니다. 이 요구사항은 보통 간과되기 쉽습니다.

 

예를 들어 메시지 태그를 값 소스로 선택하고 “CategoryId”를 디멘션 이름으로,”31415″를   디멘션 값으로 지정했다고 가정합니다. 이메일에 대한 이벤트를 CloudWatch로 보내려면 CloudWatch대상을 사용하는 구성 집합의 이름을 지정해야 합니다. 메시지에 태그도 포함해야 합니다. 태그의 이름은 “CategoryId”이고 값은 “31415” 이어야 합니다.

 

메시지의 테그와 이메일 헤더 추가에 관한 정보는 Amazon SES Developer Guide

Send Email Using Amazon SES Event Publishing 를 참고하세요. 링크에 테그를 첨부하는 것에 관하여는, Amazon SES Email Sending Metrics FAQs 를 참고하세요.

 

Troubleshooting event publishing for open and click data

가끔 고객들은 왜 이메일 열람 & 클릭율 (open and click data)를 볼 수 없는지 문의합니다. 이 문제는 고객이 이메일의 텍스트 버전만 보내는 경우에 가장 자주 발생합니다. Amazon SES가 이메일 열람율를 추적하기 때문에 고객들 또한 HTML로 전송되는 이메일에 대한 열람율만 확인할 수 있습니다. 사용자의 이메일 열람율을 설정한 후 Amazon SES가 이메일을 수정하는 방법에 대한 자세한 내용은 Amazon SES Developer Guide의  Amazon SES Email Sending Metrics FAQs 를 참고하시면 됩니다.

 

HTML이메일을 전송하는 데 사용하는 프로세스는 사용하는 이메일 전송 방법에 따라 다릅니다. Amazon SES개발자 가이드의 Code Examples섹션은 Amazon SES SMTP 인터페이스나 AWS SDK를 사용하여 이메일을 보내는 여러 가지 예를 포함하고 있습니다. 이 섹션의 모든 예들은 HTML (Text-Only )이메일 전송 방법 또한 보여줍니다.

 

만약 여기서 다루지 않은 이슈를 직면하게 된다면 Support Center 에서 케이스를 오픈해 주세요. (open a case in the Support Center)

 

원문 URL : https://aws.amazon.com/ko/blogs/ses/troubleshooting-event-publishing-issues-in-amazon-ses/

 

** 메가존 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.