EC2インスタンス(Ubuntu Linux)のホスト名を再起動後も保持する方法
困っていた内容
EC2 インスタンス(Ubuntu Linux)のホスト名が再起動後に初期化される。
背景
以下のコマンドで一時的にホスト名が変更できます。今回はホスト名を devserver と設定しました。
ubuntu@ip-**-**-**-**:~$ hostname devserver
一旦インスタンスからログアウトし、再度ログインするとホスト名は devserver 変更されています。
ubuntu@devserver:~$ hostname devserver
しかし、再起動すると、、、
ubuntu@devserver:~$ sudo reboot
このように元のホスト名に戻ります。
ubuntu@ip-**-**-**-**:~$ hostname ip-**-**-**-**
どう対応すればいいの?
今回は Ubuntu 18.04.4 LTS で試してみました。
インスタンスにログインした状態で、現在のホスト名を確認します。
ubuntu@ip-**-**-**-**:~$ hostname ip-**-**-**-**
/etc/hosts ファイルを開きます。/etc/hosts は、ホスト名とIPアドレスを対応させるためのファイルです。
$ sudo vim /etc/hosts
/etc/hosts ファイルに保持したいホスト名を追加します。
修正前
127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
修正後
127.0.0.1 localhost devserver # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
以下のコマンドで、ホスト名を設定します。
$ sudo hostnamectl set-hostname devserver
これで設定は完了です。 うまく設定されているか確かめるため、インスタンスを再起動します。
$ sudo reboot
これで再起動後もホスト名が保持されるようになりました。
ubuntu@devserver:~$ hostname devserver
ホスト名が初期化されてしまったらこの方法を試してみてください。
参照情報
Ubuntu Linux を実行しているプライベート Amazon EC2 インスタンスに静的ホスト名を割り当てる方法を教えてください。