Cara Mengubah Hostname Instance VM GCE
Seberapa penting sebuah hostname atau nama mesin untuk anda? Jika anda bukan orang yang bergelut dibidang postmaster mungkin hostname hanya menjadi pelengkap, tidak lebih hanya "sebuah nama".
Bagi postmaster (bukan saya, tentunya) nama mesin sangat berati untuk keberlangsungan sistem mail yang tengah dibangunnya. Karena FQDN (full qualified domain name) sangat berperan penting dalam siklus mail server.
Menurut Servernesia [1], FQDN sendiri merupakan sistem penamaan yang valid untuk sebuah mesin yang menentukan lokasi pastinya pada suatu hirarki DNS (domain name server/system).
Artikel ini membahas bagaimana cara mengubah nama mesin pada Instance VM Google Compute Engine (GCE). Khusus bagi anda yang sudah membuat instance VM.
Agar mesin instance VM di GCE anda dapat diubah nama mesinnya, yang perlu dilakukan adalah mengubah data dari metadata.
[caption id="attachment_536" align="alignnone" width="893"] Gambar 1. Instance VM di dasbor Compute Engine[/caption]
Buka konsol Google Cloud anda, kemudian arahkan ke dasbor Instance VM, seperti gambar diatas. Kemudian klik nama Instance VM-nya.
[caption id="attachment_537" align="alignnone" width="849"] Gambar 2. Halaman detail dari Instance VM[/caption]
Anda akan diarahkan ke halaman detail Instance VM yang anda klik tadi. Pada posisi ini, klik menu Edit.
[caption id="attachment_543" align="alignnone" width="818"] Gambar 3. Bagian untuk mengedit data Metadata[/caption]
Setelah halaman pengeditan terbuka, gulirkankan halaman hingga anda menemukan bagian Metadata khusus (dalam bahasa Indonesia). Isikan data berupa
Setelah mengubah data dari metadata, selanjutnya adalah menerapkan perubahan tersebut pada mesin Instance VM anda.
Akses mesin Instace VM anda dengan SSH. Setelah berhasil, jalankan perintah berikut untuk memastikan apakah metadata yang sudah anda tulis tadi sudah terbaca oleh sistem GCE atau belum.
Jika jawaban dari perintah diatas adalah seperti ini:
Maka anda sudah berhasil mendaftarkan metadata untuk nama mesin anda. Selanjutnya, mari kita buat perubahan tersebut seolah-olah permanen dengan membuat penjadwalan khusus ketika anda menginginkan reboot.
Buatlah penjadwalan otomatis yang aktif ketika anda melakukan reboot pada crontab dengan perintah berikut:
Setelah editor nano membuka berkas konfigurasi crontab, tambahkan baris perintah berikut ini di baris paling bawah:
Simpan perubahan berkas crontab. Cobalah merestart Instance VM anda, ketika anda mengaksesnya kembali, anda akan menemukan nama mesin yang sudah disesuaikan.
Saya sudah menerapkan cara pertama, namun ketika saya mengakses instance VM saya kemudian hari, nama mesin berubah seperti sedia kala. Jika anda mengalaminya juga, mari kita coba cara kedua ini.
Buka kembali dasbor Instance VM anda, kemudian hapus metadata yang sebelumnya sudah anda isikan (gambar 3) agar tidak terjadi tumpukan metadata yang sama. Simpan perubahan anda dan kembali ke halaman utama Instance VM.
[caption id="attachment_547" align="alignnone" width="840"] Gambar 4. Ikon konsol Google Cloud Shell[/caption]
Cara kali ini kita memanfaatkan fungsi dari gcloud shell, sebutan konsol yang dimiliki GCP. Klik ikon gcloud shell (ikon kursor). Setelah shell terbuka, berikut ini format perintah yang digunakan untuk menambahkan metadata pada Instance VM:
Jika diketik lengkap pada gcloud shell, maka perintah tersebut menjadi seperti ini:
Setelah mengeksekusi perintah di atas pada gcloud shell, pastikan anda mendapatkan balasan berupa baris pembaruan, seperti dibawah ini:
Selanjutnya akses Instance VM anda dengan SSH. Setelah berhasil, masuklah sebagai root dengan perintah berikut:
Perbarui perintah penjadwalan otomatis pada
Lalu perbarui baris @restart menjadi seperti ini (tidak perlu menhapus semuanya, perbarui saja bagian-bagian yang penting):
Jangan lupa untuk menyimpan perubahan yang telah anda lakukan. Selanjutnya buat pengaturan startup pada mesin anda, agar menjalankan perintah tertentu saat anda memuat ulang mesin anda.
Secara default, pada distribusi turunan Debian, kita dapat mengatur perintah yang dapat dieksekusi secara otomatis saat mesin dimuat ulang pada berkas
Buat berkas
Kemudian rubah hak aksesnya agar dapat dieksekusi
Anda harus memuat ulang daemon pada sistem anda agar dapat membaca segala pembaruan yang akan anda diterapkan.
Setelah memuat ulang daemon, sistem kini telah membaca pengaturan baru yang anda terapkan, yaitu
Nah, saat ini sistem anda telah mengenali serta dapat mengeksekusi service dari
[caption id="attachment_549" align="alignnone" width="810"] Gambar 6. Layanan rc.local telah berjalan[/caption]
Sampai pada langkah ini anda dapat mengujinya dengan merestart Instance VM anda dan mengaksesnya kembali via SSH.
[1] https://servernesia.com/2811/apa-itu-fqdn/
https://stackoverflow.com/a/48151928
https://rafishaikblog.wordpress.com/2017/07/15/how-to-make-hostname-permanent-on-google-cloud-engine-gce/
https://stackoverflow.com/a/44801337
Bagi postmaster (bukan saya, tentunya) nama mesin sangat berati untuk keberlangsungan sistem mail yang tengah dibangunnya. Karena FQDN (full qualified domain name) sangat berperan penting dalam siklus mail server.
Menurut Servernesia [1], FQDN sendiri merupakan sistem penamaan yang valid untuk sebuah mesin yang menentukan lokasi pastinya pada suatu hirarki DNS (domain name server/system).
Artikel ini membahas bagaimana cara mengubah nama mesin pada Instance VM Google Compute Engine (GCE). Khusus bagi anda yang sudah membuat instance VM.
Cara 1 - Mengubah Nama Mesin di GCE
Agar mesin instance VM di GCE anda dapat diubah nama mesinnya, yang perlu dilakukan adalah mengubah data dari metadata.
[caption id="attachment_536" align="alignnone" width="893"] Gambar 1. Instance VM di dasbor Compute Engine[/caption]
Buka konsol Google Cloud anda, kemudian arahkan ke dasbor Instance VM, seperti gambar diatas. Kemudian klik nama Instance VM-nya.
[caption id="attachment_537" align="alignnone" width="849"] Gambar 2. Halaman detail dari Instance VM[/caption]
Anda akan diarahkan ke halaman detail Instance VM yang anda klik tadi. Pada posisi ini, klik menu Edit.
[caption id="attachment_543" align="alignnone" width="818"] Gambar 3. Bagian untuk mengedit data Metadata[/caption]
Setelah halaman pengeditan terbuka, gulirkankan halaman hingga anda menemukan bagian Metadata khusus (dalam bahasa Indonesia). Isikan data berupa
hostname
pada form pertama kemudian mesin.example.id
pada form kedua. Gulirkan kembali halaman kebawah kemudian klik tombol simpan.Setelah mengubah data dari metadata, selanjutnya adalah menerapkan perubahan tersebut pada mesin Instance VM anda.
Akses mesin Instace VM anda dengan SSH. Setelah berhasil, jalankan perintah berikut untuk memastikan apakah metadata yang sudah anda tulis tadi sudah terbaca oleh sistem GCE atau belum.
curl --silent "http://metadata.google.internal/computeMetadata/v1/instance/attributes/hostname" -H "Metadata-Flavor: Google"
Jika jawaban dari perintah diatas adalah seperti ini:
hostname mesin.example.id
Maka anda sudah berhasil mendaftarkan metadata untuk nama mesin anda. Selanjutnya, mari kita buat perubahan tersebut seolah-olah permanen dengan membuat penjadwalan khusus ketika anda menginginkan reboot.
Buatlah penjadwalan otomatis yang aktif ketika anda melakukan reboot pada crontab dengan perintah berikut:
sudo env EDITOR=nano crontab -e
Setelah editor nano membuka berkas konfigurasi crontab, tambahkan baris perintah berikut ini di baris paling bawah:
@reboot hostname $(curl --silent "http://metadata.google.internal/computeMetadata/v1/instance/attributes/hostname" -H "Metadata-Flavor: Google")
Simpan perubahan berkas crontab. Cobalah merestart Instance VM anda, ketika anda mengaksesnya kembali, anda akan menemukan nama mesin yang sudah disesuaikan.
Cara 2 - Mengubah Nama Mesin di GCE
Saya sudah menerapkan cara pertama, namun ketika saya mengakses instance VM saya kemudian hari, nama mesin berubah seperti sedia kala. Jika anda mengalaminya juga, mari kita coba cara kedua ini.
Buka kembali dasbor Instance VM anda, kemudian hapus metadata yang sebelumnya sudah anda isikan (gambar 3) agar tidak terjadi tumpukan metadata yang sama. Simpan perubahan anda dan kembali ke halaman utama Instance VM.
[caption id="attachment_547" align="alignnone" width="840"] Gambar 4. Ikon konsol Google Cloud Shell[/caption]
Cara kali ini kita memanfaatkan fungsi dari gcloud shell, sebutan konsol yang dimiliki GCP. Klik ikon gcloud shell (ikon kursor). Setelah shell terbuka, berikut ini format perintah yang digunakan untuk menambahkan metadata pada Instance VM:
gcloud compute instances add-metadata <nama-instance> –-zone <zona-instance> -–metadata startup-script='#! /bin/bash hostname <hostname>'
Jika diketik lengkap pada gcloud shell, maka perintah tersebut menjadi seperti ini:
gcloud compute instances add-metadata instance-2 –-zone us-east1-b -–metadata startup-script='#! /bin/bash hostname mesin.example.id'
Setelah mengeksekusi perintah di atas pada gcloud shell, pastikan anda mendapatkan balasan berupa baris pembaruan, seperti dibawah ini:
Updated [https://www.googleapis.com/compute/v1/projects/core-guard-211712/zones/us-east1-b/instances/instance-2]
Selanjutnya akses Instance VM anda dengan SSH. Setelah berhasil, masuklah sebagai root dengan perintah berikut:
sudo su
Perbarui perintah penjadwalan otomatis pada
crontab
yang sebelumnya telah anda lakukan.crontab -e
Lalu perbarui baris @restart menjadi seperti ini (tidak perlu menhapus semuanya, perbarui saja bagian-bagian yang penting):
@reboot hostname $(curl --silent “http://metadata.google.internal/computeMetadata/v1/instance/attributes/hostname” -H “Metadata-Flavor: Google”)
Jangan lupa untuk menyimpan perubahan yang telah anda lakukan. Selanjutnya buat pengaturan startup pada mesin anda, agar menjalankan perintah tertentu saat anda memuat ulang mesin anda.
Secara default, pada distribusi turunan Debian, kita dapat mengatur perintah yang dapat dieksekusi secara otomatis saat mesin dimuat ulang pada berkas
rc.local
, namun pada kasus Instance VM, berkas tersebut tidak ada, sehingga kita harus melakukan konfigurasi agar baris perintah yang kita simpan di rc.local
dapat dieksekusi oleh sistem.Buat berkas
rc.local
dengan perintah berikut (anda harus menggunakan hak akses root
sepenuhnya, bukan dengan perintah sudo
):cat <<EOF >/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
EOF
Kemudian rubah hak aksesnya agar dapat dieksekusi
chmod +x /etc/rc.local
Anda harus memuat ulang daemon pada sistem anda agar dapat membaca segala pembaruan yang akan anda diterapkan.
systemctl daemon-reload
Setelah memuat ulang daemon, sistem kini telah membaca pengaturan baru yang anda terapkan, yaitu
rc.local
, sistem telah mengenalinya sebagai sebuah service baru. Agar service tersebut benar-benar dapat dieksekusi oleh sistem, silahkan jalankan dengan perintah berikut:systemctl start rc.local
Nah, saat ini sistem anda telah mengenali serta dapat mengeksekusi service dari
rc.local
. Anda dapat memeriksa status layanan tersebut dengan perintah berikut:systemctl status rc.local
[caption id="attachment_549" align="alignnone" width="810"] Gambar 6. Layanan rc.local telah berjalan[/caption]
Sampai pada langkah ini anda dapat mengujinya dengan merestart Instance VM anda dan mengaksesnya kembali via SSH.
Sumber
[1] https://servernesia.com/2811/apa-itu-fqdn/
https://stackoverflow.com/a/48151928
https://rafishaikblog.wordpress.com/2017/07/15/how-to-make-hostname-permanent-on-google-cloud-engine-gce/
https://stackoverflow.com/a/44801337
Komentar
Posting Komentar
Silahkan tinggalkan komentar Anda di sini.