He cambiado el nombre del host de mi instancia de Amazon Elastic Compute Cloud (Amazon EC2). Sin embargo, cuando vuelvo a arrancar la instancia, o cuando la detengo y acto seguido la reinicio, el nombre del host vuelve a ser el original.
Solución
Importante: Antes de actualizar la instancia, crea una imagen de máquina de Amazon (AMI) de la instancia respaldada por Amazon Elastic Block Store (Amazon EBS).
Comprobación del nombre de host de la instancia existente
Sigue estos pasos:
-
Utiliza SSH para conectarte a tu instancia de Linux.
-
Para cambiar al usuario raíz, ejecuta el siguiente comando:
sudo su -
-
Para comprobar el nombre de host de la instancia, ejecuta el siguiente comando:
hostnamectl
Configuración de un nombre de host estático
Configura un nombre de host estático para el sistema operativo (SO) que ejecutas.
AL2 o Al2023
Para Amazon Linux 2 (AL2) o Amazon Linux 2023 (AL2023), sigue estos pasos:
-
Para abrir /etc/cloud/cloud.cfg, ejecuta el siguiente comando:
vim /etc/cloud/cloud.cfg
-
Revisa el atributo preserve_hostname. Si su valor es false, actualiza el valor a true.
Ejemplo:
preserve_hostname: true
Nota: Si el archivo no tiene el atributo preserve_hostname, agrega el atributo al archivo y establece el valor en true.
-
Para establecer el nombre de host estático, ejecuta el siguiente comando:
hostnamectl set-hostname persistent-hostname
Nota: Sustituye persistent-hostname por tu nombre de host.
Ubuntu
Para Ubuntu, sigue estos pasos:
-
Para configurar el nombre de host estático, sigue estos pasos:
hostnamectl set-hostname --static persistent-hostname
Nota: Sustituye persistent-hostname por tu nombre de host.
-
Para abrir /etc/hosts, ejecuta el siguiente comando:
vim /etc/hosts
-
Introduce la siguiente línea en el archivo:
localhost persistent-hostname
Nota: Sustituye persistent-hostname por tu nombre de host.
-
Si tu instancia de EC2 usa IPv6, agrega los siguientes datos de configuración:
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
-
Para abrir /etc/cloud/cloud.cfg, ejecuta el siguiente comando:
vim /etc/cloud/cloud.cfg
-
Revisa el atributo preserve_hostname. Si su valor es false, actualiza el valor a true.
Ejemplo:
preserve_hostname: true
RHEL o CentOS 7, 8 y 9
Para Red Hat Enterprise Linux (RHEL) o CentOS 7, 8 y 9, sigue estos pasos:
-
Para establecer el nombre de host estático, ejecuta el siguiente comando:
hostnamectl set-hostname --static persistent-hostname
Nota: Sustituye persistent-hostname por tu nombre de host.
-
Para RHEL 7.3 o versiones anteriores, ejecuta el siguiente comando para abrir /etc/cloud/cloud.cfg:
vi /etc/cloud/cloud.cfg
-
Revisa el atributo preserve_hostname. Si el valor es false, actualiza el valor a true.
Ejemplo:
preserve_hostname: true
SUSE Linux
Para SUSE Linux Enterprise Server (SLES), sigue estos pasos:
-
Para configurar el nombre de host, ejecuta el siguiente comando en función de tu versión de SLES.
SLES 11:
hostname persistent-hostname
SLES 12 y 15:
hostnamectl set-hostname persistent-hostname
Nota: Sustituye persistent-hostname por tu nombre de host.
-
Ejecuta el siguiente comando para actualizar el archivo /etc/HOSTNAME con tu nombre de host:
echo "persistent-hostname" > /etc/HOSTNAME
Nota: Sustituye HOSTNAME por tu nombre de host.
-
Para abrir /etc/hosts, ejecuta el siguiente comando:
vim /etc/hosts
-
Introduce la siguiente línea en el archivo según tu versión de SLES y sustitúyela por tu nombre de host.
SLES 11:
127.0.0.1 localhost persistent-hostname
SLES 12 y 15:
127.0.0.1 localhost persistent-hostname
Nota: Sustituye persistent-hostname por tu nombre de host.
-
Para abrir el archivo /etc/cloud/cloud.cfg, ejecuta el siguiente comando:
vim /etc/cloud/cloud.cfg
-
Introduce la siguiente línea en el archivo:
preserve_hostname: true
Implementación de los cambios
Sigue estos pasos:
-
Para reiniciar la instancia, ejecuta el siguiente comando:
reboot
-
Para verificar el nuevo nombre de host, ejecuta el siguiente comando:
hostnamectl
Solución de problemas
Si experimentas cambios inesperados en el nombre de host después del reinicio, realiza las siguientes acciones:
- Consulta los registros del sistema en /var/log/cloud-init.log y /var/log/syslog para ver las entradas sobre los cambios de nombre de host.
- Si instalas actualizaciones del sistema que afectan a /etc/hosts, al archivo de nombre de host o a la utilidad de nombre de host, vuelve a completar los pasos de resolución anteriores.
- Comprueba que la configuración preserve_hostname sea true en el archivo /etc/cloud/cloud.cfg.
Información relacionada
Cambio del nombre de host de la instancia de AL2