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.