Passer au contenu

Comment attribuer un nom d'hôte statique à une instance Linux EC2 ?

Lecture de 4 minute(s)
0

J’ai changé le nom d’hôte de mon instance Amazon Elastic Compute Cloud (Amazon EC2). Cependant, lorsque je redémarre l’instance ou que je l’arrête puis la redémarre, le nom d’hôte redevient le nom d’hôte d’origine.

Résolution

Important : Avant de mettre à jour votre instance, créez une Amazon Machine Image (AMI) basée sur Amazon Elastic Block Store (Amazon EBS) de votre instance.

Vérifier le nom d'hôte d'instance existant

Procédez comme suit :

  1. Utilisez le protocole SSH pour vous connecter à votre instance Linux.

  2. Pour passer à l’utilisateur racine, exécutez la commande suivante :

    sudo su -
  3. Pour vérifier le nom d'hôte d'instance, exécutez la commande suivante :

    hostnamectl

Configurer un nom d'hôte statique

Configurez un nom d'hôte statique pour le système d'exploitation exécuté.

AL2 ou Al2023

Pour Amazon Linux 2 (AL2) ou Amazon Linux 2023 (AL2023), procédez comme suit :

  1. Pour ouvrir /etc/cloud/cloud.cfg, exécutez la commande suivante :

    vim /etc/cloud/cloud.cfg
  2. Vérifiez l'attribut preserve_hostname. Si sa valeur est fausse, mettez-la à jour sur vrai.
    Exemple :

    preserve_hostname: true

    Remarque : Si le fichier ne comporte pas l'attribut preserve_hostname, ajoutez-le au fichier et définissez la valeur sur vrai.

  3. Pour définir le nom d'hôte statique, exécutez la commande suivante :

    hostnamectl set-hostname persistent-hostname

    Remarque : Remplacez persistent-hostname par votre nom d'hôte.

Ubuntu

Pour Ubuntu, procédez comme suit :

  1. Pour définir le nom d'hôte statique, procédez comme suit :

    hostnamectl set-hostname --static persistent-hostname

    Remarque : Remplacez persistent-hostname par votre nom d'hôte.

  2. Pour ouvrir /etc/hosts, exécutez la commande suivante :

    vim /etc/hosts
  3. Saisissez la ligne suivante dans le fichier :

    localhost persistent-hostname

    Remarque : Remplacez persistent-hostname par votre nom d'hôte.

  4. Si l’instance EC2 utilise IPv6, ajoutez les données de configuration suivantes :

    ::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
  5. Pour ouvrir /etc/cloud/cloud.cfg, exécutez la commande suivante :

    vim /etc/cloud/cloud.cfg
  6. Vérifiez l'attribut preserve_hostname. Si sa valeur est fausse, mettez-la à jour sur vrai.
    Exemple :

    preserve_hostname: true

RHEL ou CentOS 7, 8 et 9

Pour Red Hat Enterprise Linux (RHEL) ou CentOS 7, 8 et 9, procédez comme suit :

  1. Pour définir le nom d'hôte statique, exécutez la commande suivante :

    hostnamectl set-hostname --static persistent-hostname

    Remarque : Remplacez persistent-hostname par votre nom d'hôte.

  2. Pour RHEL 7.3 ou une version antérieure, exécutez la commande suivante pour ouvrir /etc/cloud/cloud.cfg :

    vi /etc/cloud/cloud.cfg
  3. Vérifiez l'attribut preserve_hostname. Si la valeur est fausse, mettez-la à jour sur vrai.
    Exemple :

    preserve_hostname: true

SUSE Linux

Pour SUSE Linux Enterprise Server (SLES), procédez comme suit :

  1. Pour définir le nom d'hôte, exécutez la commande suivante en fonction de votre version SLES.
    SLES 11 :

    hostname persistent-hostname

    SLES 12 et 15 :

    hostnamectl set-hostname persistent-hostname

    Remarque : Remplacez persistent-hostname par votre nom d'hôte.

  2. Exécutez la commande suivante pour mettre à jour le fichier /etc/HOSTNAME avec votre nom d'hôte :

    echo "persistent-hostname" > /etc/HOSTNAME

    Remarque : Remplacez HOSTNAME par votre nom d'hôte.

  3. Pour ouvrir /etc/hosts, exécutez la commande suivante :

    vim /etc/hosts
  4. Saisissez la ligne suivante dans le fichier en fonction de votre version SLES et remplacez-la par votre nom d'hôte.
    SLES 11 :

    127.0.0.1 localhost persistent-hostname

    SLES 12 et 15 :

    127.0.0.1 localhost persistent-hostname

    Remarque : Remplacez persistent-hostname par votre nom d'hôte.

  5. Pour ouvrir le fichier /etc/cloud/cloud.cfg, exécutez la commande suivante :

    vim /etc/cloud/cloud.cfg
  6. Saisissez la ligne suivante dans le fichier :

    preserve_hostname: true

Mettre en œuvre les changements

Procédez comme suit :

  1. Pour redémarrer votre instance, exécutez la commande suivante :

    reboot
  2. Pour vérifier le nouveau nom d'hôte, exécutez la commande suivante :

    hostnamectl

Résoudre vos problèmes

Si vous constatez des changements de noms d'hôte inattendus après le redémarrage, effectuez les actions suivantes :

  • Consultez les journaux système sur /var/log/cloud-init.log et /var/log/syslog pour les entrées concernant les changements de noms d'hôte.
  • Si vous installez des mises à jour système qui affectent /etc/hosts, le fichier de nom d'hôte ou l'utilitaire de nom d'hôte, effectuez à nouveau les étapes de résolution précédentes.
  • Vérifiez que le paramètre preserve_hostname est vrai dans le fichier /etc/cloud/cloud.cfg.

Informations connexes

Modifier le nom d'hôte de votre instance AL2

AWS OFFICIELA mis à jour il y a 9 mois