Bagaimana cara mengganti DNS untuk situs web tanpa gangguan layanan?

13

Saya ingin mengganti DNS situs web kami tanpa gangguan layanan

IP server tetap sama.
Biasanya dibutuhkan 24-48 jam untuk memperbarui seluruh internet.
Apakah mungkin untuk menjalankan kedua DNS secara paralel?

Catatan Penting oleh JamesRyan:

Ingatlah bahwa beberapa server DNS tidak menghargai TTL dan cache yang rendah pula. Harapkan beberapa tumpang tindih.

^ ini sebenarnya masalah.


Latar Belakang:

Saya mengubah DNS situs web kami menjadi Penyedia lain (bluehost yang tampaknya rusak dan cukup sering menampilkan halaman iklan mereka alih-alih situs kami) jadi saya beralih kembali ke DNS asli lama setelah ~ 2 jam.

IP server tetap sama, jadi saya berharap tidak mendapatkan gangguan layanan, karena kedua DNS menunjukkan server yang sama.

Sekarang 24 jam kemudian, 30% dari internet masih menggunakan penyedia yang rusak / salah (bluehost), yang tidak dirujuk dalam whois. (mengenai Pingdom + beberapa laporan pengguna bahwa mereka tidak dapat mengunjungi kami)

Lupo
sumber

Jawaban:

18

Cara yang tepat untuk melakukannya:

  1. Ubah zona TTL ke minimum - dalam kebanyakan kasus itu 300 detik (5 menit). Jangan mengubah catatan apa pun pada tahap ini.
  2. Tunggu 48 jam.
  3. Lakukan perubahan. Hanya perlu 5 menit untuk menyebarkan perubahan.
  4. Kembalikan TTL ke standar 48 jam.

Prosedur ini berlaku untuk semua perubahan, bukan hanya perubahan NS. Jika Anda perlu mengubah alamat IP untuk catatan A, itu akan bekerja dengan cara yang persis sama. Meskipun ini mungkin tidak mutlak diperlukan dan secara teori Anda dapat menjalankan dua server nama pada saat itu adalah ide yang buruk. Anda tidak pernah tahu apakah Anda tidak perlu melakukan perubahan darurat selama periode 48 jam ini.

skrobul
sumber
6
Ingatlah bahwa beberapa server DNS tidak menghargai TTL dan cache yang rendah pula. Harapkan beberapa tumpang tindih.
JamesRyan
> Ingatlah bahwa beberapa server DNS tidak menghargai TTL dan cache yang rendah pula. <- saya kira ini masalah yang cukup dan bertanggung jawab atas gangguan layanan!
Lupo
6
Tidak dalam kasus ini, selama Anda mempertahankan kedua server melalui jendela peralihan 4 hari.
David Schwartz
1
Tidak jelas apakah jawaban ini membahas situasi di mana server nama tetap sama, tetapi perubahan server web. Dan itu pasti tidak membahas bagaimana membawa downtime ke beberapa detik. Saya akan mengajukan pertanyaan baru.
Buttle Butkus
3

Jika Anda mengubah penyedia DNS Anda (server nama ditampilkan dalam whois) maka ya Anda dapat menjalankannya secara paralel. Melihat domain saya, TTL yang digunakan oleh server GTLD (yang memberitahu pengguna Internet lain yang menjalankan DNS saya) adalah 48 jam. Sejauh yang saya ketahui, tidak mungkin mengubahnya.

Biasanya yang akan Anda lakukan adalah meminta pendaftar domain untuk mengubah entri server nama memastikan bahwa penyedia baru sudah disiapkan, dan bahwa penyedia lama menyimpan entri mereka hidup setidaknya selama 48 jam.

Seperti yang disebutkan dalam jawaban lain, jika Anda hanya mengubah catatan Anda sendiri, Anda dapat mengurangi TTL pada catatan sebelumnya untuk memberikan pertukaran hampir instan, meskipun beberapa server DNS yang buruk masih akan melakukan cache lebih lama.

