Kebanyakan migrasi yang menyakitkan disebabkan kesalahan urutan, bukan masalah teknis. Orang mengubah DNS lebih dulu lalu baru sadar databasenya sudah usang. Ikuti urutan di bawah ini dan pengunjung tidak akan menyadari perpindahannya.
Langkah 1: turunkan TTL DNS lebih awal
Paling tidak sehari sebelum pindah, atur TTL pada record A dan AAAA Anda menjadi 300 detik. Cache yang masih menyimpan nilai lama butuh waktu untuk kedaluwarsa, jadi langkah ini tidak bisa dikebut pada hari pemindahan.
Langkah 2: bangun server baru lebih dulu
Buat VPS baru, terapkan daftar periksa hardening, lalu pasang stack yang sama: web server, versi PHP atau Node, mesin database. Versi yang sama menghilangkan sebagian besar kejutan. Salin konfigurasi, bukan hanya konten.
Langkah 3: salin file
rsync -aHAX --info=progress2 -e ssh /var/www/ user@NEW_IP:/var/www/
Jalankan sekali sekarang. Pertama kali memang lambat, tetapi pengulangannya cepat, dan itulah tujuannya.
Langkah 4: salin database
# on the old server
mysqldump --single-transaction --routines --triggers mydb | gzip > mydb.sql.gz
scp mydb.sql.gz user@NEW_IP:~/
# on the new server
gunzip < mydb.sql.gz | mysql mydb
Ini adalah latihan. Hasilnya memberi Anda salinan yang berfungsi untuk diuji.
Langkah 5: uji sebelum ada yang diarahkan ke sana
Arahkan komputer Anda sendiri ke server baru dengan mengedit file hosts: tambahkan NEW_IP example.com www.example.com. Jelajahi situs, login, kirim formulir, dan buat pesanan uji. Perbaiki yang rusak selagi publik masih melihat server lama. Pasang sertifikat TLS dengan DNS challenge agar sudah berfungsi sebelum peralihan.
Langkah 6: bekukan, sinkronisasi akhir, alihkan
- Letakkan situs lama dalam mode pemeliharaan atau hanya-baca.
- Ulangi
rsyncserta dump dan impor database. - Ubah record DNS ke IP baru.
- Hapus entri file hosts dan periksa dari jaringan yang berbeda.
Jendela hanya-baca biasanya hanya beberapa menit. Untuk toko online atau situs dengan login, jadwalkan pada waktu sepi.
Langkah 7: pantau, lalu pensiunkan server lama
Pertahankan mesin lama selama beberapa hari. Beberapa resolver mengabaikan TTL, sehingga sedikit lalu lintas masih akan datang. Teruskan atau proksikan lalu lintas itu ke IP baru jika bisa, periksa log Anda, lalu naikkan kembali TTL ke nilai normal. Buat backup baru dari server baru sebelum menghapus yang lama.
Pindah ke yurisdiksi lain sekaligus? Bandingkan pilihannya dulu di perbandingan yurisdiksi hosting offshore.