Cambia el nombre de host de la instancia AL2 - Amazon Linux 2

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cambia el nombre de host de la instancia AL2

Cuando lanzas una instancia en una VPC privada, Amazon EC2 asigna un nombre de host del sistema operativo invitado. El tipo de nombre de host que Amazon EC2 asigna depende de la configuración de la subred. Para obtener más información sobre EC2 los nombres de host, consulta los tipos de nombres de host de las EC2 instancias de Amazon en la Guía del EC2 usuario de Amazon.

Un nombre DNS EC2 privado típico de Amazon para una EC2 instancia configurada para usar una nomenclatura basada en IP con una IPv4 dirección tiene el siguiente aspecto:ip-12-34-56-78.us-west-2.compute.internal, donde el nombre consta del dominio interno, el servicio (en este caso,compute), la región y una forma de la IPv4 dirección privada. Parte de este nombre de host se muestra en el símbolo de shell cuando inicia sesión en la instancia (por ejemplo, ip-12-34-56-78). Cada vez que detiene y reinicia la EC2 instancia de Amazon (a menos que utilice una dirección IP elástica), la IPv4 dirección pública cambia, al igual que el nombre de DNS público, el nombre de host del sistema y el intérprete de comandos.

importante

Esta información se aplica a Amazon Linux. Para obtener información acerca de otras distribuciones, consulte la documentación específica.

Cambiar el nombre de host del sistema

Si tiene un nombre DNS público registrado para la dirección IP de la instancia (como webserver.mydomain.com), puede establecer el nombre de host del sistema de manera que la instancia se identifique como una parte de ese dominio. Esto también cambia la línea de comandos del shell para que muestre la primera parte de este nombre en lugar del nombre de host proporcionado por AWS (por ejemplo,ip-12-34-56-78). Si no tiene un nombre DNS público registrado, puede cambiar el nombre del host pero el proceso varía un poco.

Para que la actualización del nombre de host persista, debe verificar que la configuración preserve_hostname cloud-init esté establecida en true. Puede ejecutar el siguiente comando para editar o agregar esta configuración:

sudo vi /etc/cloud/cloud.cfg

Si la configuración preserve_hostname no aparece en la lista, agregue la siguiente línea de texto al final del archivo:

preserve_hostname: true
Para cambiar el nombre de host del sistema por un nombre DNS público

Siga este procedimiento si ya tiene un nombre DNS público registrado.

    • Para AL2: utilice el hostnamectl comando para configurar el nombre de host de forma que refleje el nombre de dominio completo (por ejemplo,). webserver.mydomain.com

      [ec2-user ~]$ sudo hostnamectl set-hostname webserver.mydomain.com
    • Para Amazon Linux AMI: en la instancia, abra el archivo de configuración /etc/sysconfig/network en el editor de texto de su elección y cambie la entrada HOSTNAME para que refleje el nombre de dominio completo (como webserver.mydomain.com).

      HOSTNAME=webserver.mydomain.com
  1. Reinicie la instancia para actualizar el nuevo nombre de host.

    [ec2-user ~]$ sudo reboot

    Como alternativa, puede reiniciar mediante la EC2 consola de Amazon (en la página Instancias, seleccione la instancia y elija Estado de la instancia, Reiniciar instancia).

  2. Inicie sesión en la instancia y compruebe que el nombre de host se ha actualizado. El símbolo debería mostrar ahora el nuevo nombre de host (hasta el primer “.”) y el comando hostname debería mostrar el nombre de dominio completo.

    [ec2-user@webserver ~]$ hostname webserver.mydomain.com
