วิธีทำ DNS ภูมิภาคเช่น CDN ทำได้อย่างไร


15

ฉันเดาว่าคำถามนี้อาจได้รับสิทธิ์การทำงานของ CDN ในระดับ DNS แต่ปัญหาที่แท้จริงที่ฉันมีคือ บริษัท ของฉันมีศูนย์ข้อมูลในสามทวีปและเราต้องมี europe.example.com us.example.com และ asia.example .com

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

ฉันผิดหรือเปล่า? หากฉันผิดเกี่ยวกับเรื่องนี้ฉันจะทำสิ่งนี้ได้อย่างมีประสิทธิภาพและหากเป็นไปได้โดยไม่มีเซิร์ฟเวอร์ส่วนกลาง (ไม่ใช่ DNS)


5
คุณไม่ควร: que.acm.org/detail.cfm?id=1647302
Etienne Dechamps

คำตอบ:


12

ปัญหาของ CDN คือพวกเขาไม่ได้บอกคุณตามที่อยู่ IP ของคุณ - พวกเขานำคุณตามที่อยู่ IP ของเซิร์ฟเวอร์ DNS ของคุณ ... ซึ่งอาจผิดทั้งหมด และอ่านบทความ ACM ของ Paul Vixieมันใช้ได้กับเงิน

อย่างไรก็ตามหากคุณได้region.example.comติดตั้งและใช้งานแล้วคุณสามารถลองเปลี่ยนเส้นทาง HTTP จากexample.comไปยังเว็บเซิร์ฟเวอร์ที่เกี่ยวข้องโดยอ้างอิงจากที่อยู่ IP ของลูกค้า

ที่สวยมากสิ่งที่ Google ไม่ก็เป็นวิธีที่ผมจบลงที่มีการพิมพ์ในgoogle.co.ukgoogle.com

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


5

ใหม่กว่า CDNs (Cloudflare, MaxCDN, fast.ly) ใช้ anycast สำหรับทั้ง DNS และเซิร์ฟเวอร์เนื้อหาจริง นี่ค่อนข้างดีกว่าการพยายามใช้ IP ต้นทางของการสืบค้น DNS และฐานข้อมูลการแมปที่เปลี่ยนแปลงตลอดเวลา

ในทางทฤษฎีการใช้ anycast สำหรับทั้ง DNS และเซิร์ฟเวอร์เนื้อหาอนุญาตให้เครือข่ายค้นหาเซิร์ฟเวอร์ "ที่ใกล้เคียงที่สุด" ไปยังไคลเอนต์ ในทางปฏิบัติสิ่งนี้เป็นจริงส่วนใหญ่ แต่มีบางกรณีแปลกเกิดขึ้นที่คนในสิงคโปร์จะโจมตีเซิร์ฟเวอร์ขอบในแคลิฟอร์เนียแทนฮ่องกงเนื่องจากความสัมพันธ์ระหว่างผู้ให้บริการอินเทอร์เน็ตที่เปลี่ยนแปลงตลอดเวลา

Anycast เป็นเรื่องยากที่จะทำดี

CDN ที่เก่ากว่าเช่น Akamai และ Limelight มักใช้ anycast เพื่อนำคุณไปยังเซิร์ฟเวอร์ DNS ที่ใกล้ที่สุด แต่ให้ใช้วิธีเดาจากแหล่ง IP สิ่งนี้ไม่ได้ผลเช่นกันจากประสบการณ์ของฉันโดยเฉพาะอย่างยิ่งถ้าลูกค้าใช้ DNS severs ที่ไม่ได้อยู่ใกล้ ๆ ในแง่ของโครงสร้างเครือข่าย อย่างไรก็ตาม CDN ที่จัดตั้งขึ้นขนาดใหญ่เช่น Akamai มีสถานที่ตั้งเซิร์ฟเวอร์เนื้อหาหลายร้อยแห่งดังนั้นการส่งคืนคำตอบ "ใกล้พอ" จะทำให้ได้รับประสบการณ์การใช้งานที่ดี เห็นได้ชัดว่าการมีเว็บไซต์หลายร้อยแห่งนั้นมีราคาแพงมากซึ่งเป็นเหตุผลว่าทำไม CDNs ที่ไม่มีผู้ออกอากาศเลือกเส้นทางนั้น ดังนั้นพวกเขายังไม่คิดค่าใช้จ่ายมากนักสำหรับบริการที่เทียบเท่า


