

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Altere o nome do host da sua instância AL2
<a name="set-hostname"></a>

Quando você inicia uma instância em uma VPC privada, o Amazon EC2 atribui um nome de host do sistema operacional convidado. O tipo de nome de host que o Amazon EC2 atribui depende das suas configurações de sub-rede. Para obter mais informações sobre nomes de host do EC2, consulte os tipos de [nome de host da instância do Amazon EC2 no Guia do usuário](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) do Amazon *EC2*.

Um nome DNS privado típico do Amazon EC2 para uma instância do EC2 configurada para usar nomenclatura baseada em IP com um IPv4 endereço é mais ou menos assim:`ip-12-34-56-78.us-west-2.compute.internal`, onde o nome consiste no domínio interno, no serviço (nesse caso,`compute`), na região e em uma forma do endereço privado. IPv4 Parte desse nome do host é exibida no prompt do shell quando você se conecta à sua instância (por exemplo, `ip-12-34-56-78`). Cada vez que você interrompe e reinicia sua instância do Amazon EC2 (a menos que esteja usando um endereço IP elástico), o IPv4 endereço público muda, assim como seu nome DNS público, nome de host do sistema e prompt de shell.

**Importante**  
Essas informações se aplicam ao Amazon Linux. Para obter informações sobre outras distribuições, consulte a documentação específica.

## Alterar o nome do host do sistema
<a name="set-hostname-system"></a>

Se você tiver um nome DNS público registrado para o endereço IP de sua instância (como `webserver.mydomain.com`), poderá configurar o nome do host do sistema para que a instância se identifique como parte do domínio. Isso também altera o prompt do shell para que ele exiba a primeira parte desse nome em vez do nome do host fornecido por AWS (por exemplo,`ip-12-34-56-78`). Se você não tiver um nome DNS público registrado, ainda assim poderá alterar o nome do host, mas o processo é um pouco diferente.

Para que a atualização do nome do host seja mantida, verifique se a `preserve_hostname`configuração do cloud-init está definida como `true`. É possível executar o seguinte comando para editar ou adicionar essa configuração:

```
sudo vi /etc/cloud/cloud.cfg
```

Se a configuração `preserve_hostname` não estiver listada, adicione a seguinte linha de texto ao final do arquivo: 

```
preserve_hostname: true
```

**Para alterar o nome do host do sistema para um nome DNS público**

Siga este procedimento se você já tiver um nome DNS público registrado.

1. 
   + Para AL2: Use o **hostnamectl** comando para definir seu nome de host para refletir o nome de domínio totalmente qualificado (como**webserver.mydomain.com**).

     ```
     [ec2-user ~]$ sudo hostnamectl set-hostname webserver.mydomain.com
     ```
   + Para Amazon Linux AMI: em sua instância, abra o arquivo de configuração `/etc/sysconfig/network` em seu editor de preferência e altere a entrada `HOSTNAME` para refletir o nome de domínio totalmente qualificado (como **webserver.mydomain.com**).

     ```
     HOSTNAME=webserver.mydomain.com
     ```

1. Reinicialize a instância para obter o novo nome do host.

   ```
   [ec2-user ~]$ sudo reboot
   ```

   Como alternativa, é possível reinicializar usando o console do Amazon EC2 (na página **Instances (Instâncias)**, selecione a instância e escolha **Instance state (Estado da instância)** e **Reboot instance (Reinicializar instância)**).

1. Conecte-se à sua instância e verifique se o nome do host foi atualizado. O prompt deverá mostrar o novo nome do host (até o primeiro ".") e o comando **hostname** deve mostrar o nome de domínio totalmente qualificado.

   ```
   [ec2-user@webserver ~]$ hostname
   webserver.mydomain.com
   ```

**Para alterar o nome do host do sistema sem um nome DNS público**

1. 
   + Para AL2: Use o **hostnamectl** comando para definir seu nome de host para refletir o nome de host do sistema desejado (como**webserver**).

     ```
     [ec2-user ~]$ sudo hostnamectl set-hostname webserver.localdomain
     ```
   + No Amazon Linux AMI: em sua instância, abra o arquivo de configuração `/etc/sysconfig/network` em seu editor de texto de preferência e altere a entrada `HOSTNAME` para refletir o nome do host do sistema desejado (como webserver **webserver**).

     ```
     HOSTNAME=webserver.localdomain
     ```

