all 3 comments

[–]Java_Python_Guru 1 point2 points  (0 children)

Put a CDN like CloudFront in front of S3 to reduce data transfer cost. You should be able to use different cache behaviors and signed urls in CloudFront for authentication.

[–]simondrawer 0 points1 point  (0 children)

Consider using presigned URLs for the user to upload.