Category Archives: Amazon AWS

Amazon SES – Setup and get started!

facebooktwittergoogle_plusredditpinterestlinkedintumblrmail

We needed to use a mail service to send email from the domain www.toysshare.com – The obvious choice for us was Amazon SES due to the following reasons:

  1. It was available in Free tier and we were already signed up for the free tier.
  2. It is one of the most reliable email service, it eliminates the need to deal with deal with infrastructure challenges such as email server management, network configuration, and IP address reputation.
  3.  Additionally, many third-party email solutions require contract and price negotiations, as well as significant up-front costs.
  4. Amazon SES provides SMTP or a simple API call  to access a high-quality, scalable email infrastructure to efficiently and inexpensively communicate to your customers.

To get setup with Amazon SES you simply have to,

  • Sign Up: After signing up, you can access the Amazon SES sandbox – an environment specifically designed for developers to test and evaluate the service. If you have already signed up for Amazon AWS you don’t need to do this. If not please check here on how to do that.
  • Verify Domains or Email Addresses: Before you can send email via Amazon SES, you need to verify that you own the domain or address from which you’ll be sending email. To start the verification process, visit the Amazon SES console. Here is a link on how to accomplish this step in Amazon SES console: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html
  • Request Production Access: Once you are ready to use Amazon SES to send email, you request production access. This will allow you to move from the sandbox environment to the production environment and begin sending email to your customers. It only takes a few minutes to apply for production access, and you usually receive a response within 24 hours. Here is how you can request the production access for Amazon SES: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html
  • Send Email: You can use either SMTP or the Amazon SES API to queue an email message for delivery. Here is how you can obtain access key for Amazon SES API: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/get-aws-keys.html
  • Get Feedback: Amazon SES provides useful statistics about your sending activities. With a simple query or Amazon SES console visit, you can quickly obtain vital statistics such as volume sent, bounces and complaints. http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-usage-statistics.html

Just follow the following link to get going: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/quick-start.html

Once you have setup the environment by verifying the domain, and getting the production access use the following link to see how you can use SMTP or SES console to send an email: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/getting-started.html

This is how you can get your SMTP credentials from Amazon and use it in your application: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-credentials.html

That is it, it is very simple. Though there are some limits on how many email you can send using Amazon SES : http://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html 

As part of free tier, you can get started with Amazon SES for free. You can send 2,000 messages for free each day when you call Amazon SES from an Amazon EC2 instance directly or through AWS Elastic Beanstalk. Many applications are able to operate entirely within this free tier limit, and it does not expire after a year. Find more pricing details here: http://aws.amazon.com/ses/pricing/

Amazon AWS Getting Started

facebooktwittergoogle_plusredditpinterestlinkedintumblrmail

Here we will go over the basic steps that we followed during the process of getting started and setting up our Amazon web server. Here are the first few steps that we followed:

  1. Create an AWS Account – follow this link to create your AWS account, that is the first step in getting started on Amazon AWS. If you already have an account skip to the step #2. Following is some list of services you can signup for – figure out which services is required for your application:
    Amazon AppStream Amazon Simple Queue Service (SQS)
    Amazon CloudFormation Amazon Simple Storage Service (S3)
    Amazon CloudFront Amazon Simple Workflow Service (SWF)
    Amazon CloudSearch Amazon SimpleDB
    Amazon CloudWatch Amazon Virtual Private Cloud (VPC)
    Amazon DynamoDB Amazon Workspaces
    Amazon Elastic Compute Cloud (EC2) Auto Scaling
    Amazon Elastic MapReduce AWS CloudHSM
    Amazon Elastic Transcoder AWS Data Pipeline
    Amazon ElastiCache AWS Direct Connect
    Amazon Glacier AWS Elastic Beanstalk
    Amazon Kinesis AWS Import/Export
    Amazon Mechanical Turk AWS OpsWorks
    Amazon Redshift AWS Storage Gateway
    Amazon Relational Database Service (RDS) AWS Support (Basic)
    Amazon Route 53 Elastic Block Store (EBS)
    Amazon Simple Email Service (SES) Elastic Load Balancing
    Amazon Simple Notification Service (SNS) Product Advertising API
  2. The basic foundation services Amazon AWS provides are: Compute, Storage, Database and Networking.
  3. For our application purposes we figured we will need to use 2 of AWS services, Amazon Elastic Compute Cloud or EC2 and Amazon Simple Email Service (SES).
  4. Let us go over how to get started with Amazon EC2 in this article and we can go over the SES in next article.
  5. Once you have decided that you need to go with EC2 figure out which version of EC2 do you need to use, Linux or Windows?
  6. We have a LAMP application so we needed to go with EC2 Linux instance.
  7. Here are some pre setup steps to get Started with Amazon EC2: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html
  8. Here are the steps to launch a linux Amazon EC2 instance : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html
  9. Here is how you can install LAMP web servers on Amazon Linux EC2 instance: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html
  10. We needed to install phpmyadmin as our outsourcing team was comfortable using that – I would not recommend to open up your mysql on web but temporarily we did open it. Here is how we go the phpmyadmin working: http://geekact.com/2115/install-phpmyadmin-on-vps-or-amazon-ec2-and-vpc
  11. You might need to tweak your .htaccess file in phpmyadmin directory to get it working.
  12. Here is how you can transfer files to Amazon EC2 Linux instance using SCP: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html#AccessingInstancesLinuxSCP
  13. You can also use SFTP to transfer the files. For that you need to open the SFTP port, you can refer to the link in #7 to see how can you do that. Then use the .pem file you downloaded – you can add that to your preferences on your FTP client. For example, with Filezilla I add that file to preferences-> SFTP -> Add Keyfile-> upload the pem file here.
  14. Here is how you can use WinSCP to copy the files: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html#Transfer_WinSCP

The above are basic steps that you would follow in order to create and Amazon EC2 Linux instance, install the LAMP server and transfer your application files. If you need to work with a Windows instance please follow the link: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2Win_GetStarted.html

If you are planning on using the Amazon Free Tier, and want to know more about it please refer to: http://docs.aws.amazon.com/gettingstarted/latest/awsgsg-intro/gsg-aws-free-tier.html

Hope this article helps you get setup with Amazon AWS. In the next article we will go over SES setup.