Getting started with Amazon S3: A replacement for Dropbox

Dropbox is amazing. The ability to have files saved in the cloud, yet with the ease of use that comes with having them saved locally, is quite revolutionary. I could never imagine going back to the dark era of saving directly to the C drive, a time when one misplaced swing of your hard drive head could render your entire digital life erased forever.

But that’s not to say that Dropbox, or any of their rival clones like Google Drive or OneDrive, have to be the way forward. Many of these services use Amazon S3, Amazon’s famous web storage service, part of Amazon Web Services. If you’re here, you probably already have your own reasons for investigating S3, but for me it was a combination of cost (see below), wanting to learn more about how S3 works, and basically cutting out the middleman.

This guide will help you in getting started with Amazon S3: what S3 is, what it costs, and what you might do with it.

What is S3?

Think of S3 as a web app where you can store and access files online. Amazon explain the process in their words here.

When you have registered for AWS, you can access the full suite of AWS apps on their dashboard. The number of things you can do with AWS is quite bewildering, but for now let’s focus on S3.

Amazon Web Services AWS dashboard

Creating your first bucket

Within S3, you store files within top level folders called ‘buckets’. We need to create a bucket to store files in. This bucket name must be globally unique – i.e. no other bucket in the world can have the same name as yours. The reason for this is that we can choose to access our bucket with a URL, which of course must also be unique. It’s convention to start the bucket name with the organisation or website we represent.

Click ‘create bucket’ in the top left. Then give your bucket a name. You can’t change the name later, so give it something sensible.

Create new bucket for Amazon S3 dialog box

You also need to choose a region. This is the data centre that Amazon will use to store your data. There are two factors influencing your choice:

  • Price: Different regions have slightly different prices, and you might want to choose a cheaper region.
  • Distance: Generally speaking, the closer the server is to you, the faster it will be. If you are using S3 for public access (e.g. downloading files from your website) you may choose to use a region that is closer to where most of your visitors come from, rather than where you personally live.

For personal storage, Ireland was an obvious choice for me. It is close to England, and is among the cheapest.

Adding files to our bucket

Once we’ve created our bucket, we can open it and start adding files to it.

List of buckets in Amazon S3

Once inside, click ‘upload’ and add some files. When you’re finished, you should see them in your bucket!

Uploaded file in Amazon S3 screenshot

Downloading files from our bucket

Downloading files is equally simple. Just right-click on any file and click open. (You may need to enable pop-ups in your browser for this to work.) Files like .txt and .pdf will open in your browser. Otherwise, it will download. You can also just use the ‘download’ option in the right-click menu.

Right click file to open in Amazon S3

What does S3 cost?

The short answer – S3 is cheap. The average domestic user is unlikely to spend more than a few dollars each month.

Calculating the price is difficult though. Whereas Dropbox uses a flat price (currently £7.99 per month in the UK for Dropbox Pro), S3 uses a pay-as-you-go system where you pay only for what you use. You pay both for storage and for transferring data.

The different components that contribute to your S3 bill are:

  • Storage: approx. $0.03 per GB per month
  • Uploading files: approx. $0.005 per 1000 items*
  • Downloading files: approx. $0.004 per 10,000 files* PLUS $0.09 per GB (first GB free)

So, if you are storing 20GB, and each month you download 2GB consisting of 1000 files, as well as uploading/updating 200 files, you will pay (20GB * $0.03) + ($0.005 * 200 / 1000) + ((2GB – 1GB) * $0.09) + ($0.004 * 1000 / 10000) = $0.6914. These prices don’t include tax, so when we add tax of 20% (or equivalent in your country) the total is $0.83 per month.

Amazon provide a calculator to give more detailed estimated bills here. In the example above, we would enter the data as:

Estimated cost calculator example Amazon S3

Interestingly, Dropbox and other companies do offer as much as 1TB in their offers. To store 1TB with S3 would cost $30, much more than £7.99 (about $12). Costs do come down a little for large customers, but I can only assume that the 1TB is being promoted as a kind of loss-leader.

Free tier: Amazon’s introductory offer

As an added bonus, Amazon are offering 12 months of limited free service on all of AWS, including S3. Everything included in this deal is called the free tier. Among other benefits, the free tier offers:

  • 5GB free storage
  • First 2000 uploads (PUT requests) per month free
  • First 20000 downloads (GET requests) per month free

 

Read more here about the free tier.

So what can I use S3 for?

As we can see, the S3 interface is functional but very basic. In itself, it is not intended to compete with highly polished solutions like Dropbox, but with the right approach it can be a very powerful approach to handling files. Some things that you might use it for include:

S3 for personal backup

Save all of your important files to your S3 bucket. By default, your bucket is set on ‘private’ mode, so anything you upload will be secure and only accessible by you.

S3 for sharing public images and documents

You can use S3 to host images and documents for websites, or otherwise provide an alternative to FTP. Every item you upload to S3 will get its own web address. You can find this address by looking at a file’s properties in the web interface:

Amazon S3 file properties and URL

If you copy the link on the right into your browser, it should open the document.

BUT, remember the permission settings? By default, if anyone other than you tries to view this link, they will get an ‘access denied’ error in their browser.

So what we do is to change the permission so that anyone can view the image. In the properties window again, find the ‘permissions’ tab:

Add custom permissions in Amazon S3

With the above settings, you should now be able to open the file from any web connection in the world, like this one.

But be careful with this setting! It exposes your file to the world, so don’t make the mistake that many have made and use it for sensitive information. See the next item if you want controlled sharing.

Sharing files with specific people

You can set permissions to any email address, assuming the owner of that email address has also signed up for AWS with that email address. In the permissions drop down box, you can type in the email address. If that doesn’t work, you can ask the other person for their account number.

Add custom permissions Amazon S3

Other cool stuff you can try with S3

 

 

Conclusion

We’ve seen how easy it is to create an Amazon S3 account and to upload and download files from it. But the current process still feels very manual – it lacks the streamlined set-and-forget syncing ability of Dropbox.

Over the next week I will be trying different solutions to see whether a full, convenient alternative to Dropbox is possible with S3. At the moment I am transferring data from Dropbox and OneDrive with MultCloud, so let’s see how it goes!