AWSでRedhat7をインストールしてt2.microの検証をしていて思ったことが
多々あります。
ホスト名を任意のもの(ここではlocalhost.localdomainにする)に変更
したがサーバの再起動によりホスト名が初期値(プライベートIPの逆引き値)に
なってしまうことに悩んでした。
# nmcli general hostname
ip-172-31-XX-XX.ap-northeast-1.compute.internal
# nmcli general hostname localhost.localdomain
# nmcli general hostname
localhost.localdomain
上記のコマンドを使ってホスト名を変えることは可能
しかし、再起動を行うと…
# reboot
# nmcli general hostname
ip-172-31-XX-XX.ap-northeast-1.compute.internal
ホスト名が初期値に戻っているじゃん…
犯人はどこにいるの?
実は、CloudInitが犯人でした。
※CloudInitとは、EC2インスタンスを起動する時に設定を自動化出来るツール
CloudInitでホスト名が変更されないように設定する
# cd /etc/cloud/
# cp -p cloud.cfg cloud.cfg_20140713
# vi cloud.cfg
preserve_hostname: true
cloud.cfgに上記の内容を追記する
# nmcli general hostname localhost.localdomain
# nmcli general hostname
localhost.localdomain
サーバを再起動してもホスト名が初期値に戻らなくなりました。
まだまだ、気になる点がいくつかあるので解決したら掲載します。