maxito
maxito

Reputation: 21

AWS Email Workflow

I have been working on AWS for the last month trying to scale our application email sending, we were using email chimp and decided to migrate our servers to amazon. Our application currently generates between 3000-4000 emails a day (not all at once and in different time span). The issue i'm trying to solve is deliver the emails in the least time possible (SES send is 14 mails/s.)

What i been able to do is: Application -> SQS -> Lambda pull (schedule 1 per minute that pull 10 messages) -> SES -> SNS -> Application.

The Lambda schedule is generated with the cloudwatch rule, i've seen that you can target events but i haven't been able to do it =(

I'm trying to find the correct approach but i haven't been able to put all my thoughts together.

Can anyone help me? =)

Upvotes: 0

Views: 67

Answers (1)

Manoj
Manoj

Reputation: 2442

Firstly if you want to increase the maximum send rate, you may open a case in the Support Center.

Then you could setup a CloudWatch alarm for your SQS NumberOfMessagesSent metric and call a SNS topic that triggers a Lambda. You can trigger this Lambda if your NumberOfMessagesSent is greater than a certain value. eg: 1, 10 or maximum SES send rate. Lambda could call SES and send emails for the newly added messages. The method that I'm proposing is SNS -> Lambda -> SES. In this method, you may not want to rely on a schedule.

Upvotes: 1

Related Questions