1

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


เบ็นคุณหมายถึงอะไร? คุณหมายถึงฉันมีเซิร์ฟเวอร์ DNS ในสหรัฐอเมริกาและอีกหนึ่งอินสแตนซ์ในสหราชอาณาจักร เมื่อฉันคิดถึง DNS ฉันก็แค่ตั้งค่าระเบียน A และฉันก็เรียบร้อย ฉันจะระบุเซิร์ฟเวอร์ DNS เหล่านี้ตามภูมิภาคได้อย่างไร
Stewart Robinson

ฉันเชื่อว่าสิ่งที่เขาพูดถึงคือบางสิ่งบางอย่างเช่นมุมมองที่ผูก คุณสามารถตั้งค่ามุมมองที่แตกต่างกันภายใน DNS ที่ตรงตามที่อยู่ IP ของลูกค้าซึ่งสามารถระบุคร่าวๆว่าเป็นของภูมิภาคทางภูมิศาสตร์ มีบริการมากมายที่คุณสามารถส่งคำขอไปยัง API และรับตำแหน่งได้ มองไปรอบ ๆ คร่าวๆคุณอาจลองhostip.info/dl/index.htmlเพื่อดูตัวเลือกที่ต่ำกว่า / ไม่มีค่าใช้จ่าย
Greeblesnort

เพิ่งเกิดขึ้นเพื่อทำงานข้ามสิ่งนี้ในการเรียกดูตอนเย็นของฉัน: blogs.techrepublic.com.com/networking/…
Greeblesnort

@Stewart - ไม่คุณจะไม่เรียกใช้เซิร์ฟเวอร์ DNS หนึ่งตัวต่อภูมิภาค ทีนี้คุณก็ทำได้ แต่นั่นจะเป็นการสำรองข้อมูลซ้ำซ้อนเนื่องจากระบบ DNS นั้นเป็น location-bline @ greeblesnort คำตอบเกือบจะดีเท่ากับชื่อของเขา :-)
Ben Doom

0

คุณสามารถตั้งค่าหน้าหลักเริ่มต้นที่ example.com ครั้งแรกที่มีคนเยี่ยมชมพวกเขาเลือกภูมิภาคที่พวกเขาต้องการจะนำไป นี่เป็นวิธีเดียวกับที่ www.ups.com ใช้งาน

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

สิ่งนี้ช่วยให้คุณได้รับประโยชน์จากการใช้ DNS ในลักษณะที่ได้รับการออกแบบตาม Paul Vixie ในขณะที่ให้ผู้ใช้ของคุณทำการตัดสินใจได้อย่างแม่นยำที่สุดว่าควรใช้ศูนย์ข้อมูลใด


0

หากคุณมีเว็บไซต์ที่โฮสต์ในหลายภูมิภาคคุณไม่จำเป็นต้องทำอะไรในระดับ DNS คุณสามารถใช้ API เช่นhttp://ipinfo.ioเพื่อให้ประเทศของผู้เข้าชมนั้นเปลี่ยนเส้นทางไปยัง URL ที่เหมาะสม

หากเราไม่ได้พูดถึงเว็บไซต์หรือโพรโทคอลใด ๆ ที่จัดการการเปลี่ยนเส้นทางแสดงว่ามีตัวเลือกน้อยในระดับ DNS คุณสามารถค้นหา IP ประเทศเดียวกันได้จากนั้นส่งคืนระเบียนที่ตรงกับภูมิภาค (ตามตำแหน่งทางภูมิศาสตร์ของ DNS) หรือคุณอาจมีแผนที่เวลาแฝงระหว่างเครือข่ายที่แตกต่างกันและส่งกลับระเบียนที่แสดงเวลาแฝงต่ำที่สุดสำหรับผู้ใช้ ตาม DNS) บริการ Route53 DNSของ Amazon มีให้ทั้งคู่

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