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?
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:
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):
3. Set NETWORKING to 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.