Ketika server web A saya dicabut, bagaimana cara mengarahkan ulang semua pengguna ke server web B saya di kota lain, dan sebaliknya?

15

Ketika server web A saya dicabut, bagaimana cara mengarahkan ulang semua pengguna ke server web B saya di kota lain, dan sebaliknya?

Switch load-balancing melakukan apa yang saya inginkan, kecuali saya tidak tahu cara membuatnya berfungsi kecuali kedua server web berada di gedung yang sama.

Sistem klaster ketersediaan tinggi melakukan apa yang saya inginkan, kecuali saya tidak tahu cara membuatnya berfungsi kecuali kedua server web berada di gedung yang sama.

Jawaban yang diterima untuk " mengalihkan ke halaman statis di server web lain ketika server web utama sedang down " tampaknya mendukung server web di 2 kota berbeda. Tetapi bagaimana cara menginstal sepotong perangkat lunak pada satu kotak membantu saya setelah kotak itu dicabut?

Bagaimana DNS round-robin dan jaringan pengiriman konten (CDN) melakukannya?

Saya kira satu pendekatan dimulai sesuatu seperti:

  1. Saya mendapatkan alamat IP dari masing-masing dan setiap server web fisik saya.
  2. Saya memasukkan alamat IP dari masing-masing dan setiap server web fisik saya ke dalam catatan DNS untuk nama domain tunggal dari situs web "the" (beberapa catatan A atau catatan AAAA atau keduanya).
  3. ... lalu apa yang harus saya lakukan?

Saya kira pendekatan lain dimulai sesuatu seperti

  1. Saya menggunakan beberapa penyedia DNS dinamis untuk nama domain tunggal yang saya harapkan pengguna untuk mengetikkan ke browser web
  2. Saya mengatur pekerjaan cron di setiap server web yang secara berkala memberi tahu penyedia DNS alamat IP-nya sendiri (memperbarui catatan A atau catatan AAAA) atau nama domain sendiri (memperbarui catatan CNAME atau catatan DNAME).
  3. ... lalu apa yang harus saya lakukan?

(Untuk saat ini, saya akan senang jika pengguna saya mendapatkan halaman web statis dengan informasi kontak saya dan catatan kaki yang mengatakan "server web A utama tampaknya turun" setiap kali server web A dicabut. Itu sudah jauh lebih baik daripada sistem saat ini yang hanya memberikan kesalahan "server tidak ditemukan". Idealnya saya ingin A dan B sepenuhnya disinkronkan dan tampaknya identik - tapi itu sesuatu untuk pertanyaan lain: setara dengan CDN tetapi untuk konten dinamis? ).

David Cary
sumber

Jawaban:

6

Kedengarannya seperti Anda mungkin mencari solusi Global Server Load Balancing (GSLB). GSLB biasanya menggunakan DNS "pintar" untuk mengarahkan pengguna ke server berbeda berdasarkan sejumlah parameter (mis. Server tidak tersedia, beban tinggi, ip geolokasi, dll.).

Sebagai contoh, misalkan Anda memiliki dua server web, satu di barat (10.10.10.1/24) dan satu timur (10.20.20.1/24). Katakanlah nama host web Anda adalah www.connect.com.

GSLB dapat dikonfigurasi untuk menjadi DNS Anda atau sebagai CNAME. Either way, pengguna mengetik di www.connect.com, permintaan dns diarahkan ke solusi GSLB dan menjawab dengan 10.10.10.1 atau 10.20.20.1 tergantung pada parameter. GSLB biasanya menetapkan TTL rendah sehingga host / browser klien menyimpan respons sesedikit mungkin. Ada berbagai cara untuk mengatasi kegigihan tetapi itu melampaui lingkup skenario ini.

Katakanlah server web timur (10.20.20.1) turun. GSLB biasanya menerapkan pemeriksaan kesehatan untuk memeriksa kesehatan node backend. Pemberitahuan GSLB sebelah timur sedang turun dan semua catatan dns berikutnya untuk www.connect.com akan diselesaikan ke 10.10.10.1.

