DNS TTL とは何ですか? DNS 伝播にどのような影響を与えますか?

- 26 September 2024
DNS TTL (Time To Live) は、すべての DNS レコードに存在する特別な値です。DNS のコンテキストでは、DNS の伝播に広範囲にわたる影響を与えるため、重要な値です。
この投稿では、TTL とは何か、DNS レコードでの役割、DNS 伝播のプロセスにどのように影響するかについて詳しく説明します。
TTL とは何ですか?
TTL は、Time to Live (存続時間) の略です。DNS レコードや、データベース、キャッシュなどのその他の形式のネットワーク/コンピューティングを構成するときによく使用される用語です。
DNS レコード のコンテキストでは、次のようになります。
“TTL は、特定の DNS レコードが更新されるまでにキャッシュに保持される時間の長さを示します。たとえば、TTL が 100 秒の「X」というレコードがある場合、そのレコードは 100 秒ごとに DNS キャッシュで更新されます (DNS キャッシュは、DNS レコードをすばやく取得できるように一時的に保存される場所です)」
短い TTL と長い TTL の両方を持つことには、長所と短所があります。管理しているドメイン、必要なパフォーマンス レベルなどに応じて期間を決定する必要があります。 “TTL は長くするべきか短くするべきか?” という見出しに移動してください。 “TTL は DNS の伝播にどのように影響しますか?“
TTL は DNS の伝播に直接影響します。 DNS 伝播とは、DNS レコードに加えられた変更がすべての さまざまな DNS サーバー にグローバルに適用されるプロセスです。(ドメインの DNS 伝播ステータスは、通常、オンラインの DNS 伝播チェッカー を使用して確認できます。)
DNS レコードの TTL によって、レコードがキャッシュされる期間が決まります。TTL が短いと、レコードに加えられた変更がグローバルに適用されるまでの時間がはるかに短くなります。これは、再帰リゾルバとローカル DNS キャッシュがより短い時間で更新を探すためです。
したがって、TTL と DNS 伝播の関係は次のように説明できます。
TTL が長い = DNS 伝播が遅い
TTL が短い = DNS 伝播が速い
この単純な関係を考えると、TTL が短い方が優れていて有利であるように思えるかもしれません。TTL が短いほど DNS 伝播が速くなるのは事実ですが、それにはいくつかの欠点もあります。これについては後で詳しく説明します。まず、次の点について説明しましょう。
DNS 伝播に影響を与える他の要因は何ですか?
TTL (DNS レコードで宣言されます) 以外にも、DNS 伝播に影響を与える要因がいくつかあります。
たとえば、
- デバイスやブラウザなどにあるローカル キャッシュは、宣言された TTL を過ぎても古い DNS レコードを保持することがあります。これにより、変更が特定のデバイスに伝播される期間が影響を受ける可能性があります。
- ネームサーバーなどの DNS 設定を変更すると、DNS レジストラによって TTL がデフォルト値に設定されます。このデフォルト値は約 24 ~ 48 時間です。このような変更の場合、カスタム TTL を設定することはできません。
- CDN も DNS 伝播時間に影響を与える要因です。 CDN 経由で Web サイトにアクセスしている場合、CDN に保存されているデータが置き換えられるまでに時間がかかることがあります。
TTL は短くするべきか長くするべきか?
上記では、長い TTL と短い TTL の両方に長所と短所があることを簡単に説明しました。次に、両方について詳しく見ていきましょう。
長い TTL の長所は短い TTL の短所であり、その逆も同様であることに注意することが重要です。 言い換えれば、存続期間が長いとメリットがあることがわかるものは、存続期間が短いとデメリットになるものと同じです。
TTL が長い |
TTL が短い |
DNS レコードの存続期間を長く設定すると、クエリはキャッシュされたデータによって事前に応答されるため、DNS サーバーは大量のトラフィックを処理する必要がありません。 |
TTL が短い場合、キャッシュはデータを更新するために DNS サーバーに頻繁に要求を送信します。トラフィックが増加すると、サーバーの処理速度が低下し、パフォーマンスが低下する可能性があります。 |
TTL が長いと、権威サーバーに何らかの問題や障害がある場合でも、DNS キャッシュはクエリに独自に応答できます。実際のサーバーの問題は解決されますが、キャッシュされたデータを使用してユーザーに応答できます。 |
TTL が短いと、すべてが権威サーバーに依存します。サーバーに問題が発生すると、キャッシュされたデータにもすぐに問題が現れ始めます。 |
TTL が長い場合のデメリットは、権威サーバーの DNS レコードに加えられた変更がキャッシュに適用されるまでに時間がかかることです。言い換えると、DNS の伝播に時間がかかります。 |
TTL が短いほど、DNS の伝播にかかる時間が短くなります。つまり、レコードの更新はすぐにキャッシュに反映されます。こうすることで、ユーザーは最新の情報にアクセスできます。 |
DNS レコードの TTL を見つける方法
次に、さまざまな DNS レコードの TTL を見つける方法について説明します。
これを行うには、主に 2 つの方法があります。 Web サイトのホスティング プロバイダーにアクセスするか、オンラインのサードパーティ ツールを使用するかのいずれかを選択できます。Web サイトのホスティング プロバイダーにアクセスすると、多くの場合、長いサインイン プロセスが必要になります。また、これは自分で所有する Web サイトまたはドメインにしか機能しません。
一方、サードパーティのオンライン ツールを使用すると、より迅速に作業でき、自分のドメインや Web サイトだけでなく、インターネット上のあらゆるドメインや Web サイトの TTL を見つけることができます。
オンラインのサードパーティ ツールを使用して DNS レコードの TTL を見つけるための手順は次のとおりです。 (弊社の DNS ルックアップ ツールを使用してプロセスについてご案内します。)
- まず、次の URL をクリックして DNS ルックアップ ツールに移動します: https://whatsmydns.me/ja/dns-lookup

