ทำไมฉันไม่ควรใช้ Amazon S3 สำหรับโฮสต์เว็บเพจแบบคงที่


11

ฉันจำได้ว่าอ่านที่ไหนสักแห่งว่ามีข้อผิดพลาดร้ายแรงในการใช้ Amazon S3 สำหรับโฮสต์เว็บไซต์คงที่ ฉันลืมสิ่งที่มันเป็น สำหรับฉัน S3 ดูเหมือนจะเป็นตัวเลือกที่สมบูรณ์แบบ เร็วสุดปรับขนาดได้สุดยอดและจ่ายได้ตามใจคุณ

ข้อเสียของการใช้ S3 เพื่อโฮสต์เว็บไซต์แบบคงที่คืออะไร


กล่าวโดยย่อคำตอบด้านล่างนี้ไม่ได้ระบุถึงเหตุผลที่ดีที่จะไม่ใช้ S3 การเปลี่ยนเส้นทาง www ง่ายต่อการแก้ไข
— JohnAllen

คำตอบ:


11

ฉันยังตกใจที่อ่านว่าผู้คนคิดว่าเครือข่ายการจัดส่งเนื้อหามีราคาแพงค่าใช้จ่ายส่วนใหญ่เพียง 0.20c ต่อ GB

การให้บริการเว็บไซต์คงที่ใน CDN นั้นน่าทึ่ง - คุณได้รับประสิทธิภาพของเซิร์ฟเวอร์เฉพาะโดยไม่ต้องจ่ายจริงรวมถึงคุณมีเซิร์ฟเวอร์ในภูมิภาคหลักทั่วโลกเพื่อให้มีประสิทธิภาพดีกว่าเซิร์ฟเวอร์เฉพาะสำหรับความเร็วและความสามารถในการขยาย

มีความล้มเหลวที่สำคัญบางอย่างเมื่อโฮสต์บน CDNs และสิ่งเหล่านี้คือ:

ไม่มีไฟล์ PHP

ฝ่ายสนับสนุน PHP (คุณต้องใช้แบบฟอร์มการติดต่อผ่าน Ajax เพื่อดึงข้อมูล contact.php จากที่อื่น ๆ วิธีการแบบ HTML ดูด - ถ้าคุณไม่ต้องการแบบฟอร์มการติดต่อแล้ว (ยอดเยี่ยม!) สำหรับสิ่งต่างๆเช่นความคิดเห็นที่คุณสามารถใช้ Disqus ซึ่งก็คือจาวาสคริปต์)

ปัญหา CNAME

น่าเศร้าที่ CDN ส่วนใหญ่ไม่สนับสนุน CNAME ที่ไม่ใช่ www ดังนั้นคุณจึงไม่สามารถแก้ไขโดเมนเมื่อมีคนลืม www ไม่ใช่ปัญหาสำคัญ แต่มีวิธีแก้ไขปัญหานี้ คุณตั้งค่า EC2 หรือโฮสติ้งที่ใช้ร่วมกันและคุณอนุญาตให้จัดการกับ www-non ด้วยการเปลี่ยนเส้นทาง ดังนั้นเมื่อมีคนลืม www มันสื่อสารกับเซิร์ฟเวอร์แล้วเปลี่ยนเส้นทางไปยัง CDN อย่างถูกต้อง วิธีอื่นคือคุณเลือก CDN ที่รองรับสิ่งนี้ - ฉันเชื่อว่า Limelight ทำ แต่ Amazon และ Rackspace ไม่ได้ทำ ฉันได้ยิน Limelight กำลังโฮสต์ DNS และทำการแก้ไขด้วยตนเองในระบบของพวกเขาฉันไม่เคยทำสิ่งนี้ด้วยตัวเองดังนั้นฉันจึงไม่สามารถยืนยันได้ว่าพวกเขาทำหรือไม่

กำลังอัปเดตเนื้อหา

อีกชุดหนึ่งคือคุณต้องกำจัดเนื้อหาหรือไฟล์ที่คุณแก้ไขดังนั้นตัวอย่างเช่นคุณเพิ่มบางส่วนใน index.html คุณต้องตั้งค่าการหมดอายุสั้น ๆ บนคอนเทนเนอร์หรือลบไฟล์นั้นด้วยตนเอง แคชจึงอัปเดตทั่วทุกมุมโลก

สรุป

การโฮสต์ไซต์แบบคงที่บน CDN นั้นเป็นแบบ fanstatic - ฉันรันไซต์แบบคงที่จำนวนหนึ่งบน CDN และพวกเขาเป็นแบบ fanstatic ฉันใช้เช่น 1-2GB ในแต่ละไซต์เท่านั้นและฉันได้รับค่าใช้จ่าย 0.24p สำหรับแต่ละไซต์ซึ่งราคาถูกกว่า แชร์โฮสติ้งและมอบประสิทธิภาพการทำงานของเซิร์ฟเวอร์เฉพาะ หากคุณกำลังจะติดตั้ง VPS ขนาดเล็กอื่นที่ไม่ใช่ EC2 สำหรับการเปลี่ยนเส้นทาง VPS ใด ๆ ที่เป็น 128mb จะทำเช่นนั้น คุณจะได้รับราคาถูกเช่น $ 1 ต่อเดือน เพียงแค่ Google 128mb VPS หรือ VPS ต่ำกว่า $ 5 ต่อเดือน - มีหลายร้อย บริษัท ที่ทำ VPS ที่ต่ำสำหรับถั่วซึ่งจะทำเคล็ดลับ


