サービスを作る時にドメインを取得し、そのドメインのDNSレコードを設定しますよね。 会社で先輩から言われたことでもあるんですが、サービスイン前ならTTLを短くしておいた方が良いです。

TL;DR

  • サービスイン前は、TTLを短くする
  • サービスイン後は、TTLをある程度長くしておく

TTLを短くする

サービスイン前に限定して話ですが、AWSなどといったサービスを利用していると、頻繁にインスタンスが変わったり、AレコードなどといったDNSレコードの設定を変更する時ありますよね。 そういった時にTTLが長いとどうでしょうか? 中々が変更が更新されずに、開発や環境構築のペースが落ちてしまいます。

NSレコードは5~10分、Aレコードなどは1分あたりで良いです。

サービスイン後は?

サービスイン後は、短くする理由は基本的にはないですã 何故なら、TTLを短く設定している時のメリットよりも、デメリットの方が大きいからです。 どんなデメリットが考えられるでしょうか?

  • DNSキャッシュポイズニングの危険性
  • DNSサーバーへの負荷が上がる

パッと出てくるのは、この2つです。

DNSキャッシュポイズニングの危険性

ここでは、DNSキャッシュポイズニングの具体的な流れについては触れませんが、TTLが短い場合は、この攻撃を遂行しやすくなります。 TTLを長くすることで、その危険性をある程度は下げることが可能です。

DNSサーバーへの負荷が上がる

TTLが短いと、エンドユーザー側の端末でもキャッシュの期限が切れ、短い間隔でDNSサーバーに対してリクエストされるようになります。 となると、DNSサーバー側はどうでしょうか? 多少リクエスト増えたぐらいでどうにかなるものã§はないですが、負荷が上がってしまうことが容易に考えられます。 多くの人達に使ってもらうサービスなら、こういった細かい点を、どこかのタイミングで考えれると良いですね。

最後に

確かにサービスイン前だと、早く変わってもらわないと困る時が多々あるので、TTLを短くしておくのが嬉しいですね。 短くしたら、サービスイン前後で設定を見直すことを忘れないようにしましょう。 サービスイン後には、NSレコードは1日程度にしておくのが良いです。(割りと一般的らしい)