箱のプログラミング日記。

渋谷の自社開発企業でRails書いてます。

EC2インスタンスのホスト名を変えたい

f:id:y_hakoiri:20191102121704j:plain

先に結論から言ってしまうと、公式に詳しく載ってるので基本的にここを見ればOK

Amazon Linux インスタンスのホスト名を変更する - Amazon Elastic Compute Cloud

ホスト名とは

user:hako$ ssh hoge@13.231.93.211
Last login: Fri Jul 31 20:40:03 2020

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
12 package(s) needed for security, out of 18 available
Run "sudo yum update" to apply all updates.
[hoge@fuga_server ~]$

インスタンスにログインした時の

[hoge@fuga_server ~]$

ここfuga_server

ホスト(ローカル)PCの場合は

user:hako$ ssh hoge@13.231.93.211

ここhako

現在のホスト名を確認

サーバー内に入ってホスト名を確認する

[hoge@fuga_server ~]$ hostname
fuga_server

現在はfuga_server

これをhako_serverに変えたい。

ホスト名の変更

公式に従って変更してみる

sudo hostnamectl set-hostname hako_server.example.net
sudo: hostnamectl: コマンドが見つかりません

よく見たらこの設定例はAmazon Linux 2 の場合だった。

今回のインスタンスはAMIから起動したインスタンスなので、その下にある「Amazon Linux AMI の場合」を参照

Amazon Linux AMI の場合: インスタンスで、お好みのテキストエディタを使用して /etc/sysconfig/network 設定ファイルを開き、HOSTNAME エントリを変更して、完全修飾ドメイン名 (webserver.mydomain.com など) を反映させます。

/etc/sysconfig/networkを探してみる

[hoge@fuga_server ~]$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=fuga_server
NOZEROCONF=yes

あった。

HOSTNAMEを変更して

[hoge@fuga_server ~]$ vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hako_server
NOZEROCONF=yes

一旦この状態で変わったかどうか見てみると

[hoge@fuga_server ~]$ hostname
fuga_server

まだ変わってないですね。

再起動

コンソールからインスタンスを再起動して、再度サーバーにログインすると

user:hako$ ssh hoge@13.231.93.211
Last login: Fri Jul 31 20:40:03 2020

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
12 package(s) needed for security, out of 18 available
Run "sudo yum update" to apply all updates.
[hoge@hako_server ~]$

お!hako_serverに変わってる。

当然hostnameを見てみると

[hoge@hako_server ~]$ hostname
hako_server

無事変更ができました。

参考

Amazon Linux インスタンスのホスト名を変更する - Amazon Elastic Compute Cloud