1. Abra o arquivo `/etc/hosts` em seu editor de texto de preferência e altere a entrada começando com **127.0.0.1** para corresponder ao exemplo abaixo, substituindo seu próprio nome do host.

   ```
   127.0.0.1 webserver.localdomain webserver localhost4 localhost4.localdomain4
   ```

1. Reinicialize a instância para obter o novo nome do host.

   ```
   [ec2-user ~]$ sudo reboot
   ```

   Como alternativa, é possível reinicializar usando o console do Amazon EC2 (na página **Instances (Instâncias)**, selecione a instância e escolha **Instance state (Estado da instância)** e **Reboot instance (Reinicializar instância)**).

1. Conecte-se à sua instância e verifique se o nome do host foi atualizado. O prompt deverá mostrar o novo nome do host (até o primeiro ".") e o comando **hostname** deve mostrar o nome de domínio totalmente qualificado.

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

Também é possível implementar soluções mais programáticas, como especificar dados do usuário para configurar sua instância. Se sua instância fizer parte de um grupo do Auto Scaling, você poderá usar ganchos do ciclo de vida para definir os dados do usuário. Para obter mais informações, consulte [Executar comandos em sua instância do Linux na inicialização](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) e [Hook do ciclo de vida para inicialização da instância](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#aws-resource-autoscaling-lifecyclehook--examples--Lifecycle_hook_for_instance_launch) no *Guia do usuário AWS CloudFormation *.

## Alterar o prompt do shell sem afetar o nome do host
<a name="set-hostname-shell"></a>

Se você não quiser modificar o nome do host da sua instância, mas quiser que um nome de sistema mais útil (como**webserver**) seja exibido do que o nome privado fornecido por AWS (por exemplo,`ip-12-34-56-78`), edite os arquivos de configuração do prompt do shell para exibir o apelido do sistema em vez do nome do host.

**Para alterar o prompt do shell para um apelido de host**

1. Crie um arquivo em `/etc/profile.d` que defina a variável do ambiente chamada `NICKNAME` para o valor que você deseja no prompt do shell. Por exemplo, para definir o apelido do sistema como **webserver**, execute o seguinte comando.

   ```
   [ec2-user ~]$ sudo sh -c 'echo "export NICKNAME=webserver" > /etc/profile.d/prompt.sh'
   ```

1. Abra o arquivo `/etc/bashrc` (Red Hat) ou `/etc/bash.bashrc` (Debian/Ubuntu) no seu editor de texto favorito (como **vim** ou **nano**). Você precisa usar **sudo** com o comando do editor, pois `/etc/bashrc` e `/etc/bash.bashrc` são de propriedade de `root`.

1. Edite o arquivo e altere a variável do prompt do shell (`PS1`) para exibir seu apelido em vez do nome do host. Encontre a seguinte linha que define o prompt do shell em `/etc/bashrc` ou `/etc/bash.bashrc` (várias linhas adjacentes são mostradas abaixo para fornecer o contexto; procure a linha que começa com `[ "$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
   ```

   Altere o `\h` (o símbolo para `hostname`) nessa linha para o valor da variável `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
   ```

1. (Opcional) Para configurar o título nas janelas do shell com um novo apelido, conclua as seguintes etapas.

   1. Crie um arquivo chamado `/etc/sysconfig/bash-prompt-xterm`.

      ```
      [ec2-user ~]$ sudo touch /etc/sysconfig/bash-prompt-xterm
      ```

   1. Torne o arquivo executável usando o comando a seguir.

      ```
      [ec2-user ~]$ sudo chmod +x /etc/sysconfig/bash-prompt-xterm
      ```

   1. Abra o arquivo `/etc/sysconfig/bash-prompt-xterm` no seu editor de texto de preferência (como **vim** ou **nano**). Você precisará usar **sudo** com o comando do editor, pois `/etc/sysconfig/bash-prompt-xterm` é de propriedade de `root`.

   1. Adicione a linha a seguir ao arquivo.

      ```
      echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
      ```

1. Desconecte-se e conecte-se novamente para obter o novo valor do apelido.

## Alterar o nome do host em outras distribuições do Linux
<a name="set-hostname-other-linux"></a>

Os procedimentos desta página são destinados ao uso com o Amazon Linux somente. Para obter mais informações sobre outras distribuições do Linux, consulte a documentação específica e os seguintes artigos:
+ [Como atribuo um nome do host estático a uma instância do Amazon EC2 privada executando RHEL 7 ou Centos 7?](https://aws.amazon.com/premiumsupport/knowledge-center/linux-static-hostname-rhel7-centos7/)