AWS CloudFront basics
What is CloudFront?
Section titled “What is CloudFront?”AWS CloudFront is a Content Delivery Network (CDN) service to accelerates the delivery of content like HTML, CSS, JavaScript, and media files. it also Improves user experience by caching content at edge locations worldwide.
Why Use CloudFront?
Section titled “Why Use CloudFront?”We use CloudFront to have:
- Low latency and high transfer speeds.
- Scalable and cost-effective for distributing static and dynamic content.
- Secure content delivery (e.g., HTTPS, OAI, signed URLs).
Key Concepts
Section titled “Key Concepts”- Distributions: Primary entity for delivering content (Types: Web, RTMP).
- Origins: The source of content (e.g., S3 bucket, HTTP server).
- Edge Locations: Physical data centers for caching content closer to users.
- Cache Behaviors: Rules for how CloudFront handles requests (e.g., caching settings, path patterns).
- TTL (Time to Live): Duration for caching content at edge locations.
- HTTPS and SSL/TLS: Secure content delivery with custom SSL certificates.
Working with AWS CloudFront
Section titled “Working with AWS CloudFront”Prerequisites:
Section titled “Prerequisites:”- AWS CLI installed and configured with appropriate IAM permissions.
Create a CloudFront Distribution
Section titled “Create a CloudFront Distribution”let’s create a CloudFront distribution that serve data from AWS S3 bucket:
aws cloudfront create-distribution --origin-domain-name <origin-domain> --default-root-object index.html- Replace
<origin-domain>with your S3 bucket or web server domain.
List CloudFront Distributions
Section titled “List CloudFront Distributions”to display all existing CloudFront distributions and their details, we use it usually to verify the distribution or find its ID.
aws cloudfront list-distributionsUpdate a Distribution
Section titled “Update a Distribution”to fetch the current configuration of a distribution so you can modify and reapply it
- Fetch the distribution config:
aws cloudfront get-distribution-config --id <distribution-id>let’s Modify the configuration file locally, Update the distribution:
aws cloudfront update-distribution --id <distribution-id> --distribution-config file://path-to-config.jsonInvalidate Cache (Purge Files)
Section titled “Invalidate Cache (Purge Files)”To remove cached content from all edge locations, forcing CloudFront to fetch updated content from the origin we need to invalidate the cache:
aws cloudfront create-invalidation --distribution-id <distribution-id> --paths "/*"Delete a Distribution
Section titled “Delete a Distribution”To delete a Distribution we need to disable the distribution first
aws cloudfront update-distribution --id <distribution-id> --enabled falseOnce disabled, Then we can delete it as follow:
aws cloudfront delete-distribution --id <distribution-id>Conclusion
Section titled “Conclusion”By understanding AWS CloudFront key concepts and learning basic operations, we can easily manage distributions and optimize content delivery. With these fundamentals, we’re now prepared to explore integrating CloudFront with our applications for content delivery.