In episode #109 of Mobycast, we started our discussion on how to build a massively scalable image hosting service. We talked about the general architecture and then dove deep on how to handle image uploads.
But uploading is only half the solution. We also need to allow downloads of the images. Turns out, downloading is a totally different game.
In this episode of Mobycast, Jon and Chris finish their two-part series on building an image hosting solution. We discuss in detail how to enable downloads of files with the help of CloudFront, a global network of edge locations that makes it easy to achieve massive scale.
In this episode, we cover the following topics:
- We discuss the features and limitations of serving files directly from S3.
- We then talk about how CloudFront can address many of S3’s limitations. In particular, CloudFront is performant, inexpensive and allows us to use custom CNAMEs with TLS encryption.
- How to create a secure CloudFront distribution for files hosted in S3.
- What is OAI (Origin Access Identity), why we need it and how to set it up.
- We show how you can configure your CloudFront distribution to use TLS and redirect HTTP to HTTPS.
- We finish up by discussing “byte-range requests” and how to enable them for our image hosting solution.
- Customizing Amazon S3 URLs with CNAMEs
- Amazon S3 website endpoints
- How do I use CloudFront to serve HTTPS requests for my Amazon S3 bucket?
- AWS Certificate Manager Supported Regions
- Server Name Indication (SNI)
- How CloudFront Processes Partial Requests for an Object (Range GETs)
We’d love to hear from you! You can reach us at: