如何为运行 Ubuntu Linux 的 Amazon EC2 实例分配静态主机名?

上次更新时间:2020 年 11 月 9 日

我更改了我 Amazon Elastic Compute Cloud (Amazon EC2) 实例的主机名。但在我重新引导实例或停止并重启实例时,主机名会改回原名。如何让新主机名保持不变?

简短描述

要确保在重新引导或停止并启动实例时保留主机名,请将主机名添加到实例上的相应配置文件中。

注意:以下步骤适用于 Ubuntu Linux。有关适用于其他发行版的说明,请参阅下面的一项内容:

更改系统主机名

如何为运行 RHEL 5 或 6、CentOS 5 或 6 或者 Amazon Linux 的 Amazon EC2 实例分配静态主机名?

如何为运行 SLES 的 Amazon EC2 实例分配静态主机名?

如何为运行 RHEL 7 或 CentOS 7 的 Amazon EC2 实例分配静态主机名?

解决方法

1.     使用 vim 打开 /etc/hosts 文件。

sudo vim /etc/hosts

2.     更新 /etc/hosts 文件,使其包含 localhost 的永久主机名,类似于以下内容:

127.0.0.1 localhost persistent-hostname

注意:如果 EC2 实例上的 /etc/hosts 文件没有 localhost 的条目,则必须为它创建一个条目。

有关 Ubuntu 上的 hosts 文件的更多信息,请参阅 Ubuntu 18.04 hosts file manpage

3.     如果 EC2 实例使用 IPv6,请添加以下配置数据。

::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

4.    保存并退出 vim 编辑器。

注意:做出此更改后,按 SHIFT + : [冒号],在 vim 编辑器中打开新的命令输入框。键入 wq,然后按 Enter 以保存更改并退出 vim。或者,按 SHIFT + ZZ 以保存并关闭文件。

5.    运行 hostnamectl 命令并指定新主机名。使用新主机名替换 persistent-hostname

sudo hostnamectl set-hostname persistent-hostname

6.     在启动或重新引导 EC2 实例后,不使用任何参数运行 Linux hostname 命令可验证该主机名更改是否已保留。

hostname

该命令会返回新的主机名。

注意:如果安装了任何影响 /etc/hosts 文件、hostname 文件或 hostname utility 文件的系统更新,则必须再次运行这些步骤。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?