Para cambiar el nombre de host del sistema sin un nombre DNS público
    • Para AL2: utilice el hostnamectl comando para configurar el nombre de host de forma que refleje el nombre de host del sistema deseado (por ejemplo). webserver

      [ec2-user ~]$ sudo hostnamectl set-hostname webserver.localdomain
    • Para Amazon Linux AMI: en la instancia, abra el archivo de configuración /etc/sysconfig/network en el editor de texto que prefiera y cambie la entrada HOSTNAME para que refleje el nombre de host del sistema deseado (como webserver).

      HOSTNAME=webserver.localdomain
  1. Abra el archivo de configuración /etc/hosts en el editor de texto que prefiera y cambie la entrada que comienza por 127.0.0.1 para que coincida con el ejemplo siguiente, cambiando el nombre de host por el suyo.

    127.0.0.1 webserver.localdomain webserver localhost4 localhost4.localdomain4
  2. Reinicie la instancia para actualizar el nuevo nombre de host.

    [ec2-user ~]$ sudo reboot

    Como alternativa, puede reiniciar mediante la EC2 consola de Amazon (en la página Instancias, seleccione la instancia y elija Estado de la instancia, Reiniciar instancia).

  3. Inicie sesión en la instancia y compruebe que el nombre de host se ha actualizado. El símbolo debería mostrar ahora el nuevo nombre de host (hasta el primer “.”) y el comando hostname debería mostrar el nombre de dominio completo.

    [ec2-user@webserver ~]$ hostname webserver.localdomain

También puede implementar más soluciones de programación, como especificar los datos del usuario para configurar la instancia. Si la instancia forma parte de un grupo de escalado automático, puede usar enlaces de ciclo de vida para definir los datos del usuario. Para obtener más información, consulte Ejecutar comandos en la instancia de Linux durante la inicialización y Lifecycle hook for instance launch (Enlace de ciclo de vida para la inicialización de una instancia) en la Guía del usuario de AWS CloudFormation .

Cambiar el símbolo de shell sin que afecte al nombre de host

Si no quieres modificar el nombre de host de la instancia, pero te gustaría que se muestre un nombre de sistema más útil (por ejemplowebserver) que el nombre privado que proporciona AWS (por ejemplo,ip-12-34-56-78), puedes editar los archivos de configuración del intérprete de comandos para que muestren el apodo del sistema en lugar del nombre de host.

Para cambiar el símbolo del shell por una alias de host
  1. Cree un archivo en /etc/profile.d que establezca la variable de entorno llamada NICKNAME en el valor que desea para el símbolo del shell. Por ejemplo, para establecer el alias del sistema en webserver, ejecute el comando siguiente.

    [ec2-user ~]$ sudo sh -c 'echo "export NICKNAME=webserver" > /etc/profile.d/prompt.sh'
  2. Abra el archivo /etc/bashrc (Red Hat) o /etc/bash.bashrc (Debian/Ubuntu) en el editor de texto que prefiera (por ejemplo, vim o nano). Debe utilizar sudo con el comando del editor porque /etc/bashrc y /etc/bash.bashrc son propiedad de root.

  3. Modifique el archivo y cambie la variable del símbolo del shell (PS1) para que muestre el alias en lugar del nombre de host. Busque la línea siguiente que establece el símbolo del shell en /etc/bashrc o /etc/bash.bashrc (abajo se muestran algunas de las líneas que lo rodean como contexto; busque la línea que comienza por [ "$PS1"):

    # Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ " # You might want to have e.g. tty in prompt (e.g. more virtual machines) # and console windows

    Cambie \h (el símbolo de hostname) de esa línea por el valor de la variable NICKNAME.

    # Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@$NICKNAME \W]\\$ " # You might want to have e.g. tty in prompt (e.g. more virtual machines) # and console windows
  4. (Opcional) Para establecer el título de las ventanas del shell en el nuevo alias, complete los pasos siguientes.

    1. Cree un archivo denominado /etc/sysconfig/bash-prompt-xterm.

      [ec2-user ~]$ sudo touch /etc/sysconfig/bash-prompt-xterm
    2. Haga el archivo ejecutable con el siguiente comando.

      [ec2-user ~]$ sudo chmod +x /etc/sysconfig/bash-prompt-xterm
    3. Abra el archivo /etc/sysconfig/bash-prompt-xterm en el editor de textos que prefiera (como vim o nano). Debe utilizar sudo con el comando del editor porque el propietario de /etc/sysconfig/bash-prompt-xterm es root.

    4. Añada la línea siguiente al archivo.

      echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
  5. Cierre sesión y vuelva a iniciarla para actualizar el nuevo valor del alias.

Cambiar el nombre de host en otras distribuciones de Linux

Los procedimientos de esta página son para usar con Amazon Linux únicamente. Para obtener más información acerca de otras distribuciones de Linux, consulte su documentación específica y los artículos siguientes: