|
|
|
|
|
by kvz
2616 days ago
|
|
There's two ways to directly upload to S3 buckets (or GCS): 1) You allow append-only access for the world, maybe in combination with an expiry policy. Indeed only useful for a few use cases I'd say 2) You deploy signing of requests, and you only sign for those who are logged in, or otherwise match criteria important to your app. A bit more hassle, and still requires server-side code (whether traditionally hosted or 'serverless'), but at least your servers aren't receiving the actual uploads, taking away a potential SPOF and bottle-neck. That said, I'm not sure how serious you are about handling file uploads, but uploading directly to buckets often means uploading to a single region (on aws, a bucket may be hosted in us-east-1 for instance, meaning high latency for folks in e.g. Australia). This may or may not be problematic for your use case, but it did bring us complaints when we had that. |
|
You can use https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acc...
S3 acceleration uses the cloudfront distributed edge locations. As the data arrives at an edge location, data is routed to Amazon S3 over an optimized network path. This costs more money though.