- 次に、指定されたスペースにドメイン名を入力します

- ドロップダウン メニューをクリックして DNS サーバーを選択します

- 「DNS ルックアップ」というボタンをクリックします

- これにより、ドメインのすべての DNS レコードの結果が表示されます。特定のレコードを検索する場合は、プロセスを開始する前にそのレコードを選択できます
これで完了です。
DNS レコードの詳細が提供されると、レコード自体の値と TTL が表示されます。
さまざまなレコードの一般的な TTL 値
一般的な DNS レコードの推奨 TTL 値を以下に示します。
TTL 値 列と 時間数 列を含む更新された表を以下に示します:
DNS レコード タイプ |
目的 |
TTL 値(秒) |
時間単位 |
A / AAAA |
ドメインを IPv4/IPv6 アドレスにマッピングします |
3600 - 14400 |
1 - 4 |
CNAME |
別のドメインへのエイリアス |
3600 - 86400 |
1 - 24 |
MX |
メール サーバー レコード |
43200 - 86400 |
12 - 24 |
TXT (SPF、DKIM、DMARC など) |
検証とセキュリティ |
3600 - 43200 |
1 - 12 |
NS |
ネームサーバー委任 |
86400 |
24 |
SOA |
権限の開始 (ゾーンコントロール) |
3600 |
1 |
PTR |
リバース DNS ルックアップ |
86400 |
24 |
DNS レコードの TTL を変更する方法
DNS レコードの TTL を変更するために必要な正確な手順は、ドメイン レジストラと、そのドメイン レジストラが使用するデフォルトのコントロール パネルによって異なります。ただし、以下に一般的な手順を記載します。
- まず、ドメイン レジストラ アカウントにログインします。たとえば、Namecheap または GoDaddy を使用している場合は、ホスティング アカウントにログインします。
- レコードを編集するドメインに移動し、コントロール パネルを開きます (たとえば、Namecheap を使用している場合、ボタンには [Cpanel に移動] と表示されます)。
- その後、DNS レコード設定を見つけます (Cpanel の例を続けると、これらの設定は [ゾーン エディター] オプションをクリックすると見つかります)。
- 変更する DNS レコードを見つけて、[編集] をクリックします。
- TTL を好きなように再入力します。ke は秒単位で指定できます。
DNS 伝播を高速化する方法
DNS 伝播を高速化するための主な方法の 1 つは、TTL を短く設定することです。ただし、他にも次のような方法があります。
- ローカル DNS キャッシュを定期的にフラッシュする: DNS 伝播は、データがローカル キャッシュに保存されているため遅延することがあります。ローカル キャッシュを定期的にフラッシュすると、伝播プロセスを高速化できます。コマンド プロンプトでコマンド ipconfig /flushdns を使用して、ローカル キャッシュをフラッシュできます。
- 高速 DNS サービス プロバイダーを使用する: 高速 DNS サーバー プロバイダーを使用すると、変更が伝播される速度にも影響します。 Cloudflare など、速度で知られている DNS サーバーを使用する必要があります。
- 散発的に変更する: DNS をまとめて変更するのではなく、散発的に変更すると、伝播速度に違いが生じる可能性があります。多くの変更を行うと、すべての変更を実装するのに時間がかかることがあります。
結論
DNS レコードの TTL は、リゾルバーが権限のあるサーバーに更新を要求する前に、データがローカル キャッシュに保持される時間を示すために使用されます。TTL を長くすると、冗長性が向上します。つまり、権威あるサーバーのデータに問題が発生した場合でも、キャッシュがユーザーにデータを提供することになります。
一方、TTL を短くすると、キャッシュが新しい情報で定期的に更新されるため、メリットがあります。
ブログやポートフォリオなど、定期的に変更されない静的な Web サイトの場合は、TTL を長くしておくのが賢明です。一方、ニュース Web サイトや e コマース ストアなど、Web サイトが迅速な更新に依存している場合は、TTL を短くすることをお勧めします。
これで記事は終了です。次の記事に進む前に、以下に示す FAQ を必ず確認してください。 TTL 関連の質問に対する回答は以下をご覧ください。
よくある質問
DNS レコードに設定できる最小の TTL はどれくらいですか?
DNS レコードに設定できる最小の有効期間は 1 秒です。フィールドに 0 を入力することはできません。入力すると考慮されません。
ただし、最小の TTL は 1 秒ですが、1 秒ごとの伝播は通常は実現できないため、一部の DNS サービス プロバイダーでは 30 秒や 60 秒などの最小制限を設けている場合があります。
DNS レコードごとに異なる TTL 値を設定する必要はありますか?
はい、DNS レコードごとに異なる有効期間を設定する必要があります。 DNS レコードを変更する頻度によって異なります。
たとえば、ドメインの A レコードまたは AAAA レコードには IPv4/IPv6 アドレスが含まれているため、何度も伝播する必要はありません。これらのレコードには、より長い TTL を設定しても問題ありません。
一方、MX レコードにはメール サーバーの名前だけでなく、各サーバーの優先度レベルも含まれています。この情報は定期的に変更される可能性があるため、MX レコードの TTL は短くする必要があります。
TTL フィールドに何も入力しないとどうなりますか?
TTL フィールドに何も入力しないと、リゾルバーは DNS サーバーによってデフォルトで定義されている TTL を考慮します。これは通常、約 24 ~ 48 時間です。
関連ブログ
