¿Cómo puede un nombre de host estático modificado tener efecto de forma permanente?
Síntomas
El nombre de host estático de un ECS de Linux se define por el usuario y se inyecta con Cloud-Init durante la creación del ECS. Aunque el nombre de host se puede cambiar ejecutando el comando hostname, el nombre de host cambiado se restaura después de reiniciar el ECS.
Cambiar el nombre de host en el ECS
Para hacer que el nombre de host que se cambia ejecutando el comando hostname siga teniendo efecto incluso después de que el ECS se detenga o reinicie, guarde el nombre de host cambiado en archivos de configuración.
Se supone que el nombre de host cambiado es new_hostname.
- Modifique el archivo de configuración /etc/hostname.
- Modifique el archivo de configuración /etc/sysconfig/network.
- Ejecute el siguiente comando para editar el archivo de configuración:
- Cambie el valor HOSTNAME al nuevo nombre de host.
HOSTNAME=Changed hostname
Si no hay HOSTNAME en el archivo de configuración, agregue manualmente este parámetro y establezca el nombre de host cambiado.
Un ejemplo es el siguiente:
HOSTNAME=new_hostname
- Ejecute el siguiente comando para guardar y salir del archivo de configuración:
- Modifique el archivo de configuración /etc/cloud/cloud.cfg.
- Ejecute el siguiente comando para editar el archivo de configuración:
- Utilice uno de los métodos siguientes para modificar el archivo de configuración:
- Método 1: Cambiar el valor del parámetro preserve_hostname o agregar el parámetro preserve_hostname al archivo de configuración.
Si preserve_hostname: false ya está disponible en el archivo de configuración /etc/cloud/cloud.cfg, cámbielo a preserve_hostname: true. Si preserve_hostname no está disponible en el archivo de configuración /etc/cloud/cloud.cfg, agregue preserve_hostname: true antes de cloud_init_modules.
Si utiliza el método 1, el nombre de host cambiado todavía tiene efecto después de que el ECS se detenga o reinicie. Sin embargo, si se usa el ECS para crear una imagen privada y la imagen se usa para crear un nuevo ECS, el nombre de host del nuevo ECS es el nombre de host (new_hostname) usado por la imagen privada, y los nombres de host definidos por el usuario no se pueden inyectar con Cloud-Init.
- Método 2 (recomendado): Eliminar o comentar - update_hostname.
Si utiliza el método 2, el nombre de host cambiado todavía tiene efecto después de que el ECS se detenga o reinicie. Si el ECS se usa para crear una imagen privada y la imagen se usa para crear un ECS nuevo, el nombre de host cambiado tiene efecto permanentemente, y los nombres de host definidos por el usuario (como new_new_hostname) se pueden inyectar usando Cloud-Init.
- Método 1: Cambiar el valor del parámetro preserve_hostname o agregar el parámetro preserve_hostname al archivo de configuración.
- Ejecute el siguiente comando para reiniciar el ECS:
sudo reboot
- Ejecute el siguiente comando para comprobar si se ha cambiado el nombre de host:
sudo hostname
Si el nombre de host cambiado se muestra en la salida del comando, el nombre de host ha sido cambiado y el nuevo nombre tiene efecto permanentemente.