Ravindra BagaleCourses & study guides English

CloudFront HTTPS, TLS आणि ACM सह Custom Domains

S3 वर Static Website कशी host करायची मध्ये ACM आणि Route 53 एकदा click करून केलं. CloudFront Security मध्ये कोण बघू शकतं ते ठरवलं. आता HTTPS सखोल: HTTPS चे दोन भाग, viewer protocol policy, TLS security policies, certificate us-east-1 मध्येच का, alternate domain names, SNI आणि Route 53 alias. Lab मध्ये cdn.yourdomain.com HTTPS वर आणि curl ने सिद्ध.

या chapter मध्ये तुम्ही काय शिकाल

  • Viewer-to-edge vs edge-to-origin HTTPS
  • Viewer protocol policy आणि origin protocol policy
  • TLS security policies आणि SNI
  • ACM certificate us-east-1 मध्येच का
  • Alternate domain names आणि Route 53 alias

1. गोष्ट: sealed envelope

तुम्ही cheque post करता. घरापासून local post office, मग post office पासून bank. फक्त पहिल्या प्रवासात sealed envelope असेल तर दुसऱ्या प्रवासात कोणीही वाचू शकतो. खरी सुरक्षा = दोन्ही प्रवास sealed.

CloudFront सोबत घर म्हणजे browser, post office म्हणजे edge आणि bank म्हणजे origin.

2. HTTPS चे दोन भाग

हे का लागतं?

Browser मधलं green padlock फक्त पहिला भाग सिद्ध करतं. Edge-to-origin भाग वेगळा setting.

हे काय आहे?

दोन TLS connectionsBrowserhttps://cdn.example.comभाग 1: viewer → edgeACM cert (us-east-1), security policy, SNICloudFront edgecacheभाग 2: edge → originorigin protocol policyOriginOAC ने S3 (HTTPS) किंवा स्वतःच्या cert सह ALB
प्रत्येक भाग स्वतःचं TLS connection आणि स्वतःचं certificate.
SettingOptionsRecommended
Viewer protocol policy (दर behavior)HTTP and HTTPS; Redirect HTTP to HTTPS; HTTPS onlyWebsites साठी Redirect HTTP to HTTPS (301); APIs साठी HTTPS only (HTTP ला 403)
Origin protocol policy (custom origins)HTTP only; HTTPS only; Match viewerHTTPS only
Origin SSL protocolsTLSv1.2, TLSv1.1, TLSv1, SSLv3TLSv1.2
S3 REST originनेहमी HTTPS-
S3 website endpoint originफक्त HTTP (S3 मर्यादा)Sensitive data साठी टाळा

Custom origin ला HTTPS साठी origin certificate valid public certificate हवं (self-signed नाही) आणि त्याचं नाव origin domain किंवा forwarded Host header शी जुळायला हवं. नाहीतर CloudFront 502 देतो.

3. TLS security policies

हे का लागतं?

जुन्या TLS versions आणि weak ciphers वर known attacks आहेत. Allow केल्यास compliance checks (PCI DSS) fail.

हे काय आहे?

स्वतःच्या certificate सोबत तुम्ही security policy निवडता: भाग 1 साठी minimum TLS version आणि cipher list. TLSv1.2_2021 हा recommended default (strong ciphers सह TLS 1.2+; browser support करत असेल तर TLS 1.3 आपोआप). TLSv1_2016 सारख्या जुन्या policies फक्त खूप जुन्या clients साठी, आणि AWS नवीन policies जोडत राहतं; console list बघा. Default *.cloudfront.net certificate सोबत policy निवडता येत नाही.

Client supportSNI (default)Dedicated IP
कसं चालतंBrowser TLS hello मध्ये hostname पाठवतो; edge तुमचं certificate निवडतोप्रत्येक edge वर dedicated IPs वर तुमचं certificate
खर्चFreeदर distribution दर महिना $600
कोणाला लागतंप्रत्येक modern browser आणि SDKफक्त SNI नसलेले खूप जुने clients

