Panduan / Kelangsungan usaha

Menguji failover dan pengembalian layanan setelah gangguan

Berpindah ke cadangan dan kembali ke sistem utama adalah dua keputusan berbeda. Periksa penulis aktif, data dan fungsi pada masing-masing langkah; jangan menganggap aplikasi menyala berarti seluruh proses aman.

Di halaman ini

Apa beda restore, failover dan failback?

Restore mengembalikan data dari salinan; failover memindahkan penggunaan layanan ke sistem alternatif; failback mengembalikannya ke sistem utama atau lokasi normal yang dipilih. Failover bisa melibatkan restore, tetapi tidak selalu. Keduanya tetap perlu keputusan, pemeriksaan data dan fungsi.

Rujukan NIST membahas pemulihan dan validasi operasi. Urutan di sini contoh Kompli, bukan prosedur universal database atau pemenuhan ISO 22301. Target bisnis tetap mengikuti BIA dan BCP/DRP.

Tentukan lingkup dan syarat sebelum berpindah

Pilih lingkungan terpisah dengan data buatan, pemilik keputusan serta cara menghentikan uji. Catat sumber data yang dianggap benar, titik pemulihan, jalur pengguna dan layanan pendukung. Hindari pembayaran, notifikasi atau pekerjaan terjadwal nyata dari lingkungan uji.

Sepakati bagaimana penulis lama dibatasi. Dua sistem yang sama-sama menerima perubahan dapat menghasilkan data berbeda, dikenal sebagai split brain. Mekanisme penolakan harus dinilai sesuai teknologi; mengganti label “primary” saja tidak membatasi klien lama.

Siapkan kriteria membatalkan perpindahan, sumber pembanding transaksi dan rencana menyelaraskan perubahan yang diterima sistem alternatif. Jalan kembali bukan sekadar membalik alamat.

Contoh yang dijalankan: dua database lokal

Unduh lab pemulihan layanan 1.0. Dijalankan 2 Oktober 2026, Python 3.9.6, SQLite 3.51.0, macOS arm64, dengan 21 observasi ringan. Runner menghapus database sementara; tidak mengubah sistem produksi atau menjalankan server, VM maupun simulator.

python3 recovery-lab.py --out results.json

Backup, pembacaan, penulisan dan pembandingan isi benar-benar dilakukan di SQLite lokal. Pemilihan sistem aktif dan izin menulis adalah model satu proses Python, bukan failover terdistribusi atau fencing database/jaringan. Klien SQL langsung tidak dibatasi fungsi tersebut.

Tahap Hasil yang diamati
Salinan tertinggal Integrity check ok, tetapi standby belum punya ORD-DEMO-3. Pemeriksaan isi menolak pemilihan salinan itu.
Dua penulis tanpa pembatasan Dua copy buruk masing-masing mempunyai tiga baris; ID yang sama memuat jumlah 900 dan 950. Jumlah baris tidak membuktikan kesamaan isi.
Persiapan model Fungsi tulis dijeda, backup manual membuat pesanan 1–3 sama. Bukan sinkronisasi otomatis.
Berpindah model Standby dipilih dan pesanan 4 benar-benar ditulis di SQLite. Fungsi contoh menolak tulis ke primary lama.
Retry ID dan jumlah sama mengembalikan pesanan yang ada; jumlah berbeda ditolak. Tidak menguji retry lintas proses atau penyedia pembayaran.
Kembali terlalu awal Primary belum punya pesanan 4, sehingga pemeriksaan isi menolak failback.
Kembali Tulis dijeda, backup standby ke primary dilakukan, isi diperiksa sama. Primary dipilih; pesanan 5 ditulis dan lima pesanan sesuai pembanding.

Durasi urutan lokal tercatat di observed.json. Itu waktu beberapa operasi model, bukan seluruh gangguan, RTO produksi atau hasil uji beban. Jarak data sepuluh menit terhadap target 15 menit pada lab hanya aritmetika jam bisnis buatan, bukan ukuran keterlambatan replikasi.

Periksa perubahan yang terjadi selama layanan alternatif berjalan

Sebelum kembali, catat transaksi yang diterima, pekerjaan antrean, file/lampiran, perubahan skema dan konfigurasi. Jangan menimpa sistem utama dengan salinan yang tidak ditinjau atau menganggap dua database identik hanya karena jumlah baris sama.

Lab menggunakan backup penuh manual setelah jeda tulis. Pada layanan nyata, pilih mekanisme yang cocok untuk topologi dan konflik, dengan petugas berwenang serta bukti. Bila rekonsiliasi belum selesai, hentikan keputusan kembali; pertahankan kondisi yang dinilai aman dan rencanakan tindakan berikutnya.

Apa yang belum dibuktikan contoh ini?

Tidak menguji replikasi otomatis, partisi jaringan, quorum/lease, crash saat perpindahan, DNS/cache/session, beberapa region, beban, migrasi skema atau pengiriman notifikasi nyata. Gate model bukan jaminan satu penulis produksi atau kehilangan nol data. Uji keamanan backup dan pemulihan malware juga tidak dilakukan.

Gunakan catatan uji pemulihan untuk hasil tiap tahap, perbedaan data, keputusan, pemilik dan uji ulang. Pengembalian setelah insiden keamanan tetap perlu pemeriksaan pemulihan insiden; kelulusan lab kecil ini tidak menutup insiden nyata.

Unduh artikel (.md)

Sumber rujukan

  1. NIST SP 800-184 — Guide for Cybersecurity Event Recovery ↗NIST; Desember 2016, panduan teknis pemulihan, bukan aturan Indonesia · §2.1–2.3, §4: dependensi, rencana dan validasi pemulihan; panduan teknis Desember 2016.
  2. NIST SP 800-34 Rev. 1 — Contingency Planning Guide for Federal Information Systems ↗NIST; panduan teknis AS, bukan hukum Indonesia · §4.3–4.4: urutan pemulihan, pemeriksaan data/fungsi dan pengembalian operasi; bukan prosedur setiap database.
  3. SQLite — Online Backup API ↗Proyek SQLite; cakupan API backup database lokal · Online Backup API: salinan database; tidak menyediakan replikasi atau failover otomatis.
  4. Python — sqlite3 ↗Python Software Foundation; Connection.backup dan URI mode=ro · Connection.backup pada sqlite3; API yang dipakai contoh, versi runtime dicatat terpisah.

Baca naskah lengkap untuk melihat syarat dan pengecualiannya. Sesuaikan dengan layanan dan bidang usaha Anda.

Perlu membahas kebutuhan tim Anda?

Ceritakan standar atau bukti yang diminta pelanggan dan kesiapan tim Anda saat ini.

Konsultasikan kebutuhan Anda