2016-07-05 9 views
0

EC2でオンデマンドで起動するホストがいくつかあります。開始するサービスを実行すると、既存のゾーンのRoute53にAレコードが作成されます。DNSの原因レコード遅延

Aレコードの形式は、randomid.example.comです。 これは、既存の名前/ IPペアの更新や変更ではなく、全く新しいエントリです。伝搬遅延があってはなりません。

私が見てきたことは、エントリが追加され、AmazonサーバーのいずれかでDNSを検索できるようになった後、自分のクライアントPCが5〜10分のような名前を解決できないということです。あなたはそれをpingし、私はそれのIPを見ることを期待したいと思います。しかし、私は単に「そのようなホストはありません」と思っています。

私のローカルネームサーバから/etc/resolv.confネームサーバエントリを8.8.8.8(google dns)に変更すると、それが解決されます。私は元に戻り、解決しません。これは、Googleの回答を受けてRoute53とは関係がないようです。

この原因は何ですか?ローカルのリゾルバが関連するネームサーバーと、最終的にはexample.comのネームサーバーに照会するべきではありません。これはrandomid.example.comの回答を得なければなりませんか?

+0

あなたは新しいエントリーに伝播遅延がないと思いますか? – Peterdk

+0

@Peterdk - これは新しいエントリです。既存のAレコードに新しいIPアドレスを伝播させずに、キャッシュされている世界に送ります。したがって、リゾルバは完全なルックアップを行い、最初に.comを、次に.example.comを実行してIPをクライアントに戻します。しかし、なぜ私のローカルDNSネームサーバと私のISPのネームサーバによって解決されていないのか分かりません。 – Matt

+0

うん、それはおそらくエニーキャストに関連している。 Route53はそれを使用します。したがって、伝播遅延のタイプは異なります。 – Matt

答えて

1

伝達遅延があってはいけません。

はい、あります。

すべてのDNS設定には「伝播遅延」があります。新しいレコードの場合¹

、レコードの前にホスト名の検索がネガティブキャッシュでの権威ネームサーバの結果から、実際に提供されています:リゾルバは、存在しないレコードを検索するとき、NXDOMAIN応答がありますこの応答は、デフォルトのTTLが経過し、リゾルバのキャッシュから応答が取り除かれるまで、後続の要求に対して返されます。

ネガティブキャッシングは、ネガティブ回答の応答時間を短縮するので便利です。また、リゾルバとネームサーバ間で送信する必要があるメッセージの数を減らし、ネットワーク全体のトラフィックを削減します。

新しいレコードを照会するを使用

https://tools.ietf.org/html/rfc2308、あなたはそれが起こるならば、あなたが期待される答えを見始めるTTLが0にカウントダウンが表示されます。 Linuxではwatch -n 1 'dig example.com'のようにwatchユーティリティが便利です。

生きるための最小時間(TTL):

タイマーは、あなたのホストされたゾーンのSOAレコードに発見された最小TTLから設定する必要があります。この値は、ドメインが存在しないことを示すNXDOMAIN結果がDNSリゾルバによってキャッシュされるべき時間の長さを定義するのに役立ちます。この負の結果をキャッシュすることは、ネガティブキャッシングと呼ばれます。ネガティブキャッシングの期間は、SOAレコードのTTLまたは最小TTLフィールドの値の小さい方です。 Amazon Route 53 SOAレコードのデフォルトの最小TTLは900秒です。

http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html

あなたの5-10分のソースがあります。実際は15分(900秒)という最悪のケースです。

このタイマーを減らすと、正常に動作するリゾルバがレコードが存在しないという事実をキャッシュする時間が短縮されます。

"素晴らしいですが、あなたが反対していますが、存在する前にホスト名を照会しませんでした。

おそらく、ルート53がレコードをすぐに表示しないためでした。ホストされたゾーンに変更が加えられてから、Route 53がレコードを返すまでには少し時間がかかります。

Route 53 APIはGetChangeアクションをサポートしています。これは、ホストゾーンの権限のあるサーバーが変更の予想される回答を返すまでINSYNCを返すべきではありません(もちろん、これは "変更" 「更新」は「変更」です)。

また、(コンソールなどに表示されているように)ホストゾーンに特別に割り当てられたサーバーの1つを直接照会することで、これを判断することもできます。

$ dig @ns-xxxx.awsdns-yy.com example.com 

あなたが直接権限のあるサーバーを照会しているため応答をキャッシュするパスには、リゾルバがないので、あなたは、できるだけ早くサーバが利用できる持っているとして、変更の結果が表示されます。この回答の目的のために


¹、私はどのような一般的にDNSにおける「伝搬遅延」と呼ばれているが実際の並べ替えの何物でもないという事実の上に光沢だ - それは実際にはTTLベースです既存のレコードのキャッシュ退避の遅延。

関連する問題