Mudei o nome do host da minha instância do Amazon Elastic Compute Cloud (Amazon EC2). No entanto, quando reinicializo ou paro e reinicio a instância, o nome do host volta para o nome do host original.
Resolução
Importante: antes de atualizar sua instância, crie uma imagem de máquina da Amazon (AMI) da sua instância com suporte do Amazon Elastic Block Store (Amazon EBS).
Verifique o nome do host da instância existente
Conclua as etapas a seguir:
-
Use SSH para se conectar à sua instância Linux.
-
Para alterar o usuário-raiz, execute o seguinte comando:
sudo su -
-
Para verificar o nome do host da instância, execute o seguinte comando:
hostnamectl
Configurar um nome de host estático
Configure um nome de host estático para o sistema operacional (SO) que você executa.
AL2 ou Al2023
Para Amazon Linux 2 (AL2) ou Amazon Linux 2023 (AL2023), conclua as seguintes etapas:
-
Para abrir /etc/cloud/cloud.cfg, execute o seguinte comando:
vim /etc/cloud/cloud.cfg
-
Analise o atributo preserve_hostname. Se o valor for falso, atualize o valor para verdadeiro.
Exemplo:
preserve_hostname: true
Observação: se o arquivo não tiver o atributo preserve_hostname, adicione o atributo ao arquivo e defina o valor como verdadeiro.
-
Para definir o nome do host estático, execute o seguinte comando:
hostnamectl set-hostname persistent-hostname
Observação: substitua persistent-hostname pelo seu nome do host.
Ubuntu
Para o Ubuntu, conclua as seguintes etapas:
-
Para definir o nome do host estático, conclua as seguintes etapas:
hostnamectl set-hostname --static persistent-hostname
Observação: substitua persistent-hostname pelo seu nome do host.
-
Para abrir /etc/hosts, execute o seguinte comando:
vim /etc/hosts
-
Insira a seguinte linha no arquivo:
localhost persistent-hostname
Observação: substitua persistent-hostname pelo seu nome do host.
-
Se sua instância do EC2 usa IPv6, adicione os dados de configuração a seguir:
::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, execute o seguinte comando:
vim /etc/cloud/cloud.cfg
-
Analise o atributo preserve_hostname. Se o valor for falso, atualize o valor para verdadeiro.
Exemplo:
preserve_hostname: true
RHEL ou CentOS 7, 8 e 9
Para Red Hat Enterprise Linux (RHEL) ou CentOS 7, 8 e 9, conclua as seguintes etapas:
-
Para definir o nome do host estático, execute o seguinte comando:
hostnamectl set-hostname --static persistent-hostname
Observação: substitua persistent-hostname pelo seu nome do host.
-
Para o RHEL 7.3 ou anterior, execute o seguinte comando para abrir /etc/cloud/cloud.cfg:
vi /etc/cloud/cloud.cfg
-
Analise o atributo preserve_hostname. Se o valor for falso, atualize o valor para verdadeiro.
Exemplo:
preserve_hostname: true
SUSE Linux
Para o SUSE Linux Enterprise Server (SLES), conclua as seguintes etapas:
-
Para definir o nome do host, execute o comando a seguir com base na sua versão do SLES.
SLES 11:
hostname persistent-hostname
SLES 12 e 15:
hostnamectl set-hostname persistent-hostname
Observação: substitua persistent-hostname pelo seu nome do host.
-
Execute o comando a seguir para atualizar o arquivo /etc/HOSTNAME com seu nome do host:
echo "persistent-hostname" > /etc/HOSTNAME
Observação: substitua HOSTNAME pelo seu nome do host.
-
Para abrir /etc/hosts, execute o seguinte comando:
vim /etc/hosts
-
Insira a linha a seguir no arquivo com base na sua versão do SLES e substitua-a pelo seu nome do host.
SLES 11:
127.0.0.1 localhost persistent-hostname
SLES 12 e 15:
127.0.0.1 localhost persistent-hostname
Observação: substitua persistent-hostname pelo seu nome do host.
-
Para abrir o arquivo /etc/cloud/cloud.cfg, execute o seguinte comando:
vim /etc/cloud/cloud.cfg
-
Insira a seguinte linha no arquivo:
preserve_hostname: true
Implemente as mudanças
Conclua as etapas a seguir:
-
Para reinicializar a instância, execute o seguinte comando:
reboot
-
Para verificar o novo nome do host, execute o seguinte comando:
hostnamectl
Solucione seus problemas
Se você tiver mudanças inesperadas no nome do host após a reinicialização, execute as seguintes ações:
- Verifique os logs do sistema em /var/log/cloud-init.log e /var/log/syslog para obter entradas sobre alterações no nome do host.
- Se você instalar atualizações do sistema que afetem /etc/hosts, o arquivo hostname ou o utilitário hostname, conclua novamente as etapas de resolução anteriores.
- Verifique se a configuração preserve_hostname é verdadeira no arquivo /etc/cloud/cloud.cfg.
Informações relacionadas
Altere o nome do host da sua instância AL2