Amazon CloudFront म्हणजे काय आणि का वापरायचं? Edge Locations आणि Caching सोप्या भाषेत
S3 वर Static Website कशी host करायची मध्ये CloudFront एकदा, पटकन वापरलं. आता ते नीट शिकू. CDN का असतो, edge locations आणि regional edge caches काय, cache hit आणि miss कसे चालतात, CloudFront कुठे वापरतात, आणि price classes bill कसं बदलतात हे हा chapter सांगतो. Lab मध्ये speed-up खऱ्या आकड्यांनी दिसतो.
या chapter मध्ये तुम्ही काय शिकाल
- Mumbai मधला server London आणि New York मध्ये slow का वाटतो
- CDN, edge locations (POPs) आणि regional edge caches
- Cache hit vs cache miss, step by step
- Use cases आणि price classes
- curl आणि X-Cache ने फरक मोजा
1. गोष्ट: Mumbai चं दुकान जगभर
Priya handmade sarees विकते. तिची site Mumbai (ap-south-1) मधल्या एका EC2 server वर चालते. Pune चे customers म्हणतात fast आहे. London आणि New York चे customers म्हणतात प्रत्येक page ला 2 ते 3 seconds लागतात आणि photos हळू येतात.
Server slow नाही. अंतर आहे. Fibre मधल्या प्रकाशालाही वेळ लागतो, आणि प्रत्येक page ला अनेक round trips: DNS, TCP, TLS, HTML, मग 30 images. Mumbai ते New York साधारण 200 ms दर round trip. तीस round trips मिळून खूप होतात.
उपाय: तिचे photos आणि pages ची copy London आणि New York मध्ये ठेवा. हाच CDN.
2. CDN म्हणजे काय आणि CloudFront काय?
हे का लागतं?
प्रत्येक शहरात server चालवणं शक्य नाही. CDN company कडे आधीच शेकडो शहरांत servers आहेत आणि ते तुम्हाला भाड्याने देतात.
हे काय आहे?
CDN (Content Delivery Network) म्हणजे users जवळच्या cache servers चं network. Amazon CloudFront हा AWS चा CDN. तुमचा खरा server म्हणजे origin (S3, ALB, EC2, किंवा कोणताही HTTP server). CloudFront त्याच्या पुढे बसतो आणि d111abcd.cloudfront.net सारखा domain देतो.
| Layer | काय आहे | संख्या (AWS, 2026) |
|---|---|---|
| Edge location / POP | Point of Presence: viewer आधी ज्याला connect होतो तो server group | 750+ POPs, 100+ cities |
| Embedded POP | Internet providers च्या network मधले छोटे caches | 1,140+ |
| Regional edge cache (REC) | POPs आणि origin मधला मोठा mid-tier cache | 15 |
| Origin | तुमचा खरा server | तुम्ही ठरवता |
3. Cache hit vs cache miss
हे का लागतं?
मार्ग माहीत असला की पहिला visitor slow का आणि बाकी fast का ते कळतं.
हे काय आहे?
Response header X-Cache काय झालं ते सांगतो: Miss from cloudfront, Hit from cloudfront, किंवा RefreshHit from cloudfront (copy जुनी होती, origin म्हणाला अजून ठीक आहे). Header X-Amz-Cf-Pop POP code दाखवतो, उदा. Mumbai साठी BOM78-P1 किंवा London साठी LHR61-P2. Age copy cache मध्ये किती seconds आहे ते दाखवतो.
Ravindra Bagale's Tip
Cache न होणाऱ्या requests (APIs, logins) पण fast होतात: TLS handshake जवळच्या POP वर संपतो, आणि CloudFront AWS backbone वरून origin शी warm connections ठेवतो.
4. CloudFront कुठे वापरतात
| Use case | Origin | CloudFront का |
|---|---|---|
| Static website (React, Angular, Hugo) | S3 | HTTPS, private bucket, जगभर fast |
| Video courses, reels | S3 / MediaPackage | मोठ्या files viewers जवळ cached; paid content साठी signed URLs |
| APIs (Node, Django, Spring, Laravel, .NET, Go) | ALB / API Gateway | Users जवळ TLS, कमी slow handshakes, पुढे WAF |
| Software downloads, game patches | S3 | एक upload, लाखो downloads, origin वर load नाही |
| DDoS आणि attack protection | कोणताही | AWS Shield Standard free सोबत; AWS WAF rules जोडा |
| WordPress, PHP sites | EC2 / ALB | /wp-content/* cache, /wp-admin/* pass through |
5. Price classes आणि खर्च
हे का लागतं?
काही ठिकाणांहून data द्यायला AWS ला जास्त खर्च येतो. तुमचे users काहीच regions मध्ये असतील तर महाग edges टाळू शकता.
हे काय आहे?
| Price class | वापरले जाणारे edges | कधी निवडायचा |
|---|---|---|
| All | सगळे edge locations | Users सगळीकडे, best speed |
| 200 | North America, Europe, Israel, Middle East, Africa आणि India सह बहुतेक Asia | India + Europe + US audience |
| 100 | फक्त North America, Europe आणि Israel | Users मुख्यतः US/Europe; सर्वात कमी price |
Price Class 100 सोबत Pune मधल्या viewer ला पण serve केलं जातं, पण लांबच्या edge वरून (उदा. Europe), म्हणून slow. Indian audience साठी 200 किंवा All वापरा.
Pay-as-you-go billing दर GB viewers ना पाठवलेला (rate region नुसार) अधिक दर 10,000 requests. Always-free tier दर महिना 1 TB out आणि 1 कोटी requests देतो. AWS flat-rate monthly plans पण देतं ($0 Free plan पासून) ज्यात CloudFront, WAF, Route 53 DNS आणि S3 credits overage शिवाय असतात. AWS origins (S3, ALB, EC2) कडून CloudFront ला data transfer charge नाही.
6. Worked examples
- 2 MB hero image, रोज 10,000 London visitors. CDN शिवाय: Mumbai ला 10,000 trips. CloudFront सोबत: दर POP 1 trip, बाकी HITs.
- Mumbai मधल्या ALB वरचं API, New York मधून call. Cache होत नाही, पण TLS New York मध्ये संपतो आणि request AWS backbone वरून जाते: पहिला byte अनेकदा 30 ते 50 टक्के लवकर.
- 500 MB installer 100,000 वेळा download: origin काही डझन वेळा देतो; बाकी CloudFront.
7. Lab: S3 image पुढे CloudFront
कसं करायचं (step by step)
AWS account आणि CloudShell (किंवा curl असलेला laptop) लागतो. Region ap-south-1.
- S3 › Create bucket: name
yourname-cf-lab, Region ap-south-1, Block all public access on ठेवा. का: CloudFront private वाचेल. - साधारण 1 MB चा photo upload:
aws s3 cp photo.jpg s3://yourname-cf-lab/img/photo.jpg. - CloudFront › Create distribution. Origin domain:
yourname-cf-lab.s3.ap-south-1.amazonaws.comनिवडा. - Origin access: Origin access control settings (recommended) › Create new OAC › defaults › Create.
- Viewer protocol policy: Redirect HTTP to HTTPS. Cache policy: CachingOptimized. का: static files साठी चांगला default.
- Web Application Firewall: Do not enable security protections (फक्त lab). Price class: Use North America, Europe, Asia, Middle East and Africa (म्हणजे 200).
- Create distribution. पिवळ्या banner मधलं Copy policy, bucket › Permissions › Bucket policy › paste › Save.
- Last modified मध्ये date येईपर्यंत (Deploying नाही) थांबा. Domain copy करा, उदा.
d111abcd.cloudfront.net. - पहिली request:
curl -sI https://d111abcd.cloudfront.net/img/photo.jpg | grep -iE "x-cache|x-amz-cf-pop|age". अपेक्षित:X-Cache: Miss from cloudfront. - परत चालवा. अपेक्षित:
Hit from cloudfrontआणिAgeheader. - वेळ मोजा:
curl -so /dev/null -w "total %{time_total}s\n" https://d111abcd.cloudfront.net/img/photo.jpg. 3 वेळा चालवा, आकडे लिहा. - S3 थेट pre-signed link ने compare:
U=$(aws s3 presign s3://yourname-cf-lab/img/photo.jpg --region ap-south-1); curl -so /dev/null -w "total %{time_total}s\n" "$U". का: bucket private आहे, साधा URL 403 देईल. - Best test: दोन्ही commands लांबच्या Region मधल्या CloudShell मधून, उदा. us-east-1 किंवा eu-west-2. अपेक्षित: CloudFront HITs S3 Mumbai पेक्षा अनेक पट fast.
Cleanup
- CloudFront › distribution निवडा › Disable. Disable होईपर्यंत थांबा, मग Delete.
aws s3 rb s3://yourname-cf-lab --force. CloudFront › Origin access मधला OAC delete.
8. Interview questions
प्र. CloudFront म्हणजे काय?
AWS चा CDN. Viewers जवळच्या edge locations वर content cache करतो आणि miss वर origin कडून आणतो.
प्र. Edge location vs regional edge cache?
Edge (POP) ला viewers connect होतात. REC हा POPs आणि origin मधला मोठा mid-tier cache, म्हणून origin पर्यंत कमी requests.
प्र. Response cache मधून आला हे कसं कळतं?
X-Cache header: Hit from cloudfront किंवा Miss from cloudfront. Age cache मधले seconds दाखवतो.
प्र. Cache न होणाऱ्या APIs ला CloudFront मदत करतो का?
हो. TLS user जवळ संपतो आणि traffic reused origin connections सह AWS backbone वापरतो.
प्र. India-first audience साठी कोणता price class?
Price Class 200 किंवा All. Price Class 100 मध्ये Indian edges नाहीत.
घरी करून बघा
- तीन Regions मधून timing test करा आणि छोटा table बनवा.
- X-Amz-Cf-Pop मधला POP code शोधा आणि पहिली तीन अक्षरे airport code शी जुळवा.
थोडक्यात सांगायचं तर
- लांबच्या users साठी slow पणा अंतरामुळे, server मुळे नाही.
- CloudFront = CDN: users जवळ POPs, मध्ये RECs, मागे origin.
- HIT = cache मधून; MISS = origin कडून; X-Cache सांगतो.
- Price class 100/200/All खर्च vs reach; India ला 200 किंवा All.
सराव Tasks
Seoul Beauty Lab हा सोल मधला सौंदर्य प्रसाधने व्यवसाय आहे. Ji-woo Park त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे KRW मध्ये मोजले जातात आणि AWS resources ap-northeast-2 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 10
सोपं Distributions दाखवा
का: Distribution ID व domain नाव शोधा.
काय करायचं: सगळे CloudFront distributions दाखवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
सोपं /16 मध्ये किती addresses?
का: VPC size ठरवायला ही संख्या लागते.
काय करायचं: Seoul Beauty Lab चा VPC 10.71.0.0/16. एकूण किती IP addresses?
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
सोपं SSH चा port
का: Security group rules ला योग्य port हवा.
काय करायचं: SSH साठी security group ने कोणता TCP port उघडावा?
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
मध्यम CloudFront cache साफ करा
का: Deploy नंतर invalidate करा म्हणजे visitors ना नव्या files लगेच मिळतात.
काय करायचं: Distribution E2QWRUHAPOMQZL वर सगळे paths (/*) invalidate करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Config file पासून distribution बनवा
का: पूर्ण config JSON मध्ये ठेवणं सोपं.
काय करायचं: dist.json पासून CloudFront distribution बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड दोन paths invalidate करा
का: फक्त बदललेलं invalidate करणं स्वस्त व जलद.
काय करायचं: E2QWRUHAPOMQZL वर /index.html व /css/site.css invalidate करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड CloudFront OAC साठी bucket policy
का: OAC मुळे फक्त तुमचा CloudFront distribution private bucket वाचतो.
काय करायचं: cloudfront.amazonaws.com ला seoulbeauty-site/* वर s3:GetObject allow, फक्त aws:SourceArn = arn:aws:cloudfront::119519391020:distribution/E2QWRUHAPOMQZL असेल तेव्हा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
अवघड Origin Access Control बनवा
का: OAC मुळे फक्त CloudFront तुमचा private S3 bucket वाचू शकतो.
काय करायचं: oac.json पासून origin access control बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड CloudFront साठी free certificate मागा
का: CloudFront फक्त us-east-1 मधले ACM certificates वापरतो.
काय करायचं: seoulbeauty.kr व www.seoulbeauty.kr साठी DNS validation ने us-east-1 मध्ये certificate मागा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड CloudFront signed URL बनवा
का: Signed URLs मुळे फक्त पैसे भरलेले users ठराविक वेळ video पाहू शकतात.
काय करायचं: https://d111.cloudfront.net/course/intro.mp4 ला key pair ID K2JCJMDEHXQW5F, private key private_key.pem ने sign करा, 2026-12-31 ला expire.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.






अजून cards: Ravi Sir's Cards.