4. ACM certificate us-east-1 मध्येच का

हे का लागतं?

लोक certificate bucket शेजारी Mumbai मध्ये request करतात, आणि मग ते CloudFront dropdown मध्ये दिसत नाही.

हे काय आहे?

CloudFront ही global service, तिचं control plane US East (N. Virginia) मध्ये. ती फक्त us-east-1 मधल्या ACM मधून certificates वाचते आणि प्रत्येक edge वर copy करते. ap-south-1 मधलं certificate ap-south-1 मधल्या ALB साठी (भाग 2) चालतं, पण भाग 1 ला नेहमी us-east-1 मधलं लागतं. ACM public certificates free आणि DNS validation record असेपर्यंत आपोआप renew.

गरजCertificate Region
CloudFront alternate domain (cdn.example.com)us-east-1
Mumbai मधला ALB origin (origin.example.com)ap-south-1
API Gateway edge-optimized custom domainus-east-1
API Gateway regional custom domainAPI च्याच Region मध्ये

5. Alternate domain names आणि Route 53 alias

  • Alternate domain names (CNAMEs): distribution उत्तर देतो ती प्रत्येक नावं, उदा. cdn.example.com. जोडलेलं certificate प्रत्येक नाव cover करायला हवं. Wildcard *.example.com एक level (cdn.example.com) cover करतो, example.com किंवा a.b.example.com नाही.
  • एक नाव सगळ्या AWS मध्ये एका वेळी एकाच distribution चं. ते हलवायला TXT record proof किंवा AWS support लागतो.
  • Route 53: distribution कडे Alias = yes असलेला A record (आणि IPv6 साठी AAAA). CloudFront alias targets hosted zone ID Z2FDTNDATAQYW2 वापरतात. Alias apex वर चालतो आणि queries free. दुसरा DNS provider? cdn.example.com पासून dXXXX.cloudfront.net कडे CNAME (apex वर शक्य नाही).
  • HSTS: response headers policy (managed SecurityHeadersPolicy) जोडा म्हणजे browsers पुढच्या वेळी नेहमी HTTPS वापरतात.

6. Common errors

लक्षणकारणउपाय
Certificate dropdown मध्ये नाहीचुकीच्या Region मध्ये requestus-east-1 मध्ये परत request
"CNAMEAlreadyExists"नाव दुसऱ्या distribution वरतिथून काढा किंवा ownership सिद्ध करा
NET::ERR_CERT_COMMON_NAME_INVALIDनाव alternate domains मध्ये किंवा cert वर नाहीदोन्ही जोडा
502 Bad GatewayOrigin cert expired, self-signed किंवा name mismatchOrigin वर valid public cert
Certificate "Pending validation" वर अडकलंCNAME validation record नाहीACM मधून Route 53 मध्ये records बनवा

7. Lab: HTTPS वर cdn.yourdomain.com

कसं करायचं (step by step)

Route 53 hosted zone असलेला domain आणि एक distribution (कोणताही आधीचा lab) लागतो.

  1. Console Region US East (N. Virginia) us-east-1 करा.
  2. ACM › Request › Request a public certificate › Fully qualified domain name cdn.yourdomain.com › DNS validation › Key algorithm RSA 2048 › Request.
  3. Certificate उघडा › Create records in Route 53 › Create. Status = Issued होईपर्यंत थांबा (बहुतेक 2 ते 10 minutes).
  4. CloudFront › distribution › General › Edit. Alternate domain name: cdn.yourdomain.com जोडा.
  5. Custom SSL certificate: नवीन निवडा. Security policy: TLSv1.2_2021. Supported HTTP versions: HTTP/2 आणि HTTP/3. Save.
  6. Behaviors › Default › Edit › Viewer protocol policy Redirect HTTP to HTTPS. Response headers policy: SecurityHeadersPolicy. Save.
  7. Route 53 › hosted zone › Create record: name cdn, type A, Alias on, Route traffic to Alias to CloudFront distribution, निवडा › Create. AAAA type साठी परत करा.
  8. DNS check: dig +short cdn.yourdomain.com. अपेक्षित: अनेक CloudFront IPs.
  9. HTTPS check: curl -I https://cdn.yourdomain.com/. अपेक्षित: HTTP/2 200 (root object नसेल तर 403), via: ... (CloudFront), strict-transport-security header.
  10. Redirect check: curl -I http://cdn.yourdomain.com/. अपेक्षित: Location: https://... सह 301 Moved Permanently.
  11. Certificate check: curl -vI https://cdn.yourdomain.com/ 2>&1 | grep -E "subject:|issuer:|SSL connection". अपेक्षित: subject CN=cdn.yourdomain.com, issuer Amazon, TLSv1.3 किंवा TLSv1.2.
  12. जुना TLS check: curl -sI --tlsv1.1 --tls-max 1.1 https://cdn.yourdomain.com/. अपेक्षित: handshake failure. का: TLSv1.2_2021 TLS 1.1 नाकारतो.

