Saya mengubah TTL saya dari 24 jam menjadi 5 menit. Apakah saya perlu menunggu 24 jam sebelum mengubah catatan?

37

Saya memigrasikan aplikasi kami dari server cloud di server khusus Rackspace ta.

Saya ingin menurunkan aplikasi selama ~ 5 menit untuk menyalin data dari server cloud ke server khusus, jadi saya tidak ingin permintaan pergi ke server lama setelah saya menyalin data.

Saya ingin menunjukkan catatan DNS kami di server baru, tetapi TTL diatur ke 24 jam. Saya telah mengubahnya menjadi 300 detik. Apakah saya perlu menunggu 24 jam sebelum memperbarui ip yang menunjuk ke / menyalin data domain?

wobbily_col
sumber
9
BTW bahkan jika Anda menunggu TTL saya sangat merekomendasikan Anda mengedit konfigurasi pada server lama untuk memastikan tidak ada lagi pembaruan akan diterima di sana. Tidak semua resolver DNS benar-benar mengikuti standar.
Peter Green
5
Apa yang saya lakukan ketika memindahkan aplikasi web dari satu penyedia hosting ke yang lain adalah menggunakan ssh port forwarding untuk mendapatkan pengunjung yang masih menggunakan IP lama yang diarahkan ke server baru.
kasperd

Jawaban:

58

Siapa pun yang memiliki salinan catatan domain yang di-cache tidak akan repot memperbaruinya selama 24 jam, jadi ya jika maksud Anda adalah untuk mendapatkan jendela ketersediaan maksimal 5 menit, Anda harus menunggu sampai semua cache yang beredar diperbarui untuk tidak lagi hidup dari 5 menit.

Jeff Meden
sumber
23
... selama 24 jam since they last cached it. Ini bisa apa saja dari 1 hingga 86399 detik.
user9517 mendukung GoFundMonica
6
@ Iain Anda harus mengasumsikan yang terburuk, karena salah satu atau semua dari mereka bisa saja melakukan cache sebelum perubahan.
Barmar 3-16
6
@Barmar Jangan menganggap apa pun. Banyak ISP hanya mengabaikan TTL.
user9517 mendukung GoFundMonica
13
@Saya dulu pernah bekerja untuk Akamai, CDN yang banyak menggunakan TTL pendek (seperti 60 detik) untuk penyeimbangan beban. Saya ingat bahwa kami melakukan penelitian dan menemukan bahwa sebagian besar ISP mematuhi TTL kami.
Barmar 3-16
1
Saya bekerja untuk perusahaan webhosting, pengalaman kami adalah bahwa TTL rendah lebih cenderung diabaikan daripada lebih tinggi.
Henrik - berhenti menyakiti Monica
39

Ini (berpotensi) bahkan lebih buruk dari itu - Anda harus menunggu 24 jam setelah semua server otoritatif Anda diperbarui. Cara normal untuk pembaruan terjadi adalah bahwa Anda membuat perubahan ke zona pada server utama, dan kemudian masing-masing sekunder mentransfer data zona baru pada saat berikutnya mereka memeriksa dengan primer. Frekuensi check in dikontrol oleh interval refresh dalam catatan SOA zona. Jadi, dalam kasus terburuk Anda harus menunggu interval refresh zona + TTL catatan.

Anda mungkin juga harus menunggu selama ini untuk perubahan catatan yang sebenarnya. TTL 5 menit tidak akan banyak membantu jika sekunder hanya menyegarkan setiap 6 jam. Jadi Anda mungkin ingin mengurangi interval penyegaran di zona juga untuk periode yang Anda ingin dapat membuat perubahan cepat.

Pikiran Anda, ini mungkin tidak berlaku untuk pengaturan Anda. Jika Anda memiliki sistem yang memperbarui semua server otoritatif bersama-sama, ini bukan masalah (dan saya tidak terbiasa dengan pengaturan DNS Rackspace). Tapi saya sarankan untuk menanyakan semua server otoritatif Anda secara individual ( dig server.example.com @secondaryserver.example.com) untuk memastikan mereka memiliki TTL baru sebelum memulai hitungan mundur 24 jam Anda.

