Es sollte keine Laufzeitverzögerung geben.
Ja, sollte es sein.
Alle DNS-Konfiguration hat eine "Propagation Delay". ¹
Im Fall von neuen Datensatz, eine Suche nach einem Host-Namen vor der Aufzeichnung ist von den autoritativen Nameservern zu negativen Caching tatsächlich zur Verfügung: wenn ein Resolver eines nicht vorhandenen Datensatz sucht, die NXDOMAIN
Antwort ist zwischengespeichert durch den Resolver für eine Zeitspanne, und diese Antwort wird für die nachfolgende Anforderung zurückgegeben, bis die Standard-TTL abläuft und die Antwort aus dem Cache des Resolvers entfernt wird.
Negatives Caching ist nützlich, da es die Antwortzeit für negative Antworten reduziert. Es verringert auch die Anzahl der Nachrichten, die zwischen Resolvern und Nameservern gesendet werden müssen, und damit den gesamten Netzwerkverkehr.
https://tools.ietf.org/html/rfc2308
Wenn Sie verwenden den neuen Datensatz abzufragen, werden Sie die TTL sehen auf 0 heruntergezählt Sobald das geschieht, starten Sie die erwartete Antwort zu sehen. Unter Linux ist das watch
Dienstprogramm dafür praktisch, wie in watch -n 1 'dig example.com'
.
Der Timer sollte von der minimalen TTL eingestellt werden, was SOA
Rekord in Ihrem Hosting-Zone zu finden ist:
Die minimale Lebenszeit (TTL). Dieser Wert gibt an, wie lange ein NXDOMAIN-Ergebnis, das angibt, dass eine Domäne nicht existiert, von einem DNS-Resolver zwischengespeichert werden sollte. Das Cachen dieses negativen Ergebnisses wird als negatives Caching bezeichnet. Die Dauer des negativen Zwischenspeicherns ist der kleinere Wert der TTL des SOA-Eintrags oder der Wert des minimalen TTL-Felds. Die Standard-Mindest-TTL für Amazon Route 53-SOA-Datensätze beträgt 900 Sekunden.
http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html
Es ist die Quelle Ihrer 5-10 Minuten. Es ist tatsächlich ein schlimmster Fall von 15 Minuten (900 Sekunden).
Durch das Reduzieren dieses Timers verringert sich die Zeit, die gut verhaltende Resolver die Tatsache cachen, dass der Datensatz (noch) nicht existiert.
"Großartig", protestieren Sie, "aber ich habe den Hostnamen nicht abgefragt, bevor er existiert. Was nun?"
Wahrscheinlich haben Sie das getan, weil Route 53 Aufzeichnungen nicht sofort sichtbar macht. Es gibt eine kurze Verzögerung zwischen dem Zeitpunkt, zu dem eine Änderung an einer gehosteten Zone vorgenommen wird, und dem Zeitpunkt, an dem Route 53 mit der Rückgabe der Datensätze beginnt.
Die Route 53 API unterstützen die GetChange
Aktion, die nicht INSYNC
bis den ritativen Server für Ihre Hosting-Zone zurückkehrt die erwartete Antwort für die Änderung (und natürlich zurückgeben sollte diese verwendet „Änderung“ in dem Sinne, dass beide „insert "und" update "sind eine" Änderung ").
Sie können dies auch ermitteln, indem Sie direkt einen der Server abfragen, die speziell Ihrer gehosteten Zone zugewiesen sind (wie unter anderem in der Konsole zu sehen).
$ dig @ns-xxxx.awsdns-yy.com example.com
Weil Sie einen autoritativen Server direkt abfragen, werden Sie das Ergebnis der Änderung sobald sie vom Server zur Verfügung hat, weil es keine Resolver auf dem Weg ist, die Antworten zwischengespeichert werden.
¹ Für die Zwecke dieser Antwort, ich bin die Tatsache zu beschönigen, was gemeinhin als „Ausbreitungsverzögerung“ in DNS bezeichnet wird, ist eigentlich ein nichts dergleichen - es ist eigentlich ein TTL-basierte Cache-Eviction-Verzögerung für vorhandene Datensätze.
Was lässt Sie denken, dass neue Einträge keine Verzögerung haben? – Peterdk
@Peterdk - Es ist ein brandneuer Eintrag. Sie geben keine neue IP-Adresse an einen vorhandenen A-Eintrag in der Welt weiter, wo sie möglicherweise zwischengespeichert wird. Daher würde ein Resolver eine vollständige Suche durchführen, zuerst auf .com und dann auf .example.com, um die IP zurück zum Client zu erhalten. Aber ich bin mir nicht sicher, warum es nicht von meinem lokalen DNS-Nameserver und dem Nameserver meines ISP gelöst wird. – Matt
hmm, vielleicht hängt es mit Anycast zusammen. Route53 benutzt das. Es ist also eine andere Art von Ausbreitungsverzögerung. – Matt