1. ปัญหา: ความชาที่เกิดขึ้นอย่างกะทันหันจากเวียดนาม
สัปดาห์ที่แล้ว เว็บไซต์ของฉันเกิดความช้าอย่างกะทันหันเมื่อเข้าถึงจากเวียดนาม โดยปกติแล้ว หน้าเว็บของฉันโหลดในเวลาน้อยกว่าสองวินาที แต่ครั้งนี้ใช้เวลาถึงสิบถึงสิบห้าวินาทีหรือแม้กระทั่งหมดเวลา เซิร์ฟเวอร์ที่โฮสต์เว็บไซต์ของฉันตั้งอยู่ใน สหรัฐอเมริกา (ภูมิภาค us-east-1) ดังนั้นผู้ใช้ในเอเชียจึงต้องข้ามเส้นทางอินเทอร์เน็ตระหว่างประเทศหลายเส้นทางเพื่อเข้าถึงมัน
หลังจากการตรวจสอบ ฉันพบว่าสายเคเบิลอินเทอร์เน็ตใต้น้ำหลักในภูมิภาคนี้คือ Asia-Pacific Gateway (APG) เกิดความผิดปกติ ตามข้อมูลจากผู้ให้บริการอินเทอร์เน็ตในเวียดนาม หน่วยบริหารของสายเคเบิล APG ตรวจพบปัญหาที่ สาขา S3 ซึ่งตั้งอยู่ประมาณ 66 กิโลเมตรจากเกาะชงหมิง (จีน) สาขานี้เชื่อมต่อส่วนต่างๆ ของเอเชียตะวันออกเฉียงใต้กับญี่ปุ่นและสหรัฐอเมริกาผ่านมหาสมุทรแปซิฟิก เหตุการณ์นี้ทำให้การจราจรระหว่างเวียดนามและจุดหมายปลายทางระหว่างประเทศหยุดชะงัก ทำให้การเชื่อมต่อถูกบังคับให้เปลี่ยนเส้นทางผ่านเส้นทางที่ยาวขึ้นหรือแออัด ส่งผลให้เกิดความหน่วงสูงและความเร็วที่ไม่เสถียร

2. การสังเกตครั้งแรก: CDN ช่วยได้ แต่ไม่เพียงพอ
เว็บไซต์ของฉันใช้ AWS CloudFront สำหรับการส่งมอบทรัพยากรแบบสแตติก เช่น รูปภาพ, CSS และ JavaScript ไฟล์เหล่านี้ยังคงโหลดได้อย่างรวดเร็ว เพราะ CloudFront มีตำแหน่งขอบใกล้เวียดนาม รวมถึงในสิงคโปร์
อย่างไรก็ตาม หน้า HTML ของเว็บไซต์ของฉันถูกสร้างขึ้นแบบไดนามิกและให้บริการโดยตรงจากเว็บเซิร์ฟเวอร์ในสหรัฐอเมริกา คำขอเหล่านี้ยังต้องเดินทางผ่านอินเทอร์เน็ตสาธารณะ ซึ่งได้รับผลกระทบจากปัญหาสายเคเบิล นี่จึงอธิบายถึงการเรนเดอร์หน้าเว็บที่ช้าและเวลารอที่ยาวนาน
ฉันเริ่มค้นหาวิธีที่เชื่อถือได้มากขึ้นในการส่งมอบเนื้อหาที่ไดนามิกและพบทางออก: AWS Global Accelerator.
3. AWS Global Accelerator คืออะไร?
AWS Global Accelerator เป็นบริการเครือข่ายที่ช่วยปรับปรุงทั้งประสิทธิภาพและความพร้อมใช้งานของแอปพลิเคชันของคุณทั่วโลก มันจัดการการจราจรของผู้ใช้ผ่าน เครือข่ายส่วนตัวระดับโลกของ Amazon แทนที่จะพึ่งพาอินเทอร์เน็ตสาธารณะที่ไม่แน่นอน
AWS ดำเนินการเครือข่ายหลักส่วนตัวที่ใหญ่ที่สุดและทันสมัยที่สุดในโลก เชื่อมต่อศูนย์ข้อมูลของตนข้ามทวีป เมื่อคุณใช้ Global Accelerator คำขอของผู้ใช้จะเข้าสู่เครือข่ายส่วนนี้ที่ตำแหน่งขอบ AWS ที่ใกล้ที่สุดและเดินทางข้ามเครือข่ายหลักของ AWS โดยตรงไปยังเซิร์ฟเวอร์ของคุณ ซึ่งช่วยลดความหน่วงและหลีกเลี่ยงเส้นทางที่ไม่เสถียรได้อย่างมาก

