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 สถิตสองที่ ให้กับคุณ ที่อยู่เหล่านี้จะแทนแอปพลิเคชันทั้งหมดของคุณทั่วโลก

นี่คือสิ่งที่เกิดขึ้นเมื่อมีคนเข้าชมเว็บไซต์ของคุณ:

  1. ผู้ใช้ในเวียดนามพิมพ์ชื่อโดเมนของคุณลงในเบราว์เซอร์
  2. DNS แก้ไขโดเมนของคุณเป็นหนึ่งในที่อยู่ Anycast ที่ AWS Global Accelerator ให้ไว้
  3. เนื่องจากที่อยู่เหล่านี้ถูกโฆษณาจากหลายตำแหน่งขอบ AWS ทั่วโลก คำขอของผู้ใช้จะถูกจัดการโดยอัตโนมัติไปยังโหนดขอบ AWS ที่ใกล้ที่สุด (เช่น สิงคโปร์)
  4. จากโหนดขอบนั้น คำขอจะเดินทางอย่างปลอดภัยผ่านเครือข่ายส่วนตัวระดับโลกของ AWS ไปยังเซิร์ฟเวอร์แอปพลิเคชันของคุณในสหรัฐอเมริกา
  5. การตอบกลับจะถูกส่งกลับตามเส้นทางที่ได้รับการปรับแต่งเดียวกัน

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

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