

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Ubah nama host instans Anda AL2
<a name="set-hostname"></a>

Saat Anda meluncurkan instans ke VPC privat, Amazon EC2 menetapkan nama host OS tamu. Tipe nama host yang ditetapkan Amazon EC2 bergantung pada pengaturan subnet Anda. Untuk informasi selengkapnya tentang nama host EC2, lihat jenis [nama host instans Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) di Panduan Pengguna Amazon *EC2*.

Nama DNS pribadi Amazon EC2 khas untuk instans EC2 yang dikonfigurasi untuk menggunakan penamaan berbasis IP dengan IPv4 alamat terlihat seperti ini:`ip-12-34-56-78.us-west-2.compute.internal`, di mana nama terdiri dari domain internal, layanan (dalam hal ini,`compute`), wilayah, dan bentuk alamat pribadi. IPv4 Bagian dari nama host ini ditampilkan pada prompt shell saat Anda masuk ke instans Anda (misalnya, `ip-12-34-56-78`). Setiap kali Anda berhenti dan memulai ulang instans Amazon EC2 Anda (kecuali Anda menggunakan alamat IP Elastis), IPv4 alamat publik berubah, begitu juga nama DNS publik, nama host sistem, dan prompt shell Anda.

**penting**  
Informasi ini berlaku untuk Amazon Linux. Untuk informasi tentang distribusi lain, lihat dokumentasi spesifik tentangnya.

## Mengubah nama host sistem
<a name="set-hostname-system"></a>

Jika Anda memiliki nama DNS publik yang terdaftar untuk alamat IP instans Anda (seperti `webserver.mydomain.com`), Anda dapat mengatur nama host sistem sehingga instans Anda mengidentifikasi dirinya sebagai bagian dari domain itu. Ini juga mengubah prompt shell sehingga menampilkan bagian pertama dari nama ini alih-alih nama host yang disediakan oleh AWS (misalnya,`ip-12-34-56-78`). Jika Anda tidak memiliki nama DNS publik yang terdaftar, Anda masih dapat mengubah nama host, tetapi prosesnya sedikit berbeda.

Agar pembaruan nama host Anda tetap ada, Anda harus memverifikasi bahwa pengaturan `preserve_hostname` cloud-init diatur ke `true`. Anda dapat menjalankan perintah berikut untuk mengedit atau menambahkan pengaturan ini:

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

Jika pengaturan `preserve_hostname` tidak terdaftar, tambahkan baris teks berikut ke akhir file: 

```
preserve_hostname: true
```

**Untuk mengubah nama host sistem menjadi nama DNS publik**

Ikuti prosedur ini jika Anda sudah memiliki nama DNS publik yang terdaftar.

1. 
   + Untuk AL2: Gunakan **hostnamectl** perintah untuk mengatur nama host Anda agar mencerminkan nama domain yang sepenuhnya memenuhi syarat (seperti**webserver.mydomain.com**).

     ```
     [ec2-user ~]$ sudo hostnamectl set-hostname webserver.mydomain.com
     ```
   + Untuk AMI Amazon Linux: Pada instans Anda, buka file konfigurasi `/etc/sysconfig/network` di editor teks favorit Anda dan ubah entri `HOSTNAME` sehingga mencerminkan nama domain yang sepenuhnya memenuhi syarat (seperti **webserver.mydomain.com**).

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

1. Boot ulang instans untuk mengambil nama host baru.

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

   Atau, Anda dapat melakukan boot ulang menggunakan konsol Amazon EC2 (di halaman **Instans**, pilih instans dan pilih **Status instans**, **Boot ulang instans**).

1. Masuk ke instans Anda dan pastikan bahwa nama host telah diperbarui. Perintah Anda harus menampilkan nama host baru (hingga "." Pertama) dan**hostname** Perintah harus menunjukkan nama domain yang memenuhi syarat.

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

**Untuk mengubah nama host sistem tanpa nama DNS publik**

1. 
   + Untuk AL2: Gunakan **hostnamectl** perintah untuk mengatur nama host Anda untuk mencerminkan nama host sistem yang diinginkan (seperti**webserver**).

     ```
     [ec2-user ~]$ sudo hostnamectl set-hostname webserver.localdomain
     ```
   + Untuk AMI Amazon Linux: Pada instans Anda, buka file konfigurasi `/etc/sysconfig/network` di editor teks favorit Anda dan ubah entri `HOSTNAME` sehingga mencerminkan nama host sistem yang diinginkan (seperti **webserver**).

     ```
     HOSTNAME=webserver.localdomain
     ```