Cleanup

  1. A आणि AAAA records delete. Distribution मधून alternate domain काढा (किंवा distribution delete).
  2. ACM (us-east-1) › काहीही वापरत नसल्यावर certificate आणि त्याचा validation CNAME delete.

8. Interview questions

प्र. CloudFront certificate us-east-1 मध्येच का?

CloudFront global आहे आणि त्याचं control plane ACM certificates फक्त us-east-1 मधून वाचतं, मग edges वर पाठवतं.

प्र. Browser मध्ये padlock असेल तर origin connection encrypted आहे का?

खात्री नाही. भाग 2 origin protocol policy वर अवलंबून; HTTPS only ठेवा.

प्र. SNI की dedicated IP?

SNI: free आणि सगळे modern clients support करतात. Dedicated IP $600/महिना, फक्त legacy clients साठी.

प्र. कोणती security policy निवडाल?

TLSv1.2_2021 (किमान TLS 1.2, strong ciphers), नवीन policy clients ना चालत असेल तर ती.

प्र. Origin HTTPS वर केल्यावर CloudFront 502 देतो. का?

Origin certificate invalid, self-signed, expired, किंवा origin domain शी जुळत नाही.

घरी करून बघा

  1. दोन्ही नावं असलेल्या एका certificate सह www.yourdomain.com आणि yourdomain.com same distribution ला जोडा.
  2. cdn.yourdomain.com वर SSL Labs test चालवा आणि TLSv1.2_2021 vs TLSv1_2016 compare करा.

थोडक्यात सांगायचं तर

  1. दोन भाग: viewer-to-edge आणि edge-to-origin; दोन्ही सुरक्षित.
  2. Sites साठी Redirect HTTP to HTTPS, APIs आणि origins साठी HTTPS only.
  3. TLSv1.2_2021 + SNI ही नेहमीची निवड.
  4. CloudFront certificates us-east-1 मध्ये.
  5. Alternate domain + जुळणारा cert + Route 53 alias = तुमचा स्वतःचा HTTPS domain.

सराव Tasks

या scenario बद्दल

Tokyo Ramen House हा टोकियो मधला रेस्टॉरंट व्यवसाय आहे. Yuki Tanaka त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे JPY मध्ये मोजले जातात आणि AWS resources ap-northeast-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 12

सोपं Hosted zones दाखवा

का: Records बदलायला zone ID लागतो.

काय करायचं: Account मधले सगळे hosted zones दाखवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Distributions दाखवा

का: Distribution ID व domain नाव शोधा.

काय करायचं: सगळे CloudFront distributions दाखवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Hosted zone बनवा

का: Hosted zone तुमच्या domain चे सगळे DNS records ठेवतो.

काय करायचं: tokyoramen.jp साठी public hosted zone बनवा, caller reference tokyoramen-2026-01.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम CloudFront cache साफ करा

का: Deploy नंतर invalidate करा म्हणजे visitors ना नव्या files लगेच मिळतात.

