RHEL 7 または CentOS 7 を実行しているプライベートの Amazon EC2 インスタンスに、静的なホスト名を割り当てる方法を教えてください。

最終更新日: 2019 年 10 月 15 日

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのホスト名を変更したのですが、インスタンスを再起動または停止してから再開すると、ホスト名が元の名前に戻ります。永続的に新しいホスト名を取得するにはどうすればよいですか?

簡単な説明

EC2 インスタンスの再起動または停止時にホスト名が保持されるようにするには、EC2 インスタンスの適切な設定ファイルにホスト名を追加する必要があります。

注: 以下の手順は RHEL 7 または CentOS 7 に適用されます。Ubuntu Linux に適用される手順については、「Ubuntu Linux を実行しているプライベート Amazon EC2 インスタンスに静的ホスト名を割り当てる方法を教えてください」をご参照ください。

解決方法

1.    シェルから hostnamectl コマンドを実行して、RHEL 7 または CentOS 7 Linux インスタンスのホスト名を更新します。persistent-hostname をインスタンスで使用する名前に置き換えます。

sudo hostnamectl set-hostname --static persistent-hostname

注: hostnamectl コマンドを使用してホスト名を変更しても、/etc/hosts ファイルは更新されません。ただし必要に応じて、このファイルを手動で編集して、新しいホスト名を追加できます。

2.    vi テキストエディタを使用して、RHEL 7 または CentOS 7 Linux インスタンスの /etc/cloud/cloud.cfg ファイルを更新します。vi エディタの使用に関する一般的な情報については、コマンドシェルからコマンド info vi を実行します。

注: RHEL 7.4 以降を使用している場合、この手順は必要ありません。

sudo vi /etc/cloud/cloud.cfg

3.    /etc/cloud/cloud.cfg ファイルの最後に次の文字列を追加して、再起動される前に新しいホスト名を保持するようにします。

preserve_hostname: true

vi エディタを保存して終了します。

4.    reboot コマンドを実行して EC2 インスタンスを再起動し、新しいホスト名をインスタンスに関連付けます。

sudo reboot

5.    パラメータを指定せずに Linux hostname コマンドを実行し、ホスト名の変更が永続的であることを確認します。

hostname

コマンドは、ステップ 1 で指定した新しいホスト名を返します。

注: /etc/hosts ファイル、ホスト名ファイル、または ホスト名ユーティリティに影響するシステム更新をインストールする場合、これらの手順を再度実行する必要があります。