Time to Live(TTL)とは

オフィスで座って机の上のノートPCを使用するコンピュータープログラマーの横顔

共同執筆者

Camilo Quiroz-Vázquez

IBM Staff Writer

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

Time to Live(TTL)とは

Time to live(TTL)とは、データ・パケットまたはレコードが、破棄または再検証されるまでにネットワーク、コンピューター、またはサーバー上に存在する時間を定義する値です。

TTL値は、さまざまな機能の明確な必要性に基づいて測定された時間制限です。Time to liveは、ネットワーク、データ・キャッシュ、コンテンツ配信ネットワークのキャッシュ、ドメイン・ネーム・システム(DNS)のキャッシュなど、さまざまなコンテキストで使用されます。

たとえば、DNSレコードのTTL値は、権威サーバーに接続して新しいコピーを取得する前に、DNSレコードをキャッシュする時間を再帰リゾルバーやローカル・リゾルバーに示します。

ネットワーキングでは、Internet Protocolパケット(IPパケット)のヘッダーに設定されたTTL値は、パケットの有効期限が切れたか「ホップ制限」に達したために破棄する必要があることをネットワーク・ルーターに通知します。ルーターは、データ・パケットの有効期限が切れたと判断すると、インターネット制御メッセージ・プロトコル(ICMP)メッセージをホストに送り返し、パケットを破棄します。

TTLは、配信できないデータ・パケットを削除し、データ・パケットがルーター間で無限にバウンスするリスクを軽減するために使用されます。これにより、期限切れのパケットがシステムを詰まらせるのを防ぎ、コンテンツの配信速度を向上させ、ネットワークの遅延を減らします。

TTLは、pingやtracerouteなどのコンピューター・ネットワーク・ユーティリティーにも使用され、ネットワーク上のホストを識別し、データがネットワークを通過するパスをマッピングし、パケットがネットワーク上のあるポイントから別のポイントに移動するのにかかる時間を測定します。

ビジネス街をバックにスマホを持つ手

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

TTLの仕組み

ネットワーキングでは、パケットがネットワーク上に存在する時間を示す数値がデータ・パケットとIPパケットに埋め込まれています。TTL値の範囲は1〜255です。オペレーティング・システムが異なれば、サポートするデフォルトのTTL値も異なります。ただし、管理者は、組織のユースケース、設定、または要件に基づいてTTL値を変更できます。

パケットがルーターなどのネットワーク・デバイスを通過するたびに、ルーターはTTLフィールド値を1ずつ減らします。ネットワーク・デバイスを通過する各経路は「ホップ」と呼ばれます。TTL値がゼロになると、ICMPメッセージがパケットの発信元のホスト・サーバーに送信され、パケットは破棄されます。データ・パケットのライフスパンを管理することで、データ・パケットがルーティング・ループに陥るのを防ぐことができます。これにより、ネットワークの輻輳が緩和され、ロード・バランシング、リソース最適化、コンテンツ配信が改善されます。

NS1 Connect

IBM NS1 Connect

IBM NS1 Connectでネットワークのレジリエンスを強化しましょう。このビデオでは、アプリケーションのレジリエンスと性能におけるIBM NS1 Connectの価値について説明します。

TTLとDNS

DNS TTLとは、DNSサーバーがキャッシュされたDNSレコードを提供できる期間を指します。これはDNSレコードの有効期限のようなもので、ローカル・リゾルバーに、キャッシュにレコードをどれくらいの期間保持すべきかを示します。

DNS解決は、ドメイン名をInternet Protocol(IP)アドレスに変換し、ユーザーをWebサイトに接続するプロセスです。これには、DNSレコードに保存されている情報を複数のDNSサーバーから取得するプロセスがあり、再帰DNSリゾルバーまたはローカルDNSリゾルバーから開始されます。インターネット・サービス・プロバイダー(ISP)は、多くの場合、再帰リゾルバーを提供および管理します。

ユーザーがブラウザーにドメイン名を入力すると(DNSクエリを開始)、再帰リゾルバーは一連の権威サーバーにクエリを実行し、ドメインのIPアドレスを示すAレコード(IPv4アドレスにはAレコード、IPv6アドレスにはAAAAレコード)を取得します。