काय करायचं: Distribution E2QWRUHAPOMQZL वर सगळे paths (/*) invalidate करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Zone मधले records दाखवा

का: बदलण्याआधी कोणते A, CNAME व MX records आहेत ते पाहा.

काय करायचं: Hosted zone Z0123456789ABCDEFGHIJ मधले record sets दाखवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Amazon DNS address शोधा

का: VPC DNS resolver VPC range च्या base+2 वर असतो.

काय करायचं: VPC 10.27.0.0/16. Amazon DNS server address कोणता?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम DNS record शोधा

का: Name कोणत्या IP कडे जातो ते dig दाखवतो, DNS बदल तपासता येतात.

काय करायचं: www.tokyoramen.jp चा A record पाहा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड DNS record बनवा/update करा

का: UPSERT record बनवतो किंवा आधी असल्यास update करतो.

काय करायचं: change.json मधले record बदल hosted zone Z0123456789ABCDEFGHIJ ला लावा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड Config file पासून distribution बनवा

का: पूर्ण config JSON मध्ये ठेवणं सोपं.

काय करायचं: dist.json पासून CloudFront distribution बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड दोन paths invalidate करा

का: फक्त बदललेलं invalidate करणं स्वस्त व जलद.

काय करायचं: E2QWRUHAPOMQZL वर /index.html व /css/site.css invalidate करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड CloudFront OAC साठी bucket policy

का: OAC मुळे फक्त तुमचा CloudFront distribution private bucket वाचतो.

काय करायचं: cloudfront.amazonaws.com ला tokyoramen-site/* वर s3:GetObject allow, फक्त aws:SourceArn = arn:aws:cloudfront::109567203608:distribution/E2QWRUHAPOMQZL असेल तेव्हा.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

अवघड Origin Access Control बनवा

का: OAC मुळे फक्त CloudFront तुमचा private S3 bucket वाचू शकतो.

काय करायचं: oac.json पासून origin access control बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

उजळणी, तुलना आणि मुलाखत cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: दोन HTTPS legs. भाग 1: viewer ते edge (तुमचा ACM cert). भाग 2: edge ते origin (origin protocol policy). Redirect HTTP to HTTPS आणि origin HTTPS only ठेवा. Padlock फक्त भाग 1 सिद्ध करतं.
उजळणी card: दोन HTTPS legs · PNG download करा
उजळणी card: us-east-1 मध्ये ACM cert. CloudFront global; त्याचं control plane N. Virginia मध्ये. ते ACM certificates फक्त us-east-1 मधून वाचतं. ALB origin स्वतःच्या Region मधला cert वापरतो. ACM public certs free आणि auto-renew.
उजळणी card: us-east-1 मध्ये ACM cert · PNG download करा
उजळणी card: TLS policy आणि SNI. Recommended security policy: TLSv1.2_2021. SNI free आणि सगळ्या modern browsers सोबत चालतो. Dedicated IP SSL $600 दर महिना. curl ने तपासा.
उजळणी card: TLS policy आणि SNI · PNG download करा
तुलना: Redirect HTTP to HTTPS vs HTTPS only. Redirect HTTP to HTTPS: HTTP requests ना https URL कडे 301. HTTPS only: HTTP requests ना 403.
तुलना: Redirect HTTP to HTTPS vs HTTPS only · PNG download करा
तुलना: SNI vs Dedicated IP SSL. SNI: Browser TLS hello मध्ये hostname पाठवतो. Dedicated IP SSL: प्रत्येक edge वर dedicated IPs वर तुमचा cert.
तुलना: SNI vs Dedicated IP SSL · PNG download करा
मुलाखत card: ACM cert CloudFront मध्ये दिसत नाही. का?. ते us-east-1 बाहेर request केलं. N. Virginia मध्ये परत request करा. Issued आहे आणि alternate domain cover करतं का ते पण तपासा.
मुलाखत card: ACM cert CloudFront मध्ये दिसत नाही. का? · PNG download करा

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