Despite the popularity of S3 storage and having an AWS account, I haven't really used it before. However, I had some gigabytes of content that I want to store almost like an archive off the more expensive block storage options I was using. I did a cursory analysis of the options available and this is the research I have so far.
The primary considerations for me are:
- cost per GB per month/year
- egress charges i.e. how much will it cost to download the data back or consume it off the cloud. Ingress is usually free for most services
- any minimum charges
The subscription of Google One gives about 100GB for less than $3 a month which is pretty great. However, it was difficult to load data to Google drive from command line in Linux using tools like rlcone and gdrive available at the time so I discarded it for the moment. However for less than 100 GB of strorage this is a pretty good option. I wish there were SFTP or other each mechanisms consumable from Linux for this.
Digital Ocean Spaces
This probably one of the cheapest options available but the downside is there is a minimum charge of $5 per month. It gives you 250GB and a generous 1TB egress limit per month. I would likely go for this option if I start hitting storage requirements close to 250GB. However, for a few GB's > 5GB, this is not a very viable option for me at the moment. The service is also S3 compatible.
Again this is one of the cheap options, but the free tier was 5GB and my data was greater than that so I didn't really spend much time looking at it further.
I ended up going for this option as this has no minium payment and standard storage is $0.0125 per GB. Although there are some egress charges, I will not be using egress much for now so I'm okay with it. The access control options seem a bit complex to apply right away and would definitely help that they simplify it further. One of the key things that I like about S3 is the S3 Select service which allows you to query data in place with SQL like syntax. There is also cheaper options for infrequently accessed data via S3 Glacier offering.
The quickest way for me was to use the AWS CLI which is really easy to setup and use with familiar Linux commands.