ユイ
あしたの朝9時に、ラボのサイトを新しいサーバーへ移します。DNSの管理画面に「TTL 3600」とあるのですが、これは何分ですか?
ピコ
60分だよ。このままだと、切り替えたあとも最長60分は、古いサイトへ行く人が残る。きょうのうちに、打てる手があるよ
DNSのTTLは、DNSの答えを覚えておいてよい時間を、秒で表した値です。3600なら60分(1時間)、300なら5分、86400なら24時間(1日)です。
60で割ると分、もう一度60で割ると時間になります。意外なのは、ふだんの回線で確かめると、3600より小さい数字が返ってくること。故障ではなく、残り時間です。
TTL 3600は何分?秒数を分・時間に直す早見表
TTLは Time To Live の略です。DNSの管理画面でも、確認のコマンドでも、単位は秒。よく出る数字を並べました。
| TTL(秒) | 直すと | 見かける場面 |
|---|---|---|
| 0 | 覚えない | その場で1回使うだけの答え |
| 60 | 1分 | 障害のとき、すぐ切り替えたいレコード |
| 120 | 2分 | 同じく、すぐ切り替えたいレコード |
| 300 | 5分 | 移行の前に短くするときの値。Cloudflareの「Auto」 |
| 600 | 10分 | — |
| 900 | 15分 | — |
| 1800 | 30分 | — |
| 3600 | 60分=1時間 | めったに変えないレコードでよく選ばれる値(下の端) |
| 7200 | 2時間 | — |
| 10800 | 3時間 | 「その名前は無い」を覚える上限(BIND 9の初期値) |
| 14400 | 4時間 | — |
| 21600 | 6時間 | — |
| 43200 | 12時間 | — |
| 86400 | 24時間=1日 | めったに変えないレコードでよく選ばれる値(上の端) |
| 172800 | 48時間=2日 | Route 53が勧める範囲の上の端 |
| 604800 | 7日=1週間 | 聞く側が頭打ちにする値の勧め |
※ 3列目の出どころは、0がRFC 1035、60・120・3600・86400・172800がAWS(Route 53)、300がCloudflare、10800がBIND 9、604800がRFC 8767です(2026年10月10日確認)。
表にない数字も、60で割れば分になります。2700なら45分。86400は、1日をそのまま秒にした数です(60秒×60分×24時間)。
表で読めるのは、設定した時間です。自分のドメインがいま何秒なのかは、コマンド1行で確かめられます。
DNS TTLを確認する方法|dig・nslookup・Resolve-DnsName
道具は、パソコンの種類で決まります。どれもDNSの答えを読むだけで、設定は変えません。
| 道具 | 打つコマンド | TTLが出る所 |
|---|---|---|
| dig(Mac・Linux) | dig example.com A +noall +answer | 2番目の数字 |
| Resolve-DnsName(WindowsのPowerShell) | Resolve-DnsName -Name example.com -Type A | 「TTL」の列 |
| nslookup(Windowsのコマンドプロンプト) | nslookup -debug example.com | くわしい表示の中の、答えの欄 |
※ example.com を調べたい名前に、A(IPv4の住所)を調べたいレコードの種類に置き換えます。下の出力の数字と住所は、読み方を示すための例です。
digでは、答えが1行で返ります。
example.com. 3000 IN A 192.0.2.10
| 出力の部分 | 読み方 |
|---|---|
| example.com. | 答えの対象の名前 |
| 3000 | 返ってきたTTL。秒なので、この例では50分 |
| IN / A | インターネットのAレコード |
| 192.0.2.10 | 対応するIPv4の住所 |
+noall +answer は、答えの行だけに絞る指定です。何も出ないときは、TTLが0なのではなく、答えの欄が空だったということ。指定を外して dig example.com A と打ち、status の行を確かめます。同じ出力の SERVER の行には、答えたDNSサーバーが出ます。
Resolve-DnsNameは、答えが表の形で返り、列の名前がそのまま「TTL」です。
| Name | Type | TTL | Section | IPAddress |
|---|---|---|---|---|
| example.com | A | 3000 | Answer | 192.0.2.10 |
nslookupは、-debug を付けると、送った問い合わせと返ってきた答えの中身をくわしく表示します。TTLは、その答えの欄にあります。
ユイがdigを打つと、返ってきたのは3000でした。管理画面は3600のままです。
設定は3600なのに、3000と返ってきた。なぜ数字が違う?
漫画:同じTTLなのに、数字が違う? 全4ページ
ユイは設定3600秒と返答3000秒の違いを模型で比べる。ピコと10分経った例をたどり、次に設定だけ300秒へ短くしても元から残っていた控えが同時に変わるわけではないと見る。最後に設定と返答をボードの別の欄へ分け、空の確認メモを持って、どこの値かも残すと決める。
画像を押すと拡大できます。+/−で大きさを変え、拡大中はドラッグして読めます。
数字と砂時計はTTLの読み方を示す架空の例で、実在ドメインの設定や観測結果ではありません。3600秒から10分経った残り3000秒は単純化した一つのキャッシュの例です。TTLは世界中の利用者が一斉に切り替わるカウントダウンではなく、問い合わせ先や更新、各実装の方針で返る値が変わります。設定変更は既存キャッシュの期限を遡って一斉に書き換える操作ではありません。DNS以外の表示キャッシュやエラーの原因は別に確認します。
違うのは、聞いた相手です。ふだんの回線で聞くと、答えるのはキャッシュDNS。一度調べた答えの控えを取っておき、同じ質問にはその控えで答える係です。台帳そのものを持つのは権威DNS(そのドメインのネームサーバー)で、管理画面の3600は、こちらに書かれています。
キャッシュDNSは、権威DNSから答えを受け取った瞬間に、3600秒の砂時計をひっくり返します。あとは聞かれるたびに、残りの秒数を付けて控えを返します。受け取ってから10分(600秒)たっていれば、3600 − 600 = 3000。digを打つたびに数字が減るのも、同じ砂時計を見ているからです。砂が落ちきった控えは捨てられ、次に聞かれたときに権威DNSへ聞き直すので、数字はまた3600から始まります。