ただし、ローカル・リゾルバーがクエリの解決に必要なレコードをすでに持っている場合は、DNSルックアップ・プロセスを続行せずにユーザーを接続できます。この効率的なプロセスにより、権威サーバーのクエリ負荷が軽減され、ユーザーがWebサイトに接続される速度が大幅に向上します。TTL値は秒単位で定義され、権威サーバーに接続して現在のレコードのコピーを受け取るまでに、ローカル・キャッシュ・サーバーがDNSレコードにサービスを提供できる時間を決定します。

ほとんどのIPアドレスは動的であるため、時間の経過とともに変化します。つまり、DNSレコードに保持されている情報は、これらの変更を反映するように更新する必要があります。TTL設定は、レコードが適切な間隔で破棄および更新されるようにしてこのプロセスを支援します。

TTL値を小さめ(短め)に設定することは、コンテンツを一貫してリフレッシュまたは更新するWebサイトには戦略的な選択です。これら短めのTTL値により、サーバーにキャッシュされたレコードが最新の状態に保たれ、ほぼリアルタイムにレコードへの変更が伝播されることが保証されます。一方、TXTレコード(ドメインの構成と所有権に関する情報を保持する)やMXレコード(EメールをEメール・サーバーに送信する)など、変更頻度の低いDNSレコードには、長めに設定されたTTL値が使用されます。

TTL値は、権威ネーム・サーバーに接続されているクエリ・ボリュームに影響します。DNSキャッシュの保持時間が長すぎると、レコードへの変更の反映に時間がかかり、ユーザーの検索が遅くなったり、エラー・メッセージが表示されたりする可能性があります。TTL値が不必要に小さい(短い)と、組織は、クエリでサーバーを過負荷にするリスクを冒すことになります。マネージドDNSソリューションを使用すると、アップタイムの最大化、オブザーバビリティーの合理化、応答時間と伝播時間の高速化を実現できます。

SOA TTL

すべてのDNSゾーンの上部には、開始権限(SOA)に、DNSでより高い目的を果たす5つのTTL値があります。極めて特殊な必要性がない限り、これらのTTLは変更しないことをお勧めしますが、非常にまれなケースでしょう。

SOA TTL:SOAレコードがリフレッシュされる間隔。

TTLのリフレッシュ:
セカンダリー・サーバー(セカンダリーDNS)がプライマリー・サーバーからプライマリー・ゾーン・ファイルをリフレッシュするように設定される間隔。

TTLの再試行:最初のリフレッシュが失敗した場合に、セカンダリー・サーバーがプライマリー・ゾーン・ファイルのリフレッシュを再試行する速度。

有効期限TTL:リフレッシュ再試行が繰り返し失敗する場合に、プライマリーがなくなり、特定のゾーンの権限がなくなったと見なされるまでの時間。

NX TTL:ドメイン要求の結果として、存在しないクエリー(NXDOMAIN)になる場合、リカーサーがNXDOMAIN応答を返すのに考慮される時間。

TTLとCDN

コンテンツ・デリバリー・ネットワーク(CDN)は、地理的に分散したエリアに配置されたサーバーのネットワークであり、ユーザーに最も近いサーバーからコンテンツを配信することで、Webパフォーマンスを高速化します。CDNは、Time to Live値を使用して、エッジ・サーバーにコンテンツが保管される期間を決定します。

TTLの期限が切れると、コンテンツは起点サーバーから更新されます。TTLが適切に調整されていると、リクエストを起点サーバーに伝播することなく、ユーザーにコンテンツを配信することができます。そうすることで、起点サーバーの帯域幅要件を削減すると同時に、コンテンツ配信が高速化されます。

pingとtracerouteのTTL

pingやtracerouteなどのコンピューター・ネットワーク・ユーティリティーは、TTLを使用してホストに接続したり、ホストへの「ホップ」のルートをトレースしたりします。pingは、ホストがネットワーク上に存在することを確認するために使用されます。tracerouteは、コンピューターやルーターなどのネットワーク・デバイスからインターネットを介して宛先まで、パケットが通過するパスを追跡するのに役立ちます。

