Tôi đã thay đổi TTL từ 24 giờ thành 5 phút. Tôi có cần đợi 24 giờ trước khi thay đổi hồ sơ không?


37

Tôi đang di chuyển ứng dụng của chúng tôi từ một máy chủ đám mây tại máy chủ chuyên dụng Rackspace ta.

Tôi muốn đưa ứng dụng xuống trong khoảng 5 phút để sao chép dữ liệu từ máy chủ đám mây sang máy chủ chuyên dụng, vì vậy tôi không muốn các yêu cầu chuyển đến máy chủ cũ sau khi tôi đã sao chép dữ liệu.

Tôi muốn trỏ bản ghi DNS của chúng tôi vào máy chủ mới, nhưng TTL được đặt thành 24 giờ. Tôi đã thay đổi nó thành 300 giây. Tôi có cần đợi 24 giờ trước khi cập nhật ip mà tên miền trỏ đến / sao chép dữ liệu không?


9
BTW ngay cả khi bạn chờ đợi TTL, tôi khuyên bạn nên chỉnh sửa cấu hình trên máy chủ cũ để đảm bảo không có thêm bản cập nhật nào được chấp nhận ở đó. Không phải tất cả các trình phân giải DNS thực sự tuân theo các tiêu chuẩn.
Peter Green

5
Những gì tôi đã làm khi chuyển một ứng dụng web từ một nhà cung cấp dịch vụ lưu trữ sang một nhà cung cấp dịch vụ lưu trữ khác là sử dụng chuyển tiếp cổng ssh để có bất kỳ khách truy cập nào vẫn sử dụng IP cũ được chuyển hướng đến máy chủ mới.
kasperd

Câu trả lời:


58

Bất cứ ai có bản sao lưu trữ của bản ghi tên miền sẽ không cập nhật trong 24 giờ, vì vậy, nếu có ý định của bạn là có tối đa 5 phút không có sẵn, bạn nên đợi cho đến khi tất cả các bộ đệm nổi bật đã cập nhật để không còn tồn tại hơn 5 phút


23
... nó trong 24 giờ since they last cached it. Đây có thể là bất cứ thứ gì từ 1 đến 86399 giây.
user9517 hỗ trợ GoFundMonica

6
@Iain Bạn phải giả định điều tồi tệ nhất, vì bất kỳ hoặc tất cả trong số họ có thể vừa lưu trữ nó ngay trước khi thay đổi.
Barmar

6
@Barmar Đừng giả sử bất cứ điều gì. Rất nhiều ISP chỉ đơn giản là bỏ qua TTL.
user9517 hỗ trợ GoFundMonica

13
@ Tôi đã từng làm việc cho Akamai, một CDN sử dụng rất nhiều thời gian ngắn (như 60 giây) để cân bằng tải. Tôi nhớ lại rằng chúng tôi đã thực hiện một nghiên cứu và thấy rằng hầu hết các ISP đã tuân theo các TTL của chúng tôi.
Barmar

1
Tôi làm việc cho một công ty lưu trữ web, kinh nghiệm của chúng tôi là các TTL thấp có nhiều khả năng bị bỏ qua hơn là cao hơn.
Henrik - ngừng làm tổn thương Monica

39

Nó (có khả năng) thậm chí còn tệ hơn thế - bạn phải đợi 24 giờ sau khi tất cả các máy chủ có thẩm quyền của bạn được cập nhật. Cách thông thường để cập nhật xảy ra là bạn thực hiện thay đổi vùng trên máy chủ chính, và sau đó mỗi lần thứ hai chuyển dữ liệu vùng mới vào lần tiếp theo chúng xảy ra để đăng ký với chính. Tần suất kiểm tra được kiểm soát bởi khoảng thời gian làm mới trong bản ghi SOA của khu vực. Do đó, trong trường hợp xấu nhất, bạn phải đợi khoảng thời gian làm mới của vùng + TTL của bản ghi.

Bạn cũng có thể phải chờ đợi lâu để thay đổi hồ sơ thực tế. Một TTL 5 phút sẽ không làm được gì nhiều nếu những người thứ hai chỉ làm mới sau mỗi 6 giờ. Vì vậy, bạn có thể muốn giảm khoảng thời gian làm mới trên khu vực cũng như trong khoảng thời gian bạn muốn có thể thực hiện thay đổi nhanh chóng.

Tâm trí bạn, điều này có thể không áp dụng cho thiết lập của bạn. Nếu bạn có một hệ thống cập nhật tất cả các máy chủ có thẩm quyền cùng nhau, đây không phải là vấn đề (và tôi không quen với thiết lập DNS của Rackspace). Nhưng tôi khuyên bạn nên truy vấn tất cả các máy chủ có thẩm quyền của bạn ( dig server.example.com @secondaryserver.example.com) để đảm bảo rằng họ có TTL mới trước khi bắt đầu đếm ngược 24 giờ.


1
Đây phải là câu trả lời được chấp nhận.
dotancohen

4
Bạn dường như đang bỏ qua giao thức Thông báo DNS, thông báo cho các máy chủ nô lệ làm mới ngay sau khi cập nhật chính. Hầu hết các máy chủ DNS sử dụng tính năng này.
Barmar

