CDN gibi bölgesel DNS nasıl yapılır?


15

Sanırım bu soruya yetki verilebilir, CDN'ler DNS düzeyinde nasıl çalışır, ancak asıl sorun şirketimin üç kıtada veri merkezlerine sahip olması ve europe.example.com us.example.com ve asya.example olması gerektiğidir. .com

CDN'ler genellikle IP adresinize bağlı olarak hayal ettiğim yerel veri merkezine gönderilir. Bu, ABD'deki DNS sunucunuzun sizi aynı example.com DNS araması için bir ABD veri merkezine göndermenizi sağlayan bir DNS olayı olmalıdır?

Yanlış mıyım? Bu konuda yanılıyorsam, bunu nasıl etkili bir şekilde ve mümkünse merkezi (DNS dışı) sunucular olmadan yapabilirim?


Yanıtlar:


12

CDN'lerle ilgili sorun, sizi kendi IP adresinize göre yönlendirmemeleridir - sizi DNS sunucunuzun IP adresine göre yönlendirir ... Bu tamamen yanlış olabilir. Ve Paul Vixie'nin ACM makalesini okuyun , bu paraya patlıyor .

Zaten var ettik eğer neyse, region.example.comkurmak ve çalışan, sen olabilir gelen bir HTTP yönlendirmesi yapıyor düşünün example.commüşterinin IP adresine dayanarak, ilgili web sunucunuza.

Bu hemen hemen Google ne yapar, ben de sonuna kadar nasıl oluyor google.co.ukYazılan sahip google.com.

Ayrıca, müşterilerin diğer varyasyonlara ulaşmaları için bir yol sağladığınızdan da emin olun. Müşteriler, coğrafi veritabanlarındaki hatalarla veya sadece siteyi başka bir bölgeden görmeleri gerektiği için belirli bir siteye zorlandıklarında hoşlanmazlar.


5

Daha yeni CDN'ler (Cloudflare, MaxCDN, fast.ly) hem DNS hem de gerçek içerik sunucuları için anycast kullanır. Bu, bir DNS sorgusunun kaynak IP'sini ve sürekli değişen bir eşleme veritabanını kullanmaya çalışmaktan biraz daha iyidir.

Teoride, hem DNS hem de içerik sunucuları için anycast kullanımı, ağın kendisinin istemciye "en yakın" sunucuları bulmasını sağlar. Uygulamada, bu çoğunlukla doğrudur, ancak Singapur'daki insanların ISS'ler arasında sürekli değişen akran ilişkileri nedeniyle Hong Kong yerine Kaliforniya'daki uç sunuculara çarpacağı bazı garip durumlar ortaya çıkar.

Anycast'i iyi yapmak zordur .

Akamai ve Limelight gibi daha eski CDN'ler genellikle sizi en yakın DNS sunucusuna götürmek için anycast kullanır, ancak daha sonra IP tabanlı tahmine dayalı tahmin yaklaşımını kullanın. Benim deneyimimde bu işe yaramıyor, özellikle de bir istemci ağ topolojisi açısından aslında yakınınızda olmayan DNS sunucuları kullanıyorsa. Bununla birlikte, Akamai gibi köklü bir CDN'nin yüzlerce içerik sunucusu konumu vardır, bu nedenle "yeterince yakın" yanıt döndürmek iyi bir kullanıcı deneyimine neden olur. Açıkçası, yüzlerce siteye sahip olmak çok pahalıdır, bu yüzden tüm yayıncı CDN'lerin hiçbiri bu yolu seçmedi. Sonuç olarak, çoğunlukla eşdeğer hizmet için fazla ücret almazlar.


1

Bunu ele almanın birkaç yolu vardır, ancak hepsi bir IP adresinin nerede olduğunu bulmak ve buna göre işaret etmek için kaynar. Örneğin, Kuzey Amerika ve Avrupa için bir dizi IP belirtebilirsiniz. Bilgi isteyen IP (DNS'den, web sunucunuzdan, içerik sunucunuzdan vb.) Avrupa aralığına girerse, Avrupa sunucularınız istekleri almalıdır.


Ben, ne demek istiyorsun? ABD'de ve örneğin İngiltere'de bir DNS sunucum var mı demek istiyorsun. DNS hakkında düşündüğümde sadece A kaydımı ayarladım ve işim bitti. Bu DNS sunucularını bölgesel olarak nasıl belirleyebilirim?
Stewart Robinson

Onun bahsettiği şeyin bağlamadaki görüşler gibi olduğuna inanıyorum. DNS içinde, müşterinin IP adresine göre eşleşen ve kabaca bir coğrafi bölgeye ait olarak tanımlanabilecek farklı görünümler ayarlayabilirsiniz. Bir API'ya bir istek gönderebileceğiniz ve bir konum alabileceğiniz birçok hizmet vardır. Kısaca etrafa baktığınızda, daha düşük / ücretsiz seçenek için hostip.info/dl/index.html dosyasını deneyebilirsiniz .
09:23, Greeblesnort

Sadece akşam tarama benim bu rastlamak oldu: blogs.techrepublic.com.com/networking/…
Greeblesnort

@Stewart - hayır, bölge başına bir DNS sunucusu çalıştırmazsınız. Evet, olabilir, ancak DNS sisteminin kendisi konum-bline olduğundan bu fazlalık için olurdu. @ greeblesnort'un yanıtı neredeyse onun adı kadar iyi. :-)
Ben Doom

0

Example.com'da varsayılan bir ana sayfa oluşturabilirsiniz. Birisi ilk kez ziyaret ettiğinde hangi bölgeye yönlendirilmek istediklerini seçer. Bu, www.ups.com ile aynı şekilde çalışır.

Kullanıcı, bu noktadan sonra varsayılan seçimini yapmak için bir onay kutusu seçebilir ve böylece seçimi bir çerezde saklayabilir.

Bu, DNS'nin Paul Vixie'ye göre tasarlandığı şekilde kullanılmasından yararlanırken, kullanıcılarınızın hangi veri merkezine yönlendirilmesi gerektiği konusunda en doğru kararı vermesini sağlar.


0

Birden fazla bölgede barındırılan bir web siteniz varsa, DNS düzeyinde hiçbir şey yapmanız gerekmez. Ziyaretçinin ülkesini edinmek için http://ipinfo.io gibi bir API kullanabilir ve ardından bunları uygun URL'ye yönlendirebilirsiniz.

Bir web sitesi veya yönlendirmeleri işleyen herhangi bir protokol hakkında konuşmuyorsak, DNS düzeyinde birkaç seçenek vardır. Aynı IP ülke aramasını yapabilir ve ardından bölgeyle eşleşen bir kayıt döndürebilirsiniz (coğrafi konum tabanlı DNS) veya farklı ağlar arasındaki gecikmenin bir haritasını alabilir ve kullanıcı için en düşük gecikmeyi temsil eden bir kayıt döndürebilirsiniz (gecikme tabanlı DNS). Amazon'un Route53 DNS hizmeti her ikisini de sunar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.