Jika Anda memiliki solusi penyeimbangan beban server (SLB) lokal, maka Anda dapat mengaturnya sedemikian rupa sehingga www.connect.com adalah VIP / VS (katakanlah 192.168.1.1/24) dengan dua node backend (10.10.10.1/24 dan 10.20.20.1/24). Secara teknis node bisa berada di segmen jaringan yang berbeda sehingga selama SLB lokal dapat mencapai server lain. Solusi SLB mungkin cukup pintar untuk mengarahkan pengguna ke server yang tersedia jika backend node turun. Jika Anda menggunakan F5 LTM, maka Anda dapat dengan mudah membuat iRule untuk acara semacam itu. Citrix NetScaler dan solusi SLB lainnya juga harus memiliki kemampuan yang serupa.

RR DNS tidak berfungsi dalam hal ini. RR DNS tidak memiliki kecerdasan bawaan. Satu-satunya cara untuk menyelesaikan kasus penggunaan dengan DNS adalah dengan menggunakan semacam "pintar" dns melalui solusi GSLB (atau serupa).

CDN biasanya menerapkan solusi GSLB / SLB untuk memastikan HA bagi pelanggan mereka.

bangdang
sumber
David: Selain F5 ans cisco yang merupakan peralatan , Anda dapat memilikinya sebagai layanan , seperti tzoha, edgedirector, dan dnshat
Sandman4
Sebenarnya, F5, Citrix / NetScaler keduanya menawarkan peralatan virtual untuk GSLB. A10, radware, zeus, brocade, alteon, dan lainnya mungkin sangat menawarkan peralatan virtual juga. Tapi Anda benar bahwa ada penyedia layanan SaaS GLSB di luar sana. Mungkin lebih mudah di buku saku dengan menggunakan opex daripada capex untuk membangun infrastruktur tetapi model SaaS bukan tanpa risiko (yaitu SLA, operasional, dukungan). Saya belum pernah mendengar tentang edgedirector atau dnshat, tetapi keduanya harga bersaing!
bangdang
1
Saya telah diberitahu bahwa " global load balancing server {menyebabkan} mengurangi ketersediaan tinggi. " Dibandingkan dengan beberapa catatan A. Saya telah diberitahu bahwa "10.10.10.1" atau "192.168.1.1" atau alamat jaringan pribadi lainnya tidak berfungsi di Internet publik. Saya telah diberitahu bahwa semua sistem penyeimbang server lokal (a) mengharuskan semua server web berada di gedung yang sama; atau (b) memiliki satu titik kegagalan; keduanya harus saya hindari dalam sistem HA. Apakah ada cara untuk menghindari masalah ini?
David Cary
2

Anda ingin melihat penyeimbang beban global seperti buatan F5 dan Cisco. Pada dasarnya mereka melakukan beberapa trik dengan DNS jika mitra turun dan jika mitra naik mereka memberi makan data menyeberang ke sisi lain melalui load balancer.

mrdenny
sumber
0

Katakan padaku jika Anda menggunakan segala jenis proxy terbalik di lingkungan Anda jika demikian Anda mungkin dapat mengarahkannya ke server cadangan.

jika tidak maka F5 adalah ide yang bagus untuk digunakan.

juga jika Anda telah mendaftarkan domain dengan pendaftar domain pihak ke-3 Anda bisa mendapatkan konfigurasi server DNS untuk mengarahkan ulang ke server baru atau server cadangan.

Sandeep Shrivastava
sumber
0

Anda dapat melakukan ini tanpa menggunakan alat jaringan setidaknya menggunakan dua metode berikut, tetapi mereka akan memerlukan kontrol perubahan:

  • Membalikkan proxy, Anda harus menghapus server yang akan Anda cabut dari kandidat proxy

  • DNS, Anda harus merencanakan ke depan, mengubah DNS, dan menunggu TTL berlalu

Anda juga dapat melakukan penyeimbangan beban otomatis dan failover aktif-aktif, terutama untuk server web yang menyajikan halaman statis dengan menggunakan protokol perutean. Periksa EGP dan IGRP. Seharusnya ada materi bantuan online (terkait dengan Cisco khususnya) yang merinci cara melakukan ini dengan dua atau lebih host melalui router.

nearora
sumber