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.
Related information
Changing the hostname of your Amazon Linux instance