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

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

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

简短描述

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

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

更改系统主机名

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

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

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

解决方法

1.    从 shell 运行 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 文件、hostname 文件或 hostname utility 文件的系统更新,则必须重新运行这些步骤。


这篇文章对您有帮助吗?


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