Migrating media to S3

This morning, I moved all of the user-generated content on Free Radical from local storage to S3. It was completely painless and Just Worked – yay! There are a few reasons why this can be a great idea:

S3 is much cheaper per GB than other AWS storage. EC2’s base rate is $0.023/GB/month, compared to:

EC2+SSD: $48/month for 4GB

EC2+HDD: $500/month for 6TB

EBS: $0.10/GB/month for the basic slow version

EFS: $0.30/GB/month

(All prices are for us-west-2 in Oregon)

S3 has good data durability. For personal-grade Mastodon instances, it’s probably Good Enough that you won’t need to additionally backup the data you’ve stored in it.

It comes with “lifecycle management”. You can easily make rules like:

Store new files at the regular price

When no one has looked at them for 30 days, move them to half-price “infrequent access” storage

When no one has looked at them for 60 days, delete them

S3 is a complete service. It actually serves the files to your users, compared with attached storage which makes you provide the webservers required to send them.

And on the subject of transmitting: data transfer costs on S3 are the same as for EC2, so you end up paying $0.00 to let someone else manage it all for you.

Summary: S3 may be a great way to simplify your Mastodon setup, save costs, and provide better service to your users.