@Barmar: Điều đó đúng, nhưng đồng thời, chủ có thể mất một lúc để cập nhật tùy thuộc vào nhà cung cấp. (Ví dụ: một số nhà cung cấp chỉ xây dựng lại các vùng từ cơ sở dữ liệu cứ sau 5 hoặc 15 phút, mặc dù các nhà cung cấp hiện đại làm việc đó ngay lập tức.)
grawity

1
Nhận xét của tôi chỉ giải quyết vấn đề chờ đợi khoảng thời gian Làm mới, điều đó hầu hết đã lỗi thời trong những ngày này. Chờ đợi bản cập nhật chính là đúng, trừ khi bạn vận hành bản gốc của chính mình. Nhưng tôi nghĩ không có khả năng họ sẽ cần phải giải quyết thời gian chính xác khi mọi thứ trở nên an toàn để cập nhật; Thêm 5-15 phút không nên tạo ra nhiều sự khác biệt. Điểm của câu hỏi ban đầu là liệu họ có cần đợi cả ngày không.
Barmar

1
@GordonDavisson: Nếu bạn không tin tưởng - hãy xác minh. dig +nssearch example.comlà một công cụ hữu ích để nhanh chóng so sánh các SOA trên tất cả các máy chủ; nsdiff cho thấy sự khác biệt thực tế.
grawity

23

Vâng, bạn nên chờ đợi. Thậm chí sau đó tất nhiên không đảm bảo rằng mọi người sẽ tôn trọng TTL.


6
+1 vì không phải ai cũng tuân theo TTL, tôi đã thấy các stragglers đến sau một tuần sau khi thực hiện thay đổi DNS. Một cách trước đây tôi đã xử lý nó là thiết lập một tên duy nhất mới dưới dạng bí danh trên trang web mới và sử dụng chuyển hướng từ trang web cũ để chuyển hướng người dùng từ tên miền cũ sang tên mới, như từ www.mycompany .com -> newsite.mycompany.com
Johnny

Có, nhưng nhiều người sẽ coi thường ý tưởng phải sử dụng một tên mới. Tên là thương hiệu. Ngoài ra, điều này chỉ hoạt động cho HTTP và không có gì khác.
Sven

8
Một tùy chọn khác là cấu hình máy chủ cũ làm proxy ngược cho máy chủ mới. Sau đó, bạn có thể để nó trong một tuần hoặc lâu hơn sau khi chuyển đổi và tắt nó đi khi nó không có lưu lượng truy cập đi qua nó.
bdsl

1
Những người có máy chủ DNS hoạt động tốt tuân theo TTL sẽ không bao giờ thấy tên miền mới. Và mặc dù "chỉ" hoạt động với HTTP (S), tôi nghĩ bạn sẽ thấy rằng HTTP là một giao thức khá phổ biến trên internet. Đề xuất của bdsl về việc thiết lập một proxy ngược thậm chí còn tốt hơn, nhưng sẽ hiệu quả hơn
Johnny

@ John John Vấn đề với một tên miền mới là bạn có nguy cơ mọi người đánh dấu tên miền đó. Trừ khi bạn có kế hoạch để lại tên miền mới có thể truy cập mãi mãi.
Bob

5

Tổng hợp các ý kiến ​​khác nhau và trả lời các thủ tục hoàn chỉnh sẽ là một cái gì đó như thế.

  1. Hãy chắc chắn rằng bạn có thể cập nhật các máy chủ có thẩm quyền của bạn một cách kịp thời.
  2. Giảm TTL.
  3. Kiểm tra tất cả các máy chủ có thẩm quyền có ttl mới.
  4. Đợi cho TTL cũ để các giá trị được lưu trong bộ nhớ cache với TTL cũ (hầu hết) được loại bỏ khỏi bộ đệm (bạn không thể đảm bảo chúng sẽ bị xóa khỏi mọi bộ đệm vì một số bộ đệm có thể bỏ qua các tiêu chuẩn).
  5. Đặt trang web trên máy chủ cũ vào chế độ chỉ đọc (hoặc nếu bạn không thể làm điều đó thay thế nó bằng trang "chúng tôi không hoạt động để bảo trì").
  6. Thực hiện sao chép cuối cùng từ máy chủ cũ sang máy chủ mới (dẫn đến một trang web chỉ đọc trên máy chủ mới).
  7. Thay đổi bản ghi DNS.
  8. Đảm bảo tất cả các máy chủ có thẩm quyền có bản ghi DNS mới.
  9. Đợi ttl mới (bạn có thể bỏ qua bước này nếu bạn không quan tâm đến việc một số người dùng có thể đóng góp cho trang web và những người dùng khác không thấy kết quả của những đóng góp đó).
  10. Đặt trang web trên máy chủ mới vào chế độ đọc / ghi.
  11. Đặt một thông báo trên máy chủ cũ rằng đó là một bản sao chỉ đọc đã lỗi thời và người dùng có thể đã bị hỏng DNS.
  12. Đợi một lúc để các bản ghi thoát khỏi bộ đệm DNS không tuân thủ.
  13. Ngừng hoạt động máy chủ cũ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.