I have been working on transferring a lot collection of image to amazon S3. I have a bucket policy set to prevent public access to the images and all I'm doing it copying the images from my current host to S3.
I have currently moved 2.8 GB of photos. When I look at my billing it says
I have used 128 GB of month data transfer out beyond the global free tier. How is this possible if all I'm doing is transferring into S3?
How is this calculated? and is there anyway to see the details and or dispute the bandwidth calculation?
As @Michael-sqlbot point out, if you use anything outside AWS network(or AWS cross region ) , data traffics is going to cost you dearly. Since you mention Digital Ocean : if your web apps in Digital ocean access S3 bucket, AWS definitely charging you the data "out" bandwidth.
S3 cheap storage is best for AWS same region data processing. E.g. launch EC2 instance and do massive processing on multiple GB of s3 data. Similar what you did inside a intranet.
Serving S3 data to outside world is another story, this is similar to typical web hosting : you need to pay for the bandwidth. Anyone that need to serve web request from S3 should subscribe to CDN cache (content delivery network) to avoid the massive s3 bucket internet download cost.
If you just want to save tons of image for occasional retrieval, S3 is not a right place. Instead, you should just use google drive, dropbox,etc.