DNS CNAMEは、IT管理者にとって最も汎用性の高いツールの一つです。CNAMEの潜在能力を最大限に引き出すための注意点の一つは、デフォルトのTTLです。ITプロフェッショナルのRick Vanoverが、デフォルトのTTLを下げるべき状況について説明します。
DNS CNAMEは、非常に長い間利用可能であったにもかかわらず、最も過小評価されているインフラストラクチャ技術の一つだと長年考えてきました。DNS CNAMEとは、簡単に言うと、ユーザーが作成した完全修飾ドメイン名(FQDN)を既存のFQDNに関連付けるエイリアスレコードです。数年前に、データベースのODBC接続にCNAMEを使用することで、アプリケーションやサーバーに変更を加えることなくサーバーの移転に対応できる優れた方法であるという記事を書きました。
最近、Virtumania ポッドキャストにゲストとして再び出演する機会に恵まれました。エピソード9では、SQL サーバーの仮想化について議論しました。ゲストはSQL MVPのBrent Ozar氏でした。SQLデータベースでDNS CNAMEを使用するという点について、Brent氏の意見を大変興味深く拝見しました。彼の答えは、インフラストラクチャ担当者は問題なく、その方法で接続を管理する権利は十分にあるものの、ほとんどのデータベース管理者はDNSインフラストラクチャに関してそのような権限を持っていないというものでした。これは、アプリケーションチームとネットワークインフラストラクチャチームが別々に運営されている多くの組織にとって非常に妥当な指摘です。今年初めに、アプリケーション所有者のDNSレコードへの権限委譲について扱った記事で、まさにこの話題に触れていました。
これらの実践ポイントがあなたの環境に適しているかどうかを判断するには、多くの要因があります。これらの実践は私にとってはうまく機能していますが、BrentはCNAMEレコードの効果を最大限に高めるために、Time-to-Live(TTL)について言及しました。Windows Active Directory統合DNSエンジンの場合、CNAMEレコードのデフォルトのTTLは1時間です。TTLは、クライアント側で解決されるDNSレコードに有効期限を設定するだけです。有効期限が切れると、ゾーンに対して権限を持つDNSサーバーからレコードを再度解決する必要があります。
CNAMEをフェイルオーバーや災害復旧ツールとして使用する場合は、TTLを短く設定する必要があります。私は15分程度で使用したことがありますが、それ以上の頻度はDNSサーバーに負荷がかかりすぎると思います。15分という値は、プライマリシステムに障害が発生した場合を想定した値です。ほとんどのシステムには、ある程度の応答時間があります。Webサーバーなどのシステムは、別のサーバーへのフェイルオーバーが容易なため、TTLを短く設定しても意味がありません。
カスタムTTLを作成する場合、どのような値を使用しますか?ぜひ下記にコメントをお寄せください。

リック・ヴァノーバー
リック・ヴァノーバーは、オハイオ州コロンバスにあるAlliance Data社のITインフラストラクチャ・マネージャーです。VMware VCP、Microsoft Windows Server 2008 MCITP、Windows Server 2003 MCSAなどのIT認定資格を保有しています。以前は、ミシガン州グランドラピッズのDematic Corp(旧Siemens L&A、Siemens Dematic、Rapistan)で、最新のハードウェアとソフトウェア製品を組み合わせたカスタムソフトウェアソリューションをマテリアルハンドリング業界向けに展開するなど、様々な職務を経験しました。リックへの連絡先は[email protected]です。Twitterでは@RickVanoverをフォローしてください。