Rencana pemulihan bencana¶
Cakupan dan tujuan¶
Rencana ini membahas pengembalian dari peristiwa bencana yang memengaruhi ketersediaan layanan Weblate, integritas data, atau kelangsungan operasional.
Catatan
Rencana tersebut dirancang khusus untuk penyebaran Weblate oleh Weblate s.r.o., tetapi dapat diterapkan ke penyebaran lain dengan cara yang sama.
Definisi¶
Bencana: Setiap kejadian tak terduga yang menyebabkan hilangnya layanan, data, atau fungsionalitas sistem secara keseluruhan atau signifikan. Contohnya meliputi kegagalan perangkat keras, kerusakan data, gangguan infrastruktur, atau serangan berbahaya.
Tujuan Titik Pemulihan (RPO): Interval kehilangan data maksimum yang dapat diterima: 24 jam.
Tujuan Waktu Pemulihan (RTO): Waktu maksimum yang dapat diterima untuk memulihkan layanan penuh: 8 jam.
Komponen penting¶
Lapisan Aplikasi: Aplikasi Weblate Python/Django, pekerja latar belakang (Celery), dan tugas terjadwal.
Lapisan Data: Basis data PostgreSQL, repositori terjemahan (Git), dan catatan.
Infrastruktur: Server web (NGINX/Apache), proksi terbalik, volume penyimpanan, konfigurasi SSL/TLS, dan sistem pencatatan SIEM opsional.
Kebijakan pencadangan¶
Proses Pencadangan otomatis menggunakan BorgBackup menjamin bahwa semua komponen penting (data basis, data, dan konfigurasi) dicadangkan setiap hari. Cadangan disimpan di dua lokasi geografis yang berbeda. Kebijakan penyimpanan cadangan memastikan bahwa cadangan terkini tersedia setiap hari dan menyimpan cadangan selama enam bulan.
Prosedur Pemulihan¶
Skenario kegagalan: kehilangan seluruh hos/sistem¶
Sediakan hos baru.
Bootstrap Weblate menggunakan perangkat lunak penyediaan.
Pulihkan cadangan Weblate dengan mengikuti Memulihkan dari BorgBackup.
Mulai ulang kontainer Weblate.
Verifikasi fungsionalitas dan lakukan pemeriksaan konsistensi.
Skenario kegagalan: kerusakan basis data atau kehilangan volume data¶
Hentikan Weblate untuk mencegah operasi penulisan lebih lanjut.
Pulihkan cadangan Weblate dengan mengikuti Memulihkan dari BorgBackup.
Mulai ulang layanan dan verifikasikan konsistensi terjemahan dan data pengguna.
Skenario kegagalan: perusakan berbahaya atau ransomware¶
Pisahkan hos yang terkena dampak dari jaringan.
Identifikasikan cadangan terakhir yang diketahui masih bagus (pra-infeksi).
Ikuti langkah dari Skenario kegagalan: kehilangan seluruh hos/sistem untuk menyebarkan sistem pada hos baru.
Validasi dan pengujian¶
Verifikasi Cadangan: Uji pemulihan bulanan cadangan Weblate.
Latihan Pemulihan Bencana: Dilakukan minimal setahun sekali, yang melibatkan pemulihan penuh pada lingkungan bertahap.
Pemeriksaan Integritas Otomatis: BorgBackup memastikan integritas arsip cadangan.
Langkah pasca-pemulihan¶
Pastikan semua layanan beroperasional dan dapat diakses.
Beritahukan pengguna dan pemangku kepentingan tentang status pengembalian.
Dokumentasikan garis waktu, akar permasalahan, dan pelajaran yang didapat.
Terapkan pembaruan atau perubahan infrastruktur untuk mencegah terulangnya masalah.
Ikuti Kebijakan pengungkapan kerentanan jika kerentanan terlibat.