冒険の書

27歳と6ヶ月のときに未経験でITエンジニアに転職した元派遣会社営業職(文系)が綴るブログです。同じように20代後半から未経験でIT技術者に転職することを検討されている人に「27歳からの未経験がどれだけ成長できるか」という点などで参考になれば幸いです。

【IT系】CNAMEレコードについて

近々、DNSサーバのレコード変更作業があるため、手順を作成しました。

目的は、FQDNに紐づいたGIPを変更することなんですが、そのレコードがAレコードじゃなかったので、少し面食らって調べて分かったことを書きます。

 

課題

CNAMEレコードに紐づくCanonical nameのAレコードを変えたい場合、TTLを変更する対象は、CNAMEレコードのみかAレコードも含むのか。

結論

CNAMEレコードのみで良い。

説明

本作業の目的は、以下の通り経由するProxyを変更することです。そのためGIPの変更が必要になります。

PC--------> Proxy(現→新)-------->APサーバ

 この場合、以下のようになっているAレコードのTTLを事前に短くしておき、実際に切り替える際に右辺のGIPを変更すればいいのですが……※例のためPIPで書いています

now.proxy.com.  [TTL] IN A 192.168.10.10

実際には、以下のようにCNAMEで定義されていました

now.proxy.com.       [TTL] IN A 192.168.10.10
customer.com.        [TTL] IN CNAME now.proxy.com.

上記を見て、TTLの変更はCNAMEのみで良いのか不安を覚えました。懸念した内容としては、キャッシュにAレコードとCNAMEレコードが抱き合わせで残らないか?というところです。

しかし、すぐに懸念は解消されました。DNSの仕様上、レコードは以下の(1)のようにしか読まず、(2)のようには読まないそうです

(1)1回目の問い合わせ:customer.com.        [TTL] IN CNAME now.proxy.com.
   2回目の問い合わせ:now.proxy.com.       [TTL] IN A 192.168.10.10
(2)1回目の問い合わせ:customer.com         [TTL] IN CNAME now.proxy.com.    [TTL] IN A 192.168.10.10

そのため、CNAMEの変更だけで良さそうです。

DNSはhostsを起源に生まれた機能ですが、hostsみたいに以下のような理解をしていると今回みたいなところで悩みそうですね

#/etc/hosts
IPアドレス    FQDN     alias1    alias2 .....

以上 おつかれさまでした。