Bagaimana cara melakukan DNS regional seperti yang dilakukan CDN?

15

Saya kira pertanyaan ini dapat diajukan, bagaimana cara kerja CDN di tingkat DNS tetapi masalah sebenarnya yang saya miliki adalah bahwa perusahaan saya memiliki pusat data di tiga benua dan kita harus memiliki europe.example.com us.example.com us.example.com dan asia.example .com

CDN biasanya mengirim Anda ke pusat data lokal yang saya bayangkan tergantung pada alamat IP Anda. Ini harus menjadi hal DNS di mana Anda memiliki server DNS di AS mengirim Anda ke pusat data AS untuk pencarian DNS example.com yang sama?

Apakah aku salah? Jika saya salah tentang ini, bagaimana saya melakukan ini secara efektif dan jika mungkin tanpa server pusat (bukan DNS)?

Stewart Robinson
sumber
5
Anda seharusnya tidak: queue.acm.org/detail.cfm?id=1647302
Etienne Dechamps

Jawaban:

12

Masalah dengan CDN adalah mereka tidak mengarahkan Anda berdasarkan alamat IP Anda sendiri - mereka mengarahkan Anda berdasarkan alamat IP server DNS Anda ... Itu bisa saja salah total. Dan jangan membaca artikel ACM Paul Vixie , itu bang pada uang.

Bagaimanapun, jika Anda sudah region.example.commengatur dan menjalankan, Anda dapat mempertimbangkan untuk melakukan pengalihan HTTP dari example.comke server web yang relevan, berdasarkan pada alamat IP klien.

Itulah yang dilakukan Google, itulah cara saya akhirnya google.co.ukmengetik google.com.

Namun, pastikan juga bahwa Anda menyediakan sarana bagi klien untuk mendapatkan variasi lainnya. Klien tidak suka ketika mereka dipaksa ke situs tertentu, apakah karena kesalahan dalam database Geo atau hanya karena mereka benar-benar perlu melihat situs dari wilayah lain.

Alnitak
sumber
5

CDN yang lebih baru (Cloudflare, MaxCDN, fast.ly) menggunakan siaran apa pun untuk DNS dan server konten aktual. Ini agak lebih baik daripada mencoba menggunakan IP sumber dari permintaan DNS dan database pemetaan yang terus berubah.

Secara teori menggunakan anycast untuk DNS dan server konten memungkinkan jaringan itu sendiri untuk menemukan server "terdekat" dengan klien. Dalam praktiknya, ini sebagian besar benar, tetapi beberapa kasus aneh muncul ketika orang di Singapura akan menghantam server ujung di California alih-alih Hong Kong karena hubungan peering yang terus berubah antara ISP.

Anycast sulit dilakukan dengan baik .

CDN yang lebih lama seperti Akamai dan Limelight umumnya menggunakan siaran mana saja untuk membawa Anda ke server DNS terdekat, tetapi kemudian lakukan pendekatan tebak berbasis sumber IP. Ini tidak bekerja dengan baik dalam pengalaman saya, terutama jika klien menggunakan pengungkit DNS yang sebenarnya tidak dekat dalam hal topologi jaringan. Namun, CDN mapan besar seperti Akamai memiliki ratusan lokasi server konten, jadi mengembalikan jawaban yang "cukup dekat" menghasilkan pengalaman pengguna yang layak. Jelas, memiliki ratusan situs sangat mahal, itulah sebabnya mengapa tidak ada CDN semua siaran yang memilih rute itu. Akibatnya, Mereka juga tidak mengenakan biaya sebanyak untuk layanan yang sebagian besar setara.

rmalayter
sumber
1

Ada beberapa cara untuk menangani ini, tetapi mereka semua bermuara untuk mencari tahu di mana alamat IP berada, dan menunjuknya sesuai. Misalnya, Anda dapat menentukan rentang IP untuk Amerika Utara dan satu untuk Eropa. Jika IP yang meminta informasi (dari DNS, server web Anda, server konten Anda, dll.) Jatuh dalam kisaran Eropa, maka server Eropa Anda harus mendapatkan permintaan.

Ben Doom
sumber
Ben, apa maksudmu Maksud Anda, saya memiliki server DNS di AS dan satu misalnya di Inggris. Ketika saya berpikir tentang DNS saya hanya mengatur catatan A saya dan saya selesai. Bagaimana saya bisa menentukan server DNS ini secara regional?
Stewart Robinson
Saya percaya apa yang dia maksudkan adalah sesuatu seperti pandangan yang terikat. Anda dapat mengatur tampilan berbeda di dalam DNS yang cocok berdasarkan pada alamat IP klien, yang secara kasar dapat diidentifikasi sebagai milik wilayah geografis. Ada banyak layanan yang tersedia yang dapat Anda gunakan untuk mengirim permintaan ke API dan mendapatkan lokasi. Melihat sekeliling sebentar, Anda dapat mencoba hostip.info/dl/index.html untuk opsi yang lebih rendah / tanpa biaya.
Greeblesnort
kebetulan berjalan di ini dalam browsing malam saya: blogs.techrepublic.com.com/networking/...
Greeblesnort
@ Mulai - tidak, Anda tidak akan menjalankan satu server DNS per wilayah. Ya, Anda bisa, tetapi itu akan menjadi redundansi, karena sistem DNS itu sendiri adalah location-bline. Jawaban @ greeblesnort hampir sama baiknya dengan namanya. :-)
Ben Doom
0

Anda bisa menyiapkan halaman utama default di example.com. Pertama kali seseorang mengunjungi mereka memilih wilayah yang ingin mereka tuju. Ini adalah cara yang sama dengan cara kerja www.ups.com.

Pengguna dapat memilih kotak centang untuk menjadikan ini pilihan default sejak saat itu, sehingga menyimpan pilihan dalam cookie.

Ini memberi Anda manfaat menggunakan DNS dengan cara yang dirancang untuknya menurut Paul Vixie, sementara memungkinkan pengguna Anda untuk membuat keputusan yang paling akurat di mana pusat data mereka harus diarahkan.

Richard West
sumber
0

Jika Anda memiliki situs web yang dihosting di beberapa wilayah, maka Anda tidak perlu melakukan apa pun di tingkat DNS. Anda dapat menggunakan API seperti http://ipinfo.io untuk mendapatkan negara pengunjung, dan kemudian mengarahkan mereka ke URL yang sesuai.

Jika kita tidak berbicara tentang situs web, atau protokol apa pun yang menangani pengalihan, maka ada beberapa opsi di tingkat DNS. Anda bisa melakukan pencarian negara IP yang sama dan kemudian mengembalikan catatan yang cocok dengan wilayah (DNS berbasis geolokasi), atau Anda bisa memiliki peta latensi antara jaringan yang berbeda, dan mengembalikan catatan yang mewakili latensi terendah untuk pengguna (latensi berdasarkan DNS). Layanan DNS Route53 Amazon menawarkan keduanya.

Ben Dowling
sumber