Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのホスト名を変更しましたが、インスタンスを再起動、または停止してから起動すると、ホスト名が元のホスト名に戻ってしまいます。
簡単な説明
EC2インスタンスを再起動したり、停止してから起動したりしてもホスト名を維持するには、そのインスタンスに該当する設定ファイルにホスト名を追加します。
**注:**次の手順は RHEL 7、8、9と CentOS 7、8、9に適用されます。他のディストリビューションについては、後述のリソースを参照してください。
解決方法
RHEL インスタンスや CentOS Linux インスタンスのホスト名を更新するには、次の手順を実行します。
-
シェルから hostnamectl コマンドを実行します。persistent-hostname は次のようにして、インスタンスで使用する名前に置き換えます。
sudo hostnamectl set-hostname --static persistent-hostname
注:hostnamectl コマンドでホスト名を変更しても、/etc/hosts ファイルは更新されません。このファイルをユースケースに合わせて更新する必要がある場合は、ファイルを手動で編集して新しいホスト名を追加します。
-
vi テキストエディタを使用して、Linux インスタンスの /etc/cloud/cloud.cfg ファイルを更新します。
**注:**インスタンスで実行しているのが RHEL 7.4 以降の場合は、この手順をスキップしてください。
sudo vi /etc/cloud/cloud.cfg
vi エディタの使用方法の詳細については、コマンドシェルから info vi コマンドを実行してください。
-
次の文字列を **/etc/cloud/cloud.cfg ** ファイルの末尾に追加します。こうすれば、複数回再起動しても新しいホスト名が保持されます。
preserve_hostname: true
-
保存して vi エディタを終了します。
-
EC2インスタンスを再起動して新しいホスト名をインスタンスに関連付けるため、reboot コマンドを実行します。
sudo reboot
-
ホスト名の変更が維持されていることを確認するため、次のように、パラメータを指定せずに Linux hostname コマンドを実行します。
hostname
このコマンドでは、手順1で指定した新しいホスト名が返されます。
注:****/etc/hosts ファイル、hostname ファイル、または hostname ユーティリティ に影響するシステム更新をインストールした場合は、これらの手順を再度実行してください。hostname ユーティリティの詳細については、Ubuntu ウェブサイトの hostname マニュアルを参照してください。