How do I assign a static hostname to an Amazon EC2 instance running RHEL 5 or 6, CentOS 5 or 6, or Amazon Linux?

Last updated: 2020-10-30

I changed the hostname of my Amazon Elastic Compute Cloud (Amazon EC2) instance. However, when I reboot or stop and then start the instance, the hostname changes back. How do I make the hostname persist?

Short description

To make a hostname persist when rebooting or stopping and starting your EC2 instance, add the hostname to the appropriate configuration files on the instance.

Note: The following steps apply to Amazon Linux and RHEL 5 or 6, and CentOS 5 or 6. For instructions that apply to other distributions, see one of the following:

Changing the system hostname

How do I assign a static hostname to an Amazon EC2 instance running SLES?

How do I assign a static hostname to an Amazon EC2 instance running Ubuntu Linux?

How do I assign a static hostname to an Amazon EC2 instance running RHEL 7 or CentOS 7?

Resolution

1.    Open /etc/sysconfig/network in vim:

sudo vim /etc/sysconfig/network

2.    Change the value of the HOSTNAME parameter (replace persistent_hostname with your preferred hostname):

HOSTNAME=persistent_hostname

3.    Set NETWORKING to yes:

NETWORKING=yes

4.    Save and exit the vim editor.

Note: After making this change, press SHIFT + : to open a new command entry box in the vim editor. Type wq, and then press Enter to save your changes and exit vim.

5.    Open /etc/hosts in vim:

sudo vim /etc/hosts

6.    Change the entry beginning with 127.0.0.1 to the following, replacing persistent_hostname, localdomain, and localhost with your preferred hostname, local domain, and local host:

127.0.0.1 persistent_hostname.localdomain localhost localhost.localdomain

7.    Save and exit the vim editor.

8.    To verify that you successfully changed the hostname, reboot your instance, and then run the hostname command:

sudo reboot
hostname

The command returns the new hostname.


Did this article help?


Do you need billing or technical support?