設定した値そのものを見たいときは、権威DNSに直接聞きます。
dig example.com NS +short
dig @ns1.example.net example.com A +noall +answer
1行目で出たネームサーバーの名前を、2行目の @ のあとに入れます(ns1.example.net は例)。台帳には砂時計が付いていないので、何度聞いても3600です。Windowsでは、Resolve-DnsName に -Server を足して、聞く相手を指定します。
| 聞いた相手 | 返るTTL | 見分け方 |
|---|---|---|
| キャッシュDNS(ふだんの回線) | 残り時間。聞くたびに減る | flags の行に aa がない |
権威DNS(@ で指定) | 設定した値。何度聞いても同じ | flags の行に aa がある |
※ flags の行は、+noall +answer を外すと出ます。aa は、台帳を持つサーバー自身の答えだという印です。
3000は、そのキャッシュDNSが持つ控え1枚の残り時間です。世界中が切り替わるまでの秒読みではありません。別の回線のキャッシュDNSは、別の時刻に控えを受け取り、別の数字を返します。人によって見えるサイトが違うときの確かめ方は、DNSを変えたあと、表示がそろわない理由で扱っています。
砂時計の大きさは、管理画面で決められます。3600のままがよいのか、もっと小さくするのか。
TTLはどれくらいに設定すればいい?公式の目安
決まった正解はありません。AWS(Route 53)の案内も「正しい値は無い」と書いたうえで、変更が行きわたるのをどれだけ待てるかで決めるよう勧めています。公式の資料に、よく選ばれる値として出てくる数字は、次のとおりです。
| 場面 | 公式の資料にある値 | 出どころ |
|---|---|---|
| めったに変えないレコード(NS・MXなど) | 3600〜86400秒(1時間〜1日) | AWS |
| 障害のとき、すぐ切り替えたいレコード | 60秒か120秒 | AWS |
| 移行の前に、一時的に | 300秒(5分) | Cloudflare |
| サービスが勧める範囲 | 60〜172800秒(1分〜2日) | AWS |
| サービスで選べる範囲 | 60秒〜1日。「Auto」は300秒 | Cloudflare |
※ 2026年10月10日に各社の公式ページで確認。Cloudflareの範囲は、プロキシを通さないレコードのもの(Enterpriseプランの下限は30秒)で、プロキシを通すレコードは300秒で固定です。自分のDNSサービスの初期値と選べる範囲は、管理画面で確かめます。
長くするほうには天井があります。聞く側は、長すぎる値を7日(604800秒)で頭打ちにするよう勧められていて(RFC 8767)、DNSサーバーのソフト BIND 9 の初期値も1週間です。TTLは「ここまでは覚えてよい」という上限で、聞く側はもっと早く捨ててかまいません(RFC 2181)。
昔は、もっと長いのがふつうでした。DNSの決まりを書いた1987年の文書(RFC 1034)は、ふつうのホストなら「日の単位」がよいとしています。いまは、公式の案内に5分や1分が並びます。
TTLを短くしすぎると何が起きる?
ユイ
ずっと60秒にしておけば、移転のたびに悩まずに済みませんか?
マコト
砂時計が小さいと、ひっくり返す回数が増えるんだ。そのたびに、台帳の持ち主まで聞きに行くことになるよ
起きることは3つあります。
- 聞き直しが増えます。1台のキャッシュDNSが、控えが切れるたびに聞き直すと、86400秒なら1日1回、300秒なら288回、60秒なら1,440回です※。AWSは、問い合わせの量と費用が増えると案内しています。
- 名前を引くのに時間がかかる場面が増えます。控えがあれば、その場で答えられるからです。
- 権威DNSが止まると、すぐに引けなくなります。TTLが300秒なら、止まって5分でどの控えも切れ、聞き直す先がありません。
※ 86400をTTLで割っただけの計算です。実際の回数は、その名前を聞く人の数と、キャッシュDNSの数で変わります。
3つめをふさぐため、2020年のRFC 8767は、聞き直せないときに限り、期限の切れた控えを使ってよいと決まりを改めました。ただし、使うかどうかは聞く側が決めます。
だから、短くするのは変更の前後だけ。残る問いは、いつ短くするかです。
サーバー移転の前、TTLはいつ短くする?6つの手順
切り替える時刻から、いまのTTLぶん以上さかのぼって短くします。いまが3600なら1時間以上前、86400なら24時間以上前です。
直前では間に合いません。設定を300に書き換えても、その前に3600で配られた控えの砂時計は縮まず、最長で1時間そのまま使われます。漫画の3ページ目で、設定の札を300に替えても、控えの札が3000のままだった場面です。
Cloudflareは、DNSの移行では24〜48時間以上前、できればいまいちばん長いTTLに合わせて短くするよう勧めています。迷ったら、丸1日以上前に済ませます。
いまのTTLが3600で、あしたの朝9時に切り替える例です。
| 順番 | すること | 時刻の例 |
|---|---|---|
| 1 | 変えるレコードの種類と、いまのTTLを確かめる(権威DNSに聞いた値) | 前の日 |
| 2 | TTLだけを300に変える。行き先はまだ変えない | 前の日のうち |
| 3 | もとのTTLぶん待つ。3600秒の控えが、300秒の控えに入れ替わる | 1時間以上 |
| 4 | 行き先を新しいサーバーへ変える | 当日の9時 |
| 5 | 権威DNSと、ふだんの回線の両方で、新しい答えを確かめる | 9時5分から |
| 6 | 動作を確かめたら、TTLを元の値へ戻す | 落ち着いてから |
前もって短くし、終わったら戻す。このやり方は、1987年のRFC 1034にもう書かれています。

