✅पहला भाग: पूर्व तैयारी
तैयारी की जांच सूची
- AWS खाता (सक्रिय किए गए भुगतान तरीके के साथ)
- अपना डोमेन (उदाहरण के लिए: example.com)
- वेबसाइट फ़ाइलें तैयार (HTML/CSS/JS)
- ब्राउज़र में AWS कंसोल खोलें (console.aws.amazon.com)
मुख्य अवधारणा समझ
- S3 बकेट: वेबसाइट फ़ाइलों को संग्रहीत करने के लिए कंटेनर
- CloudFront: वैश्विक CDN, सामग्री वितरण में तेजी
- Route53: DNS समाधान सेवा, डोमेन एसोसिएशन
- ACM: मुफ्त SSL/TLS प्रमाणपत्र सेवा
- OAC: Origin Access Control, केवल CloudFront को S3 तक पहुंच की गारंटी
💾दूसरा भाग: S3 बकेट बनाना और कॉन्फ़िगर करना
1S3 बकेट बनाएं
पथ: AWS कंसोल होम → S3 → बकेट → बकेट बनाएं
विस्तृत चरण
- AWS कंसोल में लॉगिन करें
- शीर्ष खोज बॉक्स में
S3दर्ज करें → S3 सेवा में प्रवेश करें - बाईं ओर साइडबार में "बकेट" पर क्लिक करें
- "बकेट बनाएं" बटन पर क्लिक करें (नीला)
फॉर्म भरें
2स्टेटिक वेबसाइट होस्टिंग सक्षम करें
पथ: S3 बकेट → गुण → स्टेटिक वेबसाइट होस्टिंग संपादित करें
विस्तृत चरण
- अभी बनाए गए बकेट का नाम क्लिक करें (example-com-website)
- "गुण" टैब पर क्लिक करें (दाईं ओर पांचवां)
- "स्टेटिक वेबसाइट होस्टिंग" क्षेत्र को खोजने के लिए नीचे स्क्रॉल करें
- "संपादित करें" बटन पर क्लिक करें
कॉन्फ़िगरेशन आइटम
- पृष्ठ "✓ अपडेट पूर्ण" दिखाता है
- "स्टेटिक वेबसाइट होस्टिंग" के तहत "सक्षम" दिखाया गया
- वेबसाइट एंडपॉइंट URL दिखाई देगा
3वेबसाइट फ़ाइलें अपलोड करें
पथ: S3 बकेट → ऑब्जेक्ट → अपलोड
फ़ाइल संरचना उदाहरण
अपलोड विधि
वेबसाइट फ़ोल्डर को अपलोड क्षेत्र में खींचें, उप-फ़ोल्डरों के पुनरावर्ती अपलोड का समर्थन करता है
विधि B: क्लिक के माध्यम से चुनें
"फ़ाइल जोड़ें" या "फ़ोल्डर जोड़ें" पर क्लिक करें, फ़ाइलें एक-एक करके चुनें
- अपलोड प्रगति 100% तक पहुंचते देखें
- बकेट पर लौटने के बाद सभी फ़ाइल सूची दिखाई दें
🔐तीसरा भाग: Origin Access Control (OAC) बनाएं
4OAC बनाएं
पथ: CloudFront → सुरक्षा → Origin Access
विस्तृत चरण
- शीर्ष खोज बॉक्स में
CloudFrontदर्ज करें → CloudFront सेवा में प्रवेश करें - बाईं ओर साइडबार में "सुरक्षा" मेनू विस्तृत करें
- "Origin Access" पर क्लिक करें
- "Origin Access Control बनाएं" बटन पर क्लिक करें
फॉर्म भरें
- नए OAC दिखाई देंगे
- दिखाया गया OAC ID कॉपी करें (उदाहरण के लिए: E127EXAMPLE51Z)
⚡चौथा भाग: CloudFront वितरण बनाएं
5CloudFront वितरण बनाएं
पथ: CloudFront → वितरण → वितरण बनाएं
स्रोत कॉन्फ़िगरेशन - Origin भाग
डिफ़ॉल्ट कैशिंग व्यवहार कॉन्फ़िगरेशन
वितरण कॉन्फ़िगरेशन
6CloudFront डोमेन नाम कॉपी करें
पथ: CloudFront → वितरण → वितरण विवरण
- वितरण बनने के बाद, वितरण ID पर क्लिक करें
- "वितरण विवरण" टैब में निम्नलिखित जानकारी देखें
- वितरण डोमेन नाम कॉपी करें (d111111abcd.cloudfront.net)
7S3 बकेट नीति लागू करें
पथ: S3 → बकेट → अनुमति → बकेट नीति
ऑपरेशन चरण
- S3 सेवा पर वापस जाएं
- वेबसाइट बकेट चुनें (example-com-website)
- "अनुमति" टैब पर क्लिक करें
- "बकेट नीति" को खोजने के लिए नीचे स्क्रॉल करें, "संपादित करें" पर क्लिक करें
- निम्नलिखित JSON को संपादन बॉक्स में पेस्ट करें
बकेट नीति JSON (संशोधन की आवश्यकता)
example-com-website→ अपने बकेट नाम से बदलें123456789012→ अपने AWS खाता ID से बदलेंE1234ABCD→ अपने CloudFront वितरण ID से बदलें
🔒पांचवां भाग: ACM प्रमाणपत्र आवेदन करें
8SSL/TLS प्रमाणपत्र के लिए आवेदन करें
पथ: ACM (AWS Certificate Manager) → प्रमाणपत्र → प्रमाणपत्र के लिए आवेदन करें
महत्वपूर्ण नोट
विस्तृत चरण
- शीर्ष खोज बॉक्स में
Certificate Managerदर्ज करें → ACM सेवा में प्रवेश करें - सुनिश्चित करें कि क्षेत्र US East (N. Virginia) है
- "प्रमाणपत्र के लिए आवेदन करें" बटन पर क्लिक करें
फॉर्म भरें
बाद में DNS सत्यापन
आवेदन के बाद पृष्ठ आपको डोमेन सत्यापन के लिए प्रेरित करेगा:
- "डोमेन सत्यापन" क्षेत्र में सत्यापन रिकॉर्ड दिखाई देंगे
- "Route53 रिकॉर्ड बनाएं" बटन पर क्लिक करें
- AWS स्वचालित रूप से Route53 में CNAME रिकॉर्ड जोड़ेगा
- 5-30 मिनट प्रतीक्षा करें, स्थिति "जारी" में बदल जाएगी
🌐छठा भाग: Route53 DNS कॉन्फ़िगरेशन
9Route53 होस्टेड ज़ोन बनाएं
पथ: Route53 → होस्टेड ज़ोन → होस्टेड ज़ोन बनाएं
विस्तृत चरण
- शीर्ष खोज बॉक्स में
Route53दर्ज करें → Route53 सेवा में प्रवेश करें - बाईं ओर साइडबार में "होस्टेड ज़ोन" पर क्लिक करें
- "होस्टेड ज़ोन बनाएं" बटन पर क्लिक करें
फॉर्म भरें
महत्वपूर्ण जानकारी रिकॉर्ड करें
10डोमेन रजिस्ट्रार DNS सेटिंग अपडेट करें
डोमेन रजिस्ट्रार पर ऑपरेशन (जैसे GoDaddy, Namecheap, Aliyun आदि)
चरण
- अपने डोमेन रजिस्ट्रार खाते में लॉगिन करें
- "DNS प्रबंधन" या "डोमेन प्रबंधन" खोजें
- नाम सर्वर (NS रिकॉर्ड) को ऊपर कॉपी किए गए 4 में संशोधित करें
- परिवर्तन सहेजें
11Route53 में उपनाम रिकॉर्ड बनाएं
पथ: Route53 → होस्टेड ज़ोन → रिकॉर्ड बनाएं
पहला रिकॉर्ड बनाएं (रूट डोमेन)
दूसरा रिकॉर्ड बनाएं (www सबडोमेन)
ऊपर दिए गए चरणों को दोहराएं, लेकिन "रिकॉर्ड नाम" को www में बदलें, बाकी कॉन्फ़िगरेशन समान हैं।
12CloudFront CNAME और प्रमाणपत्र कॉन्फ़िगर करें
पथ: CloudFront → वितरण → संपादित करें
चरण
- CloudFront सेवा पर वापस जाएं
- अपना वितरण चुनें (वितरण ID पर क्लिक करें)
- "संपादित करें" बटन पर क्लिक करें
- "वैकल्पिक डोमेन नाम (CNAME)" फ़ील्ड खोजें
- इनपुट बॉक्स पर क्लिक करें, दो डोमेन नाम जोड़ें
SSL प्रमाणपत्र चुनें
⚙️सातवां भाग: कैशिंग नीति कॉन्फ़िगर करें
13विभिन्न फ़ाइल प्रकारों के लिए कैशिंग सेट करें
पथ: CloudFront → वितरण → व्यवहार → संपादित करें
यह चरण लागत और प्रदर्शन को अनुकूलित करने के लिए है। विभिन्न फ़ाइल प्रकारों के लिए विभिन्न कैशिंग समय सेट करें।
डिफ़ॉल्ट व्यवहार सेटिंग
वैकल्पिक: HTML के लिए अलग व्यवहार बनाएं
अधिक सूक्ष्म नियंत्रण के लिए, विभिन्न फ़ाइल प्रकारों के लिए विभिन्न व्यवहार नियम बना सकते हैं:
✔️आठवां भाग: परीक्षण और सत्यापन
14वेबसाइट पहुंच का परीक्षण करें
परीक्षण URL
सफलता का संकेत
- ✅ पृष्ठ सामान्य रूप से लोड होता है
- ✅ HTTPS मान्य है (पता पट्टी में लॉक आइकन दिखाता है)
- ✅ प्रमाणपत्र जानकारी सही है (लॉक आइकन पर क्लिक करके देखें)
समस्या निवारण तालिका
| समस्या | कारण | समाधान |
|---|---|---|
| AWS S3 त्रुटि पृष्ठ दिखाता है | S3 बकेट नीति ठीक से कॉन्फ़िगर नहीं है | बकेट नीति में वितरण ID की जांच करें |
| "Access Denied" दिखाता है | OAC ठीक से लागू नहीं है | S3 बकेट नीति में OAC की पुष्टि करें |
| कस्टम डोमेन नाम काम नहीं करता | Route53 DNS प्रभावी नहीं हुआ | DNS प्रसार की प्रतीक्षा करें (अधिकतम 48 घंटे) |
| अमान्य SSL प्रमाणपत्र | ACM प्रमाणपत्र CloudFront पर तैनात नहीं है | CloudFront में सही प्रमाणपत्र चुनें |
| पहुंच धीमी है | कैशिंग प्रभावी नहीं है | Cache-Control हेडर सेटिंग की जांच करें |
🚀नौवां भाग: प्रदर्शन अनुकूलन
15कैशिंग हेडर अनुकूलन कॉन्फ़िगर करें
S3 में फ़ाइलों के लिए उपयुक्त Cache-Control हेडर सेट करने से लागत में बहुत कमी आ सकती है और प्रदर्शन में सुधार हो सकता है।
विधि A: AWS कंसोल के माध्यम से
- S3 → बकेट → ऑब्जेक्ट
- फ़ाइल चुनें → "ऑब्जेक्ट ऑपरेशन" → "मेटाडेटा संपादित करें"
- कस्टम मेटाडेटा जोड़ें (कुंजी: Cache-Control)
कैशिंग समय सिफारिश
| फ़ाइल प्रकार | Cache-Control मान | विवरण |
|---|---|---|
| HTML फ़ाइल | public, max-age=300, must-revalidate |
5 मिनट, अवश्य पुनः सत्यापित करें |
| CSS/JS/छवि | public, max-age=31536000, immutable |
1 वर्ष, फ़ाइल नाम संस्करण आवश्यक |
| API प्रतिक्रिया | public, max-age=0 |
कैशे न करें, हर बार नवीनतम प्राप्त करें |
विधि B: AWS CLI के माध्यम से
16Gzip संपीड़न सक्षम करें
CloudFront में स्वचालित संपीड़न सक्षम करने से 60-70% ट्रैफ़िक कम हो सकता है।
चरण
- CloudFront → वितरण → संपादित करें
- "डिफ़ॉल्ट कैशिंग व्यवहार" खोजें
- "संपीड़न सक्षम करें" ✓ चेक करें
📊दसवां भाग: निगरानी और लागत नियंत्रण
17निगरानी सतर्कता सेट करें
CloudFront लागत निगरानी
- CloudWatch या लागत प्रबंधन में प्रवेश करें
- बजट सतर्कता सेट करें
मुख्य प्रदर्शन संकेतकों की निगरानी
CloudFront वितरण में निम्नलिखित मेट्रिक्स देखें:
- अनुरोध संख्या: प्रतिदिन कुल अनुरोध संख्या
- डेटा ट्रांसमिशन: आउटबाउंड ट्रैफ़िक आकार
- कैशिंग हिट दर: 90% से अधिक होना चाहिए
- त्रुटि दर: 0% के करीब होना चाहिए
लागत अनुमान तालिका (मासिक)
| सेवा | लागत | विवरण |
|---|---|---|
| S3 भंडारण | $0.23 | 10GB × $0.023 |
| S3 GET अनुरोध | $0.04 | 1M ÷ 1000 × $0.0004 |
| CloudFront आउटबाउंड | मुफ्त | 1TB मुफ्त भत्ता (100GB उपयोग) |
| CloudFront अनुरोध | मुफ्त | 10M मुफ्त भत्ता (1M उपयोग) |
| Route53 | $0.50 | होस्टेड ज़ोन मासिक शुल्क |
| ACM प्रमाणपत्र | मुफ्त | AWS आंतरिक उपयोग मुफ्त |
| कुल | $0.77/मास |
अक्सर पूछे जाने वाले प्रश्न
Q1: वेबसाइट फ़ाइलें कैसे अपडेट करूं?
Q2: CloudFront कैशिंग कैसे साफ करूं?
- CloudFront → वितरण → अमान्य
- अमान्य बनाएं → पथ इनपुट
/*→ बनाएं
Q3: S3 + CloudFront डेटा ट्रांसमिशन प्रक्रिया क्या है?
Q4: HTTPS पुनर्निर्देशन कैसे करूं?
CloudFront में पहले से कॉन्फ़िगर है:
- दर्शक प्रोटोकॉल नीति: HTTP को HTTPS में पुनर्निर्देशित करें
सभी HTTP अनुरोध स्वचालित रूप से HTTPS में पुनर्निर्देशित होंगे।
✅सारांश जांच सूची
परिनियोजन के बाद निम्नलिखित की पुष्टि करें
- S3 बकेट बनाया गया है और फ़ाइलें अपलोड की गई हैं
- स्टेटिक वेबसाइट होस्टिंग सक्षम है (index.html, error.html)
- OAC बनाया गया है
- CloudFront वितरण बनाया गया है और तैनात है
- ACM प्रमाणपत्र आवेदन किया गया है और सत्यापित है
- Route53 होस्टेड ज़ोन बनाया गया है
- डोमेन रजिस्ट्रार DNS को Route53 NS पर अपडेट किया गया है
- उपनाम रिकॉर्ड (A रिकॉर्ड) बनाया गया है
- CloudFront CNAME कॉन्फ़िगर किया गया है
- CloudFront ने ACM प्रमाणपत्र लागू किया है
- https://example.com सामान्य रूप से एक्सेस योग्य है
- कैशिंग नीति अनुकूलित की गई है
- संपीड़न सक्षम है
- लागत निगरानी सेट है
बाद का रखरखाव
दैनिक संचालन
- CloudFront कैशिंग हिट दर नियमित रूप से जांचें (90% से अधिक होना चाहिए)
- मासिक लागत की निगरानी करें
- वेबसाइट सामग्री अपडेट करते समय
aws s3 syncकमांड का उपयोग करें
नियमित रखरखाव
- ACM प्रमाणपत्र समाप्ति समय की जांच करें (स्वचालित नवीकरण)
- Route53 DNS कॉन्फ़िगरेशन सही है या नहीं जांचें
- समाप्त S3 ऑब्जेक्ट संस्करण साफ करें (यदि संस्करण नियंत्रण सक्षम है)
प्रदर्शन अनुकूलन
- CloudFront के वास्तविक समय लॉग का उपयोग करके कैशिंग हिट दर का विश्लेषण करें
- Cache-Control हेडर कॉन्फ़िगरेशन को नियमित रूप से समायोजित करें
- Lambda@Edge का उपयोग करके एज कंप्यूटिंग पर विचार करें
🎉 परिनियोजन पूर्ण
अब आपके पास एक उत्पादन-स्तरीय, कम लागत वाली स्टेटिक वेबसाइट होस्टिंग समाधान है
📊 लागत: मासिक औसत $0.50 - $5
⚡ प्रदर्शन: विश्व स्तर पर < 500ms लोडिंग
🔒 सुरक्षा: HTTPS + DDoS सुरक्षा
📈 स्केलेबिलिटी: स्वचालित ट्रैफ़िक वृद्धि संभालना