4. วิธีการทำงาน (อธิบายแบบง่าย)
เมื่อคุณเปิดใช้งาน AWS Global Accelerator สำหรับเว็บไซต์ของคุณ AWS จะมอบ ที่อยู่ IP Anycast สถิตสองที่ ให้กับคุณ ที่อยู่เหล่านี้จะแทนแอปพลิเคชันทั้งหมดของคุณทั่วโลก
นี่คือสิ่งที่เกิดขึ้นเมื่อมีคนเข้าชมเว็บไซต์ของคุณ:
- ผู้ใช้ในเวียดนามพิมพ์ชื่อโดเมนของคุณลงในเบราว์เซอร์
- DNS แก้ไขโดเมนของคุณเป็นหนึ่งในที่อยู่ Anycast ที่ AWS Global Accelerator ให้ไว้
- เนื่องจากที่อยู่เหล่านี้ถูกโฆษณาจากหลายตำแหน่งขอบ AWS ทั่วโลก คำขอของผู้ใช้จะถูกจัดการโดยอัตโนมัติไปยังโหนดขอบ AWS ที่ใกล้ที่สุด (เช่น สิงคโปร์)
- จากโหนดขอบนั้น คำขอจะเดินทางอย่างปลอดภัยผ่านเครือข่ายส่วนตัวระดับโลกของ AWS ไปยังเซิร์ฟเวอร์แอปพลิเคชันของคุณในสหรัฐอเมริกา
- การตอบกลับจะถูกส่งกลับตามเส้นทางที่ได้รับการปรับแต่งเดียวกัน
นี่ช่วยลดจำนวนการกระโดดและหลีกเลี่ยงเส้นทางระหว่างประเทศที่แออัด ดังนั้นผู้ใช้ของคุณจึงได้รับประสบการณ์การเชื่อมต่อที่รวดเร็วและเสถียรมากขึ้นแม้ในช่วงที่อินเทอร์เน็ตทั่วโลกมีปัญหา
5. Anycast IP คืออะไร?
ในการตั้งค่าทั่วไป เซิร์ฟเวอร์ของคุณมีที่อยู่ IP เดียวที่โฮสต์อยู่ในสถานที่ทางกายภาพหนึ่งแห่ง ผู้ใช้ทุกคนทั่วโลกเชื่อมต่อโดยตรงกับที่อยู่ดังกล่าว ไม่ว่าจะอยู่ไกลแค่ไหน
ด้วย Anycast ที่อยู่ IP เดียวกันจะถูกประกาศจากเซิร์ฟเวอร์หลายตัว (เรียกว่า โหนดขอบ) ในภูมิภาคต่างๆ โปรโตคอลการจัดเส้นทางอินเทอร์เน็ตจะส่งคำขอของผู้ใช้แต่ละคนไปยัง โหนดขอบที่ใกล้ที่สุด ตามระยะทางเครือข่าย
คุณสามารถจินตนาการได้เหมือนกับการมี “ประตูหน้า” หลายบานไปยังเว็บไซต์ของคุณ — หนึ่งในสิงคโปร์ หนึ่งในโตเกียว หนึ่งในลอนดอน และหนึ่งในสหรัฐอเมริกา — ทั้งหมดแชร์ที่อยู่ IP เดียวกัน ผู้ใช้จะเชื่อมต่อกับประตูที่ใกล้ที่สุดเสมอ และเครือข่ายส่วนตัวของ AWS จะนำการจราจรไปยังเซิร์ฟเวอร์ต้นทางของคุณ
นี่ส่งผลให้เกิด:
- ความหน่วงที่ต่ำลงสำหรับผู้ใช้ที่อยู่ห่างจากต้นทางของคุณ
- ประสิทธิภาพเครือข่ายที่คาดเดาได้มากขึ้น
- ความทนทานต่อข้อผิดพลาดที่ดีกว่า เนื่องจากการจราจรสามารถเปลี่ยนเส้นทางได้อย่างรวดเร็วหากโหนดขอบตัวใดตัวหนึ่งไม่สามารถใช้งานได้
6. ผลลัพธ์: การปรับปรุงที่เห็นได้ชัด
หลังจากตั้งค่า AWS Global Accelerator ความแตกต่างชัดเจน
แม้ว่าเซิร์ฟเวอร์เว็บของฉันยังคงทำงานในสหรัฐอเมริกา แต่ผู้ใช้จากเวียดนาม ไทย สิงคโปร์ และอินโดนีเซียตอนนี้เชื่อมต่อผ่านตำแหน่งขอบ AWS ที่ใกล้ที่สุดแทนที่จะข้ามเส้นทางอินเทอร์เน็ตสาธารณะที่ไม่เสถียร
- ความหน่วงเฉลี่ยลดลงจากประมาณ 350 ms เป็น 160 ms.
- เวลาโหลดหน้าเว็บดีขึ้นจาก 10+ วินาที เป็นประมาณ 2 วินาที.
- ความพร้อมใช้งานเพิ่มขึ้น เพราะหากเส้นทางขอบ AWS เส้นทางใดเส้นทางหนึ่งเกิดการแออัดหรือขัดข้อง การจราจรจะถูกเปลี่ยนเส้นทางโดยอัตโนมัติผ่านอีกเส้นทางหนึ่ง
ในความเป็นจริง เว็บไซต์ตอนนี้โหลดได้เร็วกว่าเดิมก่อนเกิดเหตุการณ์สายเคเบิล
ลองทดสอบด้วยตัวคุณเองกับการทดสอบความเร็ว AWS Global Accelerator
หากคุณต้องการเห็นความแตกต่างที่ AWS Global Accelerator สามารถทำให้กับการเชื่อมต่อของคุณ ลองทำการทดสอบความเร็ว อย่างเป็นทางการของ AWS Global Accelerator ที่ https://speedtest.globalaccelerator.aws/.
7. ค่าใช้จ่ายและหมายเหตุที่เป็นประโยชน์
การตั้งราคา AWS Global Accelerator นั้นเรียบง่าย:
- $0.025 ต่อชั่วโมง สำหรับ accelerator (ประมาณ $18 ต่อเดือน).
- $0.015 ต่อ GB สำหรับข้อมูลที่ประมวลผลผ่าน accelerator (นอกเหนือจากอัตราการถ่ายโอนข้อมูล AWS ปกติ).
สำหรับเว็บไซต์ที่ให้บริการผู้ใช้จากหลายทวีป ความเร็วและความเชื่อถือได้ที่ดีขึ้นนั้นคุ้มค่ากับค่าใช้จ่ายนี้อย่างง่ายดาย
8. สรุป
AWS Global Accelerator ไม่ได้มีไว้สำหรับระบบขนาดใหญ่เท่านั้น แต่ยังเป็นเครื่องมือที่ใช้งานได้จริงสำหรับทุกคนที่ดำเนินการเว็บไซต์ในภูมิภาคหนึ่งแต่ให้บริการผู้ใช้ทั่วโลก
หากเซิร์ฟเวอร์หลักของคุณอยู่ในสหรัฐอเมริกาและคุณมีผู้เยี่ยมชมจากเอเชีย ยุโรป หรือที่อื่น ๆ Global Accelerator สามารถปรับปรุงประสิทธิภาพได้อย่างมากโดยการจัดการผู้ใช้ผ่านเครือข่ายส่วนตัวความเร็วสูงของ AWS