tracerouteは、データ・パケットがネットワークを通過するすべての「ホップ」を可視化します。パケットのストリームは、TTL値が高い宛先順に送信されます。パケットのTTL値が1、2、3などであることを想像してみてください。

各ストップで、パケットの1つがTTLで定義されている最終宛先に到達します。この場合、パケットは破棄され、ICMPメッセージが送信者に送り返されます。ICMPメッセージが返されるまでにかかる時間は、送信元ホストから宛先までのパスを追跡し、ネットワーク内の各ホップ間の移動にかかる時間を決定するために使用されます。

データベースにおけるTTL

TTLは、期限切れのデータベース・レコードを自動的に削除するポリシーを設定するために使用されます。他のユースケースと同様に、TTLはデータをデータベースに保存できる時間を定義します。この場合、TTLは秒単位で定義されます。

データ・レコードのタイムアウト値に達すると、そのデータは取得できなくなり、データベース統計にも表示されなくなります。この有効期限切れと自動削除により、ストレージ・コストは削減され、テーブル・サイズは縮小され、結果としてクエリのパフォーマンスが向上し、組織はデータ保持期間に関するあらゆる規制への準拠を強化できます。

TTLのメリット

コンテンツ配信の最適化

TTLは、CDNおよびDNSサーバーがエンドユーザーに情報をより効率的に配信するのに役立ちます。適切なTTL値を設定することで、ユーザーが要求しているリソースの最新バージョンを確実に受け取ることと、サーバーに不必要な過負荷をかけたり、過度の遅延を引き起こしたりしないことのバランスが取れます。

CDNでは、ユーザーは最も近いサーバーに接続して更新されたコンテンツを受信します。これにより、配信の待ち時間(リクエストは最も近いサーバーから処理されるため)が短縮され、起点サーバーへのリクエストが削減されます。DNSでは、TTLにより、再帰リゾルバーが必要に応じてキャッシュされた回答を返すことができるため、権限サーバーへの読み込み時間とクエリが削減され、レコードが変更されたときに伝播の更新を迅速に受け取ることができます。

効率的なリソース管理とロード・バランシング

キャッシュされた情報やデータ・パケットのライフスパンを管理することで、組織はDNSサーバー、CDNエッジ・サーバー、ルーターなどのネットワーク・インフラストラクチャー・リソースをより効率的に利用できるようになります。TTLは、ネットワーク・トラフィックを分散し、ネットワーク・リソースが過負荷にならないようにするために使用されます。また、パケットがルーター間で無限にバウンスされることも防止します。これらの対策はネットワーク・パフォーマンスの向上に役立ちます。

セキュリティー対策の強化

期限切れのデータ・パケットを破棄すると、ネットワーク・セキュリティーが向上し、データ侵害の脅威が軽減されます。破棄されない期限切れのパケットには、古いセキュリティー・プロトコルが含まれている可能性があります。キャッシュの更新とパケットの再検証により、サーバーとネットワークに最新のセキュリティー情報が提供されます。

関連ソリューション
IBM NS1 Connect

IBM NS1 Connectは、エンタープライズDNS、DHCP、IPアドレス管理、およびアプリケーションのトラフィック・ステアリングのためのクラウド・サービスです。

NS1 Connectの詳細はこちら
ネットワーキング・ソリューション

IBMのクラウド・ネットワーキング・ソリューションは、アプリケーションとビジネスを強化する高性能な接続を可能にします。

クラウド・ネットワーキング・ソリューションの詳細はこちら
ネットワーキング・サポート・サービス

クラウド・ネットワーキングなどにおけるデータセンター・サポートをIBM Technology Lifecycle Servicesで統合しましょう。

クラウド・ネットワーキング・サービス
次のステップ

IBM NS1 Connectでネットワーク・レジリエンスを強化します。無料の開発者アカウントを作成し、マネージドDNSソリューションをお試しいただくか、またはデモを予約して、IBMプラットフォームがネットワークのパフォーマンスと信頼性をどのように最適化できるかをご確認ください。

マネージドDNS Servicesの詳細はこちら デモを予約