1. Buka file `/etc/hosts` di editor teks favorit Anda dan ubah entri yang diawali dengan **127.0.0.1** untuk mencocokkan contoh di bawah ini, dengan mengganti nama host Anda sendiri.

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

1. Boot ulang instans untuk mengambil nama host baru.

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

   Atau, Anda dapat melakukan boot ulang menggunakan konsol Amazon EC2 (di halaman **Instans**, pilih instans dan pilih **Status instans**, **Boot ulang instans**).

1. Masuk ke instans Anda dan pastikan bahwa nama host telah diperbarui. Prompt Anda harus menampilkan nama host baru (hingga "." pertama) dan perintah **hostname** harus menunjukkan nama domain yang memenuhi syarat.

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

Anda juga dapat menerapkan solusi yang lebih terprogram, seperti menentukan data pengguna untuk mengonfigurasi instans Anda. Jika instans Anda adalah bagian dari grup Auto Scaling, Anda dapat menggunakan pengait siklus hidup untuk menentukan data pengguna. Untuk informasi selengkapnya, lihat [Menjalankan perintah pada instans Linux Anda saat peluncuran](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) dan [Pengait siklus hidup untuk peluncuran instans](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#aws-resource-autoscaling-lifecyclehook--examples--Lifecycle_hook_for_instance_launch) di *Panduan Pengguna AWS CloudFormation *.

## Mengubah prompt shell tanpa memengaruhi nama host
<a name="set-hostname-shell"></a>

Jika Anda tidak ingin mengubah nama host untuk instance Anda, tetapi Anda ingin memiliki nama sistem yang lebih berguna (seperti**webserver**) ditampilkan daripada nama pribadi yang disediakan oleh AWS (misalnya,`ip-12-34-56-78`), Anda dapat mengedit file konfigurasi shell prompt untuk menampilkan nama panggilan sistem Anda alih-alih nama host.

**Untuk mengubah prompt shell menjadi nama panggilan host**

1. Buat file di `/etc/profile.d` yang mengatur variabel lingkungan yang disebut `NICKNAME` ke nilai yang Anda inginkan di prompt shell. Misalnya, untuk mengatur nama panggilan sistem menjadi **webserver**, jalankan perintah berikut.

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

1. Buka file `/etc/bashrc` (Red Hat) atau `/etc/bash.bashrc` (Debian/Ubuntu) di editor teks favorit Anda (seperti **vim** atau **nano**). Anda perlu menggunakan **sudo** dengan perintah editor karena `/etc/bashrc` dan `/etc/bash.bashrc` dimiliki oleh `root`.

1. Edit file dan ubah variabel prompt shell (`PS1`) untuk menampilkan nama panggilan Anda, bukan nama host. Temukan baris berikut yang mengatur prompt shell di `/etc/bashrc` atau `/etc/bash.bashrc` (beberapa baris sekitarnya ditampilkan di bawah untuk konteks; cari baris yang dimulai dengan `[ "$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
   ```

   Ubah `\h` (simbol untuk `hostname`) di baris tersebut ke nilai variabel `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. (Opsional) Untuk mengatur judul di jendela shell ke nama panggilan baru, selesaikan langkah-langkah berikut.

   1. Buat file bernama `/etc/sysconfig/bash-prompt-xterm`.

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

   1. Buat file tersebut dapat dieksekusi menggunakan perintah berikut.

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

   1. Buka file `/etc/sysconfig/bash-prompt-xterm` di editor teks favorit Anda (seperti **vim** atau **nano**). Anda perlu menggunakan **sudo** dengan perintah editor karena `/etc/sysconfig/bash-prompt-xterm` dimiliki oleh `root`.

   1. Tambahkan baris berikut ke file.

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

1. Keluar lalu masuk kembali untuk mengambil nilai nama panggilan baru.

## Mengubah nama host pada distribusi Linux lainnya
<a name="set-hostname-other-linux"></a>

Prosedur di halaman ini dimaksudkan untuk digunakan dengan Amazon Linux saja. Untuk informasi lebih lanjut tentang distribusi Linux lainnya, lihat dokumentasi spesifik mereka dan artikel berikut ini:
+ [Bagaimana cara menetapkan nama host statis ke instans Amazon EC2 privat yang menjalankan RHEL 7 atau Centos 7?](https://aws.amazon.com/premiumsupport/knowledge-center/linux-static-hostname-rhel7-centos7/)