USD Matt
sumber
> dan bahwa penyedia lama menyimpan entri mereka hidup setidaknya selama 48 jam. <- kurasa ini salahku.
Lupo
3

Pertama, mari kita luruskan terminologi kita karena belum jelas apa yang Anda minta.

Ada tiga bagian untuk pengaturan hosting Anda:

  1. Registrar
  2. Server server nama
  3. Server hosting

Ini tidak biasa untuk ketiganya disediakan oleh perusahaan yang sama tetapi tidak ada persyaratan untuk itu. Ini juga cukup umum untuk tidak ada biaya terpisah untuk 2. ketika Anda telah 1. membeli dari perusahaan yang sama, menambah kebingungan.

Pencatat bertanggung jawab untuk memberi tahu pengelola domain induk bahwa domain Anda ada dan apa server namanya.

Server nama bertanggung jawab untuk memetakan domain dan subdomain Anda ke alamat IP (dan semua hal lain yang dapat dilakukan server nama).

Server adalah bagian yang paling Anda kenal dan merupakan tempat permintaan dan email situs web berakhir.

Setelah Anda yakin yang mana yang telah Anda ubah atau ingin ubah, dapatkah Anda memodifikasi pertanyaan untuk membuatnya lebih jelas?


Saya akan berasumsi bahwa Anda mengubah hosting server nama Anda. Untuk melakukan ini, Anda harus:

  1. Temukan host server nama baru dan atur semua catatan dengan mereka yang Anda miliki di host server nama Anda saat ini.
  2. Hubungi pendaftar Anda dan minta mereka untuk mengubah server nama yang berwenang menjadi yang baru yang baru saja Anda buat. Langkah ini akan memakan waktu karena mereka mungkin tidak segera melakukannya dan TTL yang terlibat sering 48 jam.
  3. Setelah semua permintaan DNS baru tiba di server nama baru, matikan yang lama.
Ladadadada
sumber
terima kasih Ladadadada, saya melakukan ini, kedua konfigurasi DNS memiliki catatan A yang sama ke server yang sama (dan saya berharap tidak mendapatkan gangguan layanan) - namun sepertinya yang lama (bluehost) tidak menggunakan konfigurasi lagi, karena informasi whois sudah ditampilkan ke server baru.
Lupo
1
Ah, itu bentuk malang dan buruk dari Bluehost. Mereka seharusnya tidak mengambil catatan Anda dari server nama mereka segera setelah mereka mengubah delegasi. Mereka harus terus merespons setidaknya selama 48 jam.
Ladadadada
3

A) Jika Anda menjalankan situs pada layanan hosting bersama - memanipulasi dengan DNS TTL jika memungkinkan

B) Jika Anda menjalankan server Anda sendiri - untuk downtime minimal gunakan proxy pada server sumber dan ekstraktor IP (forwarded_for header) pada tujuan (jadi IP asal bisa sama), pindahkan file Anda, setelah memperbarui catatan DNS dan tunggu sampai lalu lintas akan berhenti di server sumber

GioMac
sumber
Jawaban Anda sepertinya menyimpan beberapa permata tersembunyi, tetapi hanya orang yang sudah tahu apa yang Anda bicarakan yang bisa mengerti apa yang Anda katakan. Saya ingin menambahkan beberapa tautan ke posting Anda, tetapi saya tidak tahu pasti itu benar. Apakah maksud Anda X-Forwarded-For? en.wikipedia.org/wiki/X-Forwarded-For Dan untuk IP extractor maksud Anda ini: github.com/jonrohan/ip-extractor
Buttle Butkus
1
benar, X-Forwarded-For untuk extractor, itu harus modul server web yang dapat melakukan itu, dalam kasus apache httpd: mod_extract_forwarded, mod_realip, mod_realip2 dll. modul ini akan menerjemahkan semua informasi ke modul dengan prioritas lebih rendah seperti php dll .
GioMac
IPExtractor tidak ada hubungannya dengan layanan web
GioMac