手順のあいだ、メモは欄を分けて書きます。漫画の最後でユイが決めたとおり、どこに聞いた値かも残します。
- 名前とレコードの種類: ____(A / CNAME / MX / TXT)
- 設定したTTL(権威DNSに聞いた値): ____秒
- 返ってきたTTL(残り)と、聞いた相手・時刻: ____秒 / ____
- TTLを短くした時刻 / 行き先を変えた時刻: ____ / ____
手順どおりに進めても、落とし穴がひとつ残ります。新しく作った名前が、自分の回線でだけ引けないことがあるのです。
作ったばかりの名前が引けない。「無い」という答えにも期限がある
キャッシュDNSは、「その名前は無い」「その種類のレコードは無い」という答えも控えます。ネガティブキャッシュと呼ばれるしくみです。レコードを足す前にその名前を引くと、「無い」の控えが残り、足したあともしばらく「無い」と返ります。
| 何の数字 | どれくらい | 出どころ |
|---|---|---|
| 「無い」の期限 | SOAレコードの MINIMUM の値と、SOAレコード自身のTTLの、小さいほう | RFC 2308 |
| 聞く側が置く上限 | 1〜3時間がうまくいく。1日を超えると問題が起きる | RFC 2308 |
| BIND 9の上限の初期値 | 10800秒(3時間) | BIND 9 |
MINIMUM は、dig example.com SOA +noall +answer で出る行の、最後の数字です。新しい名前は、レコードを足してから引きます。先に引いてしまったら、「無い」の期限が切れるのを待ちます。
ミニクイズ:TTLの数字を読める?
Q1. TTL 3600は何分ですか?
A. 60分(1時間)です。TTLは秒で書くので、60で割ると分、もう一度60で割ると時間になります。300は5分、86400は1日です。
Q2. DNSのTTLは、どうやって確認しますか?
A. MacやLinuxでは dig example.com A +noall +answer の2番目の数字、WindowsのPowerShellでは Resolve-DnsName -Name example.com -Type A の「TTL」の列を見ます。ふだんの回線で返るのは残り時間で、設定した値は権威DNSに聞くと分かります。
Q3. サーバー移転の前、TTLはいつ短くしますか?
A. 切り替える時刻から、いまのTTLぶん以上前です。3600なら1時間以上前、86400なら24時間以上前。直前に短くしても、先に配られた控えの期限は縮みません。
あしたの9時に切り替えるなら、きょうのうちに300へ
ユイは、管理画面の「3600」の横に「60分」と書き、メモに一行足しました。きょうのうちに、TTLを300へ。行き先はまだ変えない。これで、あしたの切り替えのあとに古い控えが残る時間は、最長60分から5分に縮みます。
いまなら「TTL 3600は何分?」に答えられ、digで返った3000を残り時間と読め、短くする時刻を逆算できます。
切り替えたあと、人によって古いサイトが見えたら、待つのか設定を見直すのかをDNS変更後の確かめる順番で分けられます。キャッシュDNSが権威DNSまで聞きに行く道のりはDNSの仕組みに、調べ終えた答えにTTLの時計を付けて棚へ置く場面は物語の第42話にあります。
この記事について
LAB WHITEBOARD
DNSのTTLを一文で説明してみよう
「TTLの秒数を分・時間に直し、確認コマンドで返った値が設定した値か残り時間かを見分け、変更の何時間前にTTLを短くするかを決められるようになる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。








