AWS EC2 - Amazon Linux2 のホスト名を永久的に変える方法
AWS EC2を Amazon Linux 2で選択して立ち上げると、ホスト名はプライベートの内部 IPv4 アドレスの形式で割り当てられます。
しかもこのIPv4 アドレスは再起動のたびに変わるので非常に分かりにくい場合が多いです。
今回はEC2を使いやすくするために、ホスト名を永続的に変更する方法を紹介(メモ)します。
hostname 変更
1. preserve_hostname の値を確認・追加
ただホスト名を変えても、rebootしたらデフォルトに戻るので、まず永続的に保持するように設定を変更します。
$ sudo vi /etc/cloud/cloud.cfg
Defaultでは preserve_hostnam が入っていので、ファイルの末尾に追加します。
preserve_hostname: true
2. hostname 確認と変更
現在のホスト名を確認します。
$ sudo hostnamectl
Static hostname: ip-10-0-0-1.ap-northeast-1.compute.internal
Icon name: computer-vm
Chassis: vm
Machine ID: ec12345678
Boot ID: 1234567890
Virtualization: kvm
Operating System: Amazon Linux 2
CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2
Kernel: Linux 4.14.198-152.320.amzn2.x86_64
Architecture: x86-64
今回はホスト名をDNSサーバに登録して使いたいので、以下のようにコマンドで変えます。
$ sudo hostnamectl set-hostname test.mydomain.com
ホスト名が変更されたことを確認します。
$ sudo hostnamectl
Static hostname: test.mydomain.com
Icon name: computer-vm
Chassis: vm
Machine ID: ec12345678
Boot ID: 1234567890
Virtualization: kvm
Operating System: Amazon Linux 2
CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2
Kernel: Linux 4.14.198-152.320.amzn2.x86_64
Architecture: x86-64
3. EC2 再起動と確認
EC2 を再起動します。
$ sudo reboot
再度接続し、ホスト名を確認します。
$ sudo hostname
test.mydomain.com
解説
オンプレのサーバの場合は、hostname をコマンドやエディタを使って変えるだけでそのホスト名を保持しますが、
EC2の場合は独自の設定項目を変える必要がありました。
ただ、このやり方はAmazon Linux 2の場合のみ通用するのでご注意ください。