it

DNSのTTLとは?意味とキャッシュへの影響を解説!(保持期間・更新・浸透・レコードなど)

当サイトでは記事内に広告を含みます

DNSの設定を行っていると、必ず目にする項目が「TTL」です。

TTLはキャッシュの保持期間を決める値であり、設定次第でWebサイトの表示速度やDNS変更の反映速度に大きく影響します。

この記事では、TTLの意味・キャッシュへの影響・適切な設定方法について、保持期間・更新・浸透・レコードといったキーワードを交えながらわかりやすく解説していきます。

DNS設定を正しく管理したい方にとって、ぜひ押さえておきたい内容です。

TTLとはDNSキャッシュの保持期間を指定する値のこと

それではまず、TTLの基本的な意味と役割について解説していきます。

TTLは「Time To Live(タイム・トゥ・リブ)」の略であり、DNSレコードがキャッシュサーバーやクライアントに保持される時間を秒単位で指定する値です。

たとえばTTLが3600に設定されている場合、そのDNSレコードは最大3600秒(1時間)キャッシュに保存され、その間は再度DNSサーバーへの問い合わせが行われません。

TTLが経過すると、キャッシュが破棄されて再びDNSサーバーへ問い合わせが発生します。

TTLはすべてのDNSレコード(Aレコード・MXレコード・CNAMEレコードなど)に個別に設定できます。

レコードの種類や用途に応じてTTLを使い分けることが、安定したDNS運用の鍵となります。

TTLとキャッシュの関係

DNSキャッシュとは、一度解決したドメイン名とIPアドレスの対応情報を一時的に保存しておく仕組みです。

キャッシュがある間は権威DNSサーバーへの問い合わせが省略されるため、名前解決が高速化されます。

TTLはこのキャッシュの有効期限であり、TTLを長くするほどキャッシュが長く保持され、DNSサーバーへの問い合わせ頻度が下がります。

逆にTTLを短くすると問い合わせ頻度が増える一方、DNSレコードの変更が素早く反映されるようになります。

TTLの単位と一般的な設定値

TTLは秒単位で指定し、用途によって適切な値が異なります。

TTL値 時間換算 主な用途
300 5分 DNSレコード変更前・障害対応時
900 15分 変更頻度が高いレコード
3600 1時間 一般的なWebサーバー・メールサーバー
86400 24時間 変更頻度が低い安定したレコード

多くのDNSサービスではデフォルトのTTLとして3600(1時間)が設定されていることが一般的でしょう。

TTLが短すぎる・長すぎる場合の問題点

TTLを極端に短く設定すると、DNSサーバーへの問い合わせ頻度が増加し、サーバーへの負荷が高まります。

一方、TTLを極端に長く設定すると、DNSレコードを変更した際に古いIPアドレスがキャッシュに残り続け、ユーザーが正しいサーバーに接続できない状態が長引くことがあります。

TTLは短すぎず長すぎず、運用の目的に合わせて適切な値を選ぶことが大切です。

TTLとDNS浸透(DNSプロパゲーション)の関係

続いては、TTLがDNS浸透にどのように影響するかを確認していきます。

DNS浸透の仕組みを理解することで、レコード変更時のトラブルを未然に防げます。

DNS浸透とは何か

DNS浸透(DNSプロパゲーション)とは、DNSレコードを変更した際に、その変更がインターネット全体のキャッシュDNSサーバーに反映されるまでの過程のことです。

世界中に無数のキャッシュDNSサーバーが存在し、それぞれが独自のキャッシュを保持しているため、変更が一斉に反映されるわけではありません。

各サーバーがキャッシュのTTLを消費して再問い合わせを行うまで、古い情報が返され続けます。

DNS浸透にかかる時間とTTLの関係

DNS浸透にかかる時間は、変更前のレコードに設定されていたTTLに大きく左右されます。

例:変更前のAレコードのTTLが86400(24時間)だった場合

→ 最悪のケースで変更反映まで24時間かかる可能性があります。

例:変更前のAレコードのTTLが300(5分)だった場合

→ 変更反映まで最大5分程度で済みます。

このため、IPアドレスの変更やサーバー移行を予定している場合は、事前にTTLを短縮しておくことが強く推奨されます。

作業の1〜2日前にTTLを300〜600程度に下げておくと、変更後の浸透時間を大幅に短縮できるでしょう。

DNS浸透の確認方法

DNS浸透の状況は以下の方法で確認できます。

確認方法 概要
digコマンド Mac・Linuxで特定のDNSサーバーへの問い合わせ結果を確認できる
nslookupコマンド WindowsでDNSの名前解決結果を確認できる
DNS Checker(オンラインツール) 世界各地のDNSサーバーでの反映状況を一覧で確認できる
WhatsMyDNS 複数リージョンのキャッシュDNSへの反映状況を視覚的に確認できる

オンラインツールを使うと、地域ごとのDNS浸透状況が一目でわかるため便利でしょう。

TTLの適切な設定戦略

続いては、TTLをどのように設定・運用すべきかという戦略について確認していきます。

通常運用時のTTL設定

通常の運用時には、用途に応じたTTLを設定することが基本です。

変更頻度が低く安定しているAレコードやMXレコードには、3600〜86400程度のTTLが適しています。

一方、CDNやクラウドサービスと連携しているCNAMEレコードは、サービス側の推奨値に従うことが多く、比較的短いTTLが設定されるケースもあります。

安定性と柔軟性のバランスを取ることが、TTL設定の基本方針といえるでしょう。

サーバー移行・IPアドレス変更時のTTL戦略

サーバー移行やIPアドレス変更を行う際の推奨手順は以下のとおりです。

①作業の1〜2日前にTTLを300〜600秒に短縮する

②短縮したTTLが浸透するまで待機する(現在のTTL分の時間が必要)

③IPアドレスやレコードの変更を実施する

④新しいDNSレコードへの浸透が完了したことを確認する

⑤問題がなければTTLを元の値(3600〜86400)に戻す

この手順を踏むことで、変更後の浸透時間を最小化しつつ、問題発生時の切り戻しも素早く行えます。

SOAレコードのデフォルトTTLとの関係

DNSゾーンにはSOA(Start of Authority)レコードというものがあり、ゾーン全体のデフォルトTTLを定義しています。

個々のレコードにTTLが設定されていない場合、このSOAレコードのデフォルトTTLが適用されます。

SOAレコードのTTL設定がゾーン全体のキャッシュ動作に影響するため、ゾーン設計の際には合わせて確認しておくことが重要でしょう。

まとめ

この記事では、DNSのTTLの意味・キャッシュへの影響・DNS浸透との関係・適切な設定戦略について解説しました。

TTLはDNSレコードのキャッシュ保持期間を秒単位で指定する値であり、設定次第で名前解決の速度やDNS変更の反映時間が大きく変わります。

サーバー移行やIPアドレス変更の際は事前にTTLを短縮しておくことで、DNS浸透にかかる時間を短縮しトラブルを防ぐことができます。

TTLの仕組みを正しく理解し、用途に応じた適切な値を設定することが、安定したDNS運用の基本です。

ぜひ本記事を参考に、自身のDNS設定を見直してみてください。