Deploy to Amazon AWS S3
What you need: Simply Static Pro
Simply Static can push your static site to an Amazon S3 bucket, which is a great choice if you already use AWS. S3 is cheap, flat file storage with no database and no server-side code, which is exactly what a static site needs.
Before you start (on the AWS side)
You'll need two things from AWS before connecting Simply Static:
- An S3 bucket to hold your files.
- Credentials so Simply Static can upload to it (an IAM access key and secret, or EC2-based authentication).
The AWS Console changes often, so we link out to Amazon's own up-to-date guides rather than repeat their screens here:
- Create a bucket and enable static website hosting: Configuring a static website on Amazon S3
- Create an access key: Managing access keys for IAM users
A few bucket choices are worth understanding up front, because they line up with settings in Simply Static:
- Region: pick a region close to your visitors. You'll select the same region in Simply Static.
- Object Ownership / ACLs: if you serve the bucket through CloudFront, you can leave ACLs disabled. If you use S3's own static website hosting, ACLs are generally required. This pairs with the Disable ACL on uploads option below.
- Block Public Access: if you want files served publicly (for example, through S3 static website hosting), you'll need to allow public access or add a bucket policy. This mostly applies when authenticating with IAM access keys.
Choose the AWS S3 method
Open Simply Static > Deploy. Under Deployment Settings, set the Deployment Method dropdown to AWS S3. The Amazon AWS S3 fields appear below.

Pick an authentication method
The Authentication Method dropdown offers two options:

- AWS IAM Access Key: the traditional approach, and the one we recommend if you're new to AWS. You enter an Access Key ID and Secret Access Key.
- AWS EC2: Simply Static uses the AWS SDK to automatically retrieve credentials from the permissions configured in your AWS environment. Setting AWS up for this method is outside our support scope.
Fill in your bucket details

- Access Key ID and Secret Access Key: your AWS credentials (for the IAM method).
- Region: the region your bucket lives in, for example, US East (Ohio).
- Bucket: the name of your bucket.
- Subdirectory: optional. Push your files into a subfolder of the bucket instead of the root.
- CloudFront Distribution ID: optional. If you serve the bucket through CloudFront, add the distribution ID, and Simply Static automatically invalidates the cache after each push.
- Webhook URL: optional. Simply Static sends a POST request to this URL after all files are transferred to S3, which is handy for triggering follow-up automation.
- Disable ACL on uploads? By default, Simply Static sends an ACL header with each upload. If your bucket has ACLs disabled, enable them so the header isn't sent.
- Empty bucket before new export? Turn this on to clear the bucket before each push, so old files are removed first. Leave it off to keep the existing contents and overwrite in place.
When everything is filled in, click Save Settings.
Push your site
Click Push from the panel on the left, then open Simply Static > Activity Log to watch the progress. Once it finishes, your files are in your S3 bucket.
Make your site accessible
A bucket on its own isn't a website yet. There are two common ways to serve it:
- CloudFront (recommended for production, and works with ACLs disabled): point a CloudFront distribution at your bucket, then add its CloudFront Distribution ID above so the cache refreshes after each push.
- S3 static website hosting: enable static website hosting on the bucket and set the index document to
index.html. Amazon's guide walks through it: Configuring a static website on Amazon S3.
To use a custom domain with Route 53, see Amazon's custom domain walkthrough.
Finally, make sure your link settings match where the site will live. See How to replace URLs.