この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
細かすぎて伝わらないテクニックです
Amazon LinuxやRHELを使っていると、ip-XXX-XXX-XXX-XXXが見つかりませんというアラート表示を良く見かけます。これは、単純に/etc/hostsにレコードが無いから。じゃぁなぜip-XXX-XXX-XXX-XXXって聞いてくるのか?これはホスト側が勝手に設定しているから。それじゃぁこのギャップを埋めよう。
起動時にスクリプトを実行
OS起動時にスクリプトを実行する下地を作ります。インクルード処理ですね。
$ sudo vi /etc/rc.local
if [ -d /etc/rc.local.d ]; then
#パス内のシェルを全て実行する
for i in /etc/rc.local.d/*; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
ホスト名を追加します
ホスト名を取得するにはhostnameコマンドです。これを/etc/hostsに追記します。
$ sudo mkdir /etc/rc.local.d
$ cd /etc/rc.local.d/
$ sudo vi add_hostname
sed -i -e "1s/ip-.*//g" /etc/hosts
sed -i -e "1s/$/ $(hostname)/g" /etc/hosts
最初の行で、ソースの1行目のip-で始まる文字列以降を削除します。次の行で、ソース1行名の最後にホスト名を追加します。これだけです。これにより、以下のような結果になります。
$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain ip-10-0-0-10
これでホスト名に関するログやアラートが消えると思うんだなー。
まとめ
再起動のたびに自分のホスト名を調べて/etc/hostsに設定することができます。ノーメンテナンスっす。この細かさ伝わったなかぁ。。。細かいけどイイ感じと思った方は是非イイねをw