Dua endpoint di atas kertas tampak seperti redundansi. Dalam praktiknya alamat kedua hanya membantu bila klien dapat mencapainya dan bila ia menghindari kegagalan yang Anda antisipasi. Dua server di balik koneksi akses yang sama, akun yang sama, atau jaringan tujuan yang sama gagal bersama. Pertanyaan yang berguna adalah kegagalan tunggal mana yang dihilangkan endpoint kedua.

Bandingkan apa yang dibagi kedua endpoint

Daftar apa yang sama pada kedua endpoint sebelum menghitung apa yang diduplikasi. Lokasi hosting, akun penyedia, transit upstream, hosting DNS, sumber identitas, dan sumber daya privat di balik terowongan masing-masing merupakan dependensi bersama atau independen. Dua mesin virtual di satu wilayah berbagi gangguan penyedia. Dua wilayah di bawah satu akun tetap berbagi hubungan penagihan dan bidang kendali yang membuatnya.

Jaringan tujuan layak mendapat perlakuan yang sama. Gateway cadangan yang sehat tidak dapat memulihkan NAS yang offline, dan tidak dapat menjangkau jaringan kantor yang uplink-nya mati. Jika kedua endpoint berakhir di subnet privat yang sama, yang kedua hanya menambah jalur ke tujuan yang sudah menjadi titik kegagalan tunggal.

Identitas adalah dependensi yang orang lupakan. Mengkloning sertifikat dan konfigurasi ke host kedua menciptakan dua tempat kredensial yang sama dapat disalin, dan tidak menjelaskan bagaimana pencabutan mencapai keduanya.

Tentukan bagaimana klien beralih

Endpoint kedua hanya berguna jika klien mengetahuinya dan dapat memilihnya tanpa menelepon dukungan. Profil koneksi OpenVPN dapat memuat beberapa baris remote dengan kebijakan pemilihan, dan sebagian besar klien menampilkan profil alternatif di menu. Apa pun mekanismenya, catat mana yang dimiliki pengguna Anda, karena profil yang tidak dapat mereka temukan bukan failover.

Baca dokumentasi klien tentang perubahan alamat selama sesi. Beberapa implementasi mempertahankan peer asli sepanjang umur terowongan dan hanya memeriksa alternatif saat menyambung ulang. Perbedaan itu menentukan apakah endpoint yang mati menghasilkan gangguan singkat atau sesi yang tidak pernah pulih. Uji jalur penyambungan ulang alih-alih menganggapnya terjadi.

Alamat keluar yang berubah juga merusak status aplikasi. Failover adalah pemulihan, dan menggambarkannya sebagai kesinambungan tanpa gangguan menetapkan harapan yang tidak dapat dipenuhi transport.

Uji satu kegagalan nyata

Pilih satu gangguan terkendali dan jalankan dari awal hingga akhir, alih-alih memercayai dokumen desain. Hentikan endpoint utama, lalu pastikan klien yang berwenang mencapai aplikasi yang dimaksud melalui alternatif sementara klien tanpa wewenang tetap tidak bisa. Catat berapa lama peralihan berlangsung dan apa yang dilihat aplikasi.

dig +short vpn2.example.net
ip route get 10.20.30.41
journalctl -u openvpn@backup --since '-10 min'

Perintah pertama memastikan bahwa nama cadangan diselesaikan ke sesuatu yang dapat dirutekan sebelum Anda membutuhkannya, dan itulah uji termurah di sini. Yang kedua menunjukkan antarmuka mana yang akan dipakai kernel untuk tujuan privat setelah alternatif aktif. Yang ketiga memberikan log klien yang menyebutkan peer yang sebenarnya dihubungi, dan itulah satu-satunya bukti bahwa peralihan terjadi. Perhatikan juga perilaku pemblokiran selama jeda, karena kebijakan yang membocorkan lalu lintas saat beralih lebih buruk daripada gangguan singkat.

Lalu kembalikan yang asli dan pastikan apakah klien kembali. Failback yang terjadi secara kebetulan adalah perilaku yang tidak direncanakan siapa pun.

Tuliskan apa yang diberikan alamat kedua

Ringkas cakupan dalam satu paragraf: kegagalan mana yang dihilangkan endpoint kedua, kegagalan mana yang dibaginya dengan yang pertama, dan asumsi apa yang menjadi sandaran peralihan. Sebutkan mekanisme di sisi klien serta rute privat dan perilaku DNS yang harus ada di kedua lokasi. Keluaran internet publik bukan pengganti gateway privat, dan dokumen yang memperlakukannya sebagai dapat dipertukarkan akan dipercaya. Tambahkan uji pemulihan yang Anda jalankan, dengan tanggal dan hasilnya.

Kemandirian dari satu server bukan kemandirian dari akun bersama atau jaringan tujuan. Paragraf yang menyatakannya dengan lantang itulah yang mencegah alamat kedua dijual secara internal sebagai ketersediaan tinggi. Paragraf itu juga memberi tahu operator berikutnya apa yang harus diperiksa lebih dulu ketika pasangan itu gagal bersama.

Artikel terkait