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

1 分钟阅读
0

我更改了 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 编辑器的一般信息,请从命令 Shell 运行命令 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 实用程序(参阅 Ubuntu 网站)的任何系统更新,请再次运行这些步骤。

AWS 官方
AWS 官方已更新 4 年前