Gordon Davisson
sumber
1
Ini harus menjadi jawaban yang diterima.
dotancohen
4
Anda tampaknya mengabaikan protokol DNS Notify, yang memberi tahu server budak untuk me-refresh segera setelah master diperbarui. Sebagian besar server DNS menggunakan fitur ini.
Barmar
@Barmar: Itu benar, tetapi pada saat yang sama master dapat membutuhkan waktu untuk memperbarui tergantung pada penyedia. (Misalnya, beberapa penyedia hanya membangun kembali zona dari basis data setiap 5 atau 15 menit, meskipun yang modern melakukannya secara instan.)
grawity
1
Komentar saya hanya membahas masalah menunggu interval Refresh, yang sebagian besar sudah usang hari ini. Menunggu master untuk diperbarui adalah benar, kecuali jika Anda mengoperasikan master Anda sendiri. Tapi saya pikir itu tidak mungkin mereka harus berurusan dengan waktu yang tepat ketika semuanya menjadi aman untuk diperbarui; 5-15 menit ekstra seharusnya tidak membuat banyak perbedaan. Inti dari pertanyaan awal adalah apakah mereka perlu menunggu sepanjang hari.
Barmar 3-16
1
@GordonDavisson: Jika Anda tidak percaya - verifikasi. dig +nssearch example.comadalah alat yang berguna untuk membandingkan SOA dengan cepat di semua server; nsdiff menunjukkan perbedaan yang sebenarnya.
grawity
23

Ya, kamu harus menunggu. Meski begitu tentu saja itu tidak dijamin bahwa semua orang akan menghormati TTL.

Sven
sumber
6
+1 karena tidak semua orang mematuhi TTL, saya telah melihat orang-orang yang mogok datang dalam seminggu setelah melakukan perubahan DNS. Salah satu cara yang pernah saya tangani di masa lalu adalah mengatur nama unik baru sebagai alias di situs baru dan menggunakan pengalihan dari situs lama untuk mengarahkan pengguna dari domain lama ke yang baru, seperti dari www.mycompany .com -> newsite.mycompany.com
Johnny
Ya, tetapi banyak orang berhak membenci gagasan harus menggunakan nama baru. Nama adalah merek. Juga, ini hanya berfungsi untuk HTTP dan hampir tidak ada yang lain.
Sven
8
Pilihan lain adalah mengkonfigurasi server lama sebagai proxy terbalik ke server baru. Anda kemudian dapat membiarkannya selama seminggu atau lebih setelah sakelar dan mematikannya ketika tidak ada lalu lintas yang melewatinya.
bdsl
1
Orang-orang yang memiliki server DNS berperilaku baik yang mematuhi TTL tidak akan pernah melihat domain baru. Dan sementara itu "hanya" bekerja dengan HTTP (S), saya pikir Anda akan menemukan bahwa HTTP adalah protokol yang cukup umum di internet. saran bdsl untuk mengatur proxy terbalik bahkan lebih baik, tetapi lebih banyak bekerja
Johnny
@ Johnny Masalah dengan domain baru adalah Anda berisiko mengambil orang yang mem-bookmark domain itu. Kecuali Anda berencana untuk pergi, kata domain baru itu dapat diakses selamanya.
Bob
5

Menyatukan berbagai komentar dan menjawab prosedur yang lengkap akan menjadi sesuatu seperti.

  1. Pastikan Anda dapat memperbarui server otorisasi Anda secara tepat waktu.
  2. Kurangi TTL.
  3. Periksa semua server otoratatitive memiliki ttl baru.
  4. Tunggu TTL lama sehingga nilai yang di-cache dengan TTL lama (sebagian besar) dihilangkan dari cache (Anda tidak bisa memastikan mereka akan hilang dari setiap cache karena beberapa cache mungkin mengabaikan standar).
  5. Tempatkan situs di server lama ke mode baca-saja (atau jika Anda tidak bisa menggantinya dengan halaman "kami sedang dalam pemeliharaan").
  6. Lakukan salinan akhir dari server lama ke server baru (menghasilkan situs hanya-baca di server baru).
  7. Ubah catatan DNS.
  8. Pastikan semua server otoritatif memiliki catatan DNS baru.
  9. Tunggu ttl baru (Anda dapat melewati langkah ini jika Anda tidak peduli tentang beberapa pengguna yang dapat berkontribusi ke situs dan pengguna lain tidak melihat hasil dari kontribusi tersebut).
  10. Masukkan situs di server baru ke mode baca / tulis.
  11. Berikan pemberitahuan pada server lama bahwa itu adalah salinan read-only yang ketinggalan jaman dan bahwa pengguna kemungkinan telah melanggar DNS.
  12. Tunggu beberapa saat hingga data keluar dari cache DNS yang tidak patuh.
  13. Nonaktifkan server lama.
Peter Green
sumber
5

Selain jawaban lain, Anda dapat menggunakan https://www.whatsmydns.net/ untuk memeriksa bagaimana data DNS Anda menyebar dalam waktu yang hampir nyata. masukkan deskripsi gambar di sini

Madis Nõmme
sumber