Skip to main content

SAA - C03 Certification: CloudFront

Updated 2 min readMarkdown
Part of seriesSAA-C03 Certification

Origins

S3 bucket

  • CloudFront can be used as an ingress (to upload files to S3)

Custom Origin (HTTP)

  • Application Load Balancer

  • EC2 Instance

  • S3 website (must first enable the bucket as a static s3 website)

  • Any HTTP backend you want

The difference between CloudFront and S3 Cross Region Replication

CloudFrontS3 Cross Region Replication
Global network edgeMust be set for each region you wish replication to happen
Files are cached for a TTLFiles are updated in near real-time
Read Only
Great for static content that must be available everywhereGreat for dynamic content that needs to be available at low latency in a few regions

Price Classes

You can reduce the number of edge locations for cost reduction

Three price classes:

  • Price Class All: all regions - best performance

  • Price Class 200: most regions

  • Price Class 100: only the least expensive region

Cache Invalidations

If you update the back-end origins, CloudFront does not know about it and will only get the refreshed content after the expired TTL

However, you can force an entire or partial cache refresh by performing a CloudFront Invalidation

You can invalidate all files (*) or a special path (/images/*)

AWS Global Accelerator

Leverage the AWS internal network to route your application

2 Anycast IPs are created for your application

The Anycast IP sends traffic directly to Edge Locations

The Edge locations send the traffic to your application

Works with Elastic IP, EC2, ALB, NLB, public or private

Unicast vs Anycast IP

Unicast IP: one server holds one IP address

Anycast IP: all servers hold the same IP address and the client is routed to the nearest one

7 views

About the author

  • I am a dedicated software engineer with a deep passion for security and a commitment to developing robust and scalable solutions. With over three years of hands-on experience in the .NET ecosystem, I have built, maintained, and optimized various software applications, demonstrating my ability to adapt to diverse project needs. In addition to my expertise in .NET, I have six months of specialized experience working with Spring Boot and ReactJS, further broadening my skill set to include full-stack development and modern web technologies. My professional journey includes deploying small to medium-sized systems to cloud platforms and on-premises environments, where I have ensured reliability, scalability, and efficient resource utilization. This combination of skills and experience reflects my versatility and commitment to staying at the forefront of the ever-evolving tech landscape.

No comments yet. Be the first to comment.

More from this blog