Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to separate Amazon SES account for production and development?

I'm looking for the best approach for organizing sending emails via Amazon SES in development and production environment.

Is it possible to separate two SES accounts (one for production, one for development) within one account ID? Development using production SES account is not an option because SES pushes events to queues (deliveries, bounces etc) which are processing all the time.

The solutions which I see at the moment are:

  1. Create completely new Amazon account with only one service active (SES).
  2. I read something about IAM policies but I'm not sure is it a good direction.
  3. I read something about sandbox but if I good understand it only exists for new accounts (?)

Maybe someone heard/resolve that problem with more elegance solution?

like image 921
Michal S. Avatar asked Sep 20 '17 16:09

Michal S.


People also ask

How do I enable SES Production Access?

In the navigation pane, choose Account dashboard. In the warning box at the top of the console that says, "Your Amazon SES account is in the sandbox", on the right-hand side, choose Request production access.

Can I have multiple AWS accounts?

AWS Organizations provides you with the ability to centrally manage your environment across multiple accounts. You can create and organize accounts in an organization, consolidate costs, and apply policies for custom environments.

What is Sandbox mode in AWS SES?

The Amazon SES sandbox is an area where new users can test the capabilities of Amazon SES. When your account is in the sandbox, you can only send email to verified identities. A verified identity is an email addresses or domain that you've proven that you own.

What is AWS Multi account strategy?

The multi-account strategy helps create separate billable items across business units, functional teams, or individual users. Quota allocation – AWS quotas are set up on a per-account basis. Separating workloads into different accounts gives each account (such as a project) a well-defined, individual quota.


2 Answers

You could setup your production SES in one AWS region (like us-east-1), and your test SES in a different region (like us-west-2). I'm not sure if this would be better or more elegant than using two separate AWS accounts. It depends on your exact needs.

When you setup SES in a region it will be in sandbox mode until you request AWS take it out of sandbox mode.

like image 54
Mark B Avatar answered Oct 20 '22 15:10

Mark B


When you setup your deployment environments, it would be better if you create a separate AWS account for production and another one for testing and staging. You can setup consolidated billing and AWS organizations to simplify the management of multiple accounts. In addition, you can get a test domain for testing and staging deployments, where you can configure it with SES to send mails.

Answering your questions in order

  1. Create separate accounts not only for SES, a separate one for production deployment.
  2. Using IAM alone you won't be able to manage isolated triggers in SES.
  3. In any account Sandbox is default for SES, You need to contact AWS support and increase the limits.
like image 41
Ashan Avatar answered Oct 20 '22 15:10

Ashan