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:
- Saya mendapatkan alamat IP dari masing-masing dan setiap server web fisik saya.
- 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).
- ... lalu apa yang harus saya lakukan?
Saya kira pendekatan lain dimulai sesuatu seperti
- Saya menggunakan beberapa penyedia DNS dinamis untuk nama domain tunggal yang saya harapkan pengguna untuk mengetikkan ke browser web
- 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).
- ... 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? ).
sumber
Jawaban:
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.
sumber
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.
sumber
Solusi lain yang murah, cepat dan dapat diandalkan untuk mengevaluasi bisa dengan menggunakan Amazon Route 53 failover http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating.html . Fitur ini dirilis pada 11 Februari 2013 dan menyediakan ketersediaan tinggi dan / atau keseimbangan beban antara situs primer dan sekunder.
Asim
sumber
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.
sumber
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.
sumber