Ubah nama host instans Anda AL2 - Amazon Linux 2

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

Saat Anda meluncurkan instance ke VPC pribadi, Amazon EC2 menetapkan nama host OS tamu. Jenis nama host yang diberikan Amazon bergantung EC2 pada pengaturan subnet Anda. Untuk informasi selengkapnya tentang EC2 nama host, lihat jenis nama host EC2 instans Amazon di EC2 Panduan Pengguna Amazon.

Nama DNS EC2 pribadi Amazon yang khas untuk EC2 instance 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 EC2 instans Amazon Anda (kecuali Anda menggunakan alamat IP Elastis), IPv4 alamat publik berubah, dan begitu juga nama DNS publik Anda, nama host sistem, dan prompt shell.

penting

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

Mengubah nama host sistem

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.

    • Untuk AL2: Gunakan hostnamectl perintah untuk menyetel nama host Anda agar mencerminkan nama domain yang sepenuhnya memenuhi syarat (sepertiwebserver.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 reboot menggunakan EC2 konsol Amazon (pada halaman Instances, pilih instance dan pilih Status instans, Reboot instance).

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

    [ec2-user@webserver ~]$ hostname webserver.mydomain.com
Untuk mengubah nama host sistem tanpa nama DNS publik
    • Untuk AL2: Gunakan hostnamectl perintah untuk mengatur nama host Anda untuk mencerminkan nama host sistem yang diinginkan (sepertiwebserver).

      [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
  2. Boot ulang instans untuk mengambil nama host baru.

    [ec2-user ~]$ sudo reboot

    Atau, Anda dapat melakukan reboot menggunakan EC2 konsol Amazon (pada halaman Instances, pilih instance dan pilih Status instans, Reboot instance).

  3. 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 dan Pengait siklus hidup untuk peluncuran instans di Panduan Pengguna AWS CloudFormation .

Mengubah prompt shell tanpa memengaruhi nama host

Jika Anda tidak ingin mengubah nama host untuk instance Anda, tetapi Anda ingin memiliki nama sistem yang lebih berguna (sepertiwebserver) 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'
  2. 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.

  3. 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
  4. (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
    2. Buat file tersebut dapat dieksekusi menggunakan perintah berikut.

      [ec2-user ~]$ sudo chmod +x /etc/sysconfig/bash-prompt-xterm
    3. 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.

    4. Tambahkan baris berikut ke file.

      echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
  5. Keluar lalu masuk kembali untuk mengambil nilai nama panggilan baru.

Mengubah nama host pada distribusi Linux lainnya

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: