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.

Many thanks to cybremancer for writing an easy-to-follow S3 migration guide!