1
Cloudflare ไม่มีปัญหากับ cname ที่ไม่ใช่ www อีกทั้งเทียร์ฟรีก็ไม่เลวเช่นกัน
— elssar

Amazon มีบริการ DNS ที่เรียกว่า Route 53 ที่สามารถใช้เพื่อกำหนดเส้นทาง tld ไปยังโดเมนย่อย www
— แก๊ง

AWS Route 53 โดยเฉพาะมีระเบียน ALIAS ที่คุณใส่ในชื่อโฮสต์อื่น (เช่นเดียวกับ CNAME) แต่เซิร์ฟเวอร์ DNS ทำการค้นหาเป็นระยะ (วินาที) และให้บริการระเบียนด้วยที่อยู่ IP (ระเบียน)
— Stephen Ostermiller

2

ปัญหาอยู่ในส่วน "จ่ายตามที่คุณไป"

หากคุณได้รับปริมาณการใช้งานมากมาย (เช่น: การโจมตีของ DOS หรือโพสต์บล็อกหรือไฟล์ยอดนิยม) คุณจะจ่ายให้

AFAIK ยังไม่มีฟีเจอร์ที่จะเพิ่มขีดความสามารถให้กับสิ่งที่คุณจ่าย คุณสามารถตั้งค่าการแจ้งเตือนการเรียกเก็บเงิน แต่หากการเรียกเก็บเงินของคุณถึงงบประมาณสูงสุดตัวเลือกเดียวที่คุณต้องทำคือปิดเว็บไซต์ไม่เช่นนั้นคุณจะจ่ายเงินตามจำนวนการรับส่งข้อมูลทั้งหมดที่คุณได้รับ


สิ่งที่ควรคำนึงถึง: Heroku ช่วยให้คุณจ่ายเท่าที่คุณต้องการ แต่คุณอาจสูญเสียผู้เข้าชมบางคนที่ไม่สามารถเข้าถึงไซต์ได้ ในทางกลับกัน AWS ช่วยให้คุณมั่นใจได้ว่าคุณได้จับผู้เข้าชมทั้งหมด แต่คุณจะต้องจ่ายให้ ขึ้นอยู่กับว่าคุณตั้งค่าโฆษณา / รูปแบบอื่น ๆ ของการแปลงคลิกเป็นเงินสดข้อกำหนดของคุณสำหรับการจ่ายตามที่คุณไปอาจแตกต่างกัน ตัวอย่างเช่นแอปพลิเคชันเว็บขนาดเล็กอาจได้รับประโยชน์จาก Heroku (หรือบริการที่คล้ายกัน)
— Abhishek Divekar

2

S3 ไม่ได้เป็นเครื่องมือเดียวจาก AWS สำหรับการโฮสต์เว็บไซต์แบบคงที่ วิธีที่แนะนำคือการวาง CloudFront ไว้หน้า S3 อินสแตนซ์เพื่อให้ CloudFront สามารถจัดการกับการแคชได้ ฉันเชื่อว่านี่จะช่วยขจัดปัญหาของคุณด้วยการจ่ายเงินจำนวนมากเพื่อเพิ่มทราฟฟิกเนื่องจาก CloudFront จะใช้แคชเพื่อให้บริการไฟล์และไม่ตี S3 แน่นอนว่าคุณต้องจ่ายค่า CloudFront แต่ค่าใช้จ่ายจะน้อยลง (ฉันคิดว่า)

นี่คือบทความเกี่ยวกับการเพิ่ม CloudFront ในไซต์ S3 ของคุณ:

http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-cfdist.html


1

จริงๆแล้วมันค่อนข้างแพงเกินไปในแง่ของแบนด์วิดธ์ พวกเขายังมีจนกระทั่งเมื่อไม่นานมานี้ปัญหาหนึ่งคือคุณไม่สามารถแมปทั้ง @ และ www A ระเบียนของคุณไปยังเว็บไซต์ของคุณ (ดังนั้นคุณจึงสามารถเข้าถึง mydomain.com หรือ www.mydomain.com เข้าถึงได้) อย่างไรก็ตามสิ่งนี้ได้รับการแก้ไขในการอัปเดตล่าสุด

โดยส่วนตัวแล้วฉันคิดว่ามันแพงเกินไปและคุณขาดฟีเจอร์ที่น่าสนใจมากมาย (การเปลี่ยนเส้นทาง htaccess ฯลฯ ) S3 ทำงานได้ดีสำหรับการโฮสต์ไฟล์และรูปภาพขนาดใหญ่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.