S3 Deployment

mhodgson edited this page Sep 26, 2012 · 1 revision

S3 Deployment

To deploy to an S3 bucket, setup your environments like so:

  deploy_strategy: s3
  aws_key: "my_access_key"
  aws_secret: "my+super+secret+access+key"
  deploy_bucket: "mysite.test.com"

You'll need to enter your own credentials. You can find your S3 credentials on the AWS Security Credentials page.

Next, you'll need visit the AWS S3 Console and create a bucket to host your app. We suggest using the same as your fully qualified domain name. You should not use this bucket for anything else.

click here

create bucket

Next, you'll need to turn on S3 Website Hosting in the S3 console.

bucket properties

enable website

You'll need to create a new CNAME record. How this works is up to your hosting provider, but it should look something like this.

app.example.com. IN CNAME app.example.com.s3-website-us-east-1.amazonaws.com.


You'll probably want to be able to log requests to your site. Even though your app uses cutting edge webscale tools like Airbrake, Loggly, Google Analytics, MixPanel, et al, eventually you'll want to know how many people hit you with IE6 or NoScript, and you gave them the middle finger.

Create a bucket log using the AWS S3 Console. Give it a name like logs.example.com and update either your app's CloudFront distribution or your app's S3 bucket to write its log files to this log bucket.

enable logging