Dokumen ini memberikan ringkasan fungsi inti agen tamu, komponen penting lingkungan tamu. Lingkungan tamu berisi skrip, daemon, dan biner yang diperlukan instance untuk berjalan di Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Lingkungan tamu.
Cara kerja agen tamu
Mulai dari versi 20250901.00
, agen tamu menggunakan arsitektur berbasis plugin. Desain ini meningkatkan keandalan dan fleksibilitas
dengan memisahkan fungsi agen ke dalam komponen yang berbeda.
Arsitektur agen tamu terdiri dari beberapa komponen utama:
- Pengelola agen tamu: proses pusat di instance Anda yang memulai, menghentikan, dan memantau semua plugin.
- Plugin inti: plugin ini menangani layanan penting yang dibutuhkan instance Anda untuk berjalan di Google Cloud. Fungsinya tidak dapat dinonaktifkan.
- Plugin opsional: ini adalah plugin yang mengintegrasikan instance Anda dengan layanan Google Cloud lain, seperti Cloud Monitoring. Anda dapat mengontrol plugin mana yang berjalan di instance Anda.
- Bidang kontrol agen: ini adalah layanan terkelola yang berjalan di infrastruktur backend Google dan mengelola siklus proses plugin opsional, termasuk penginstalan dan update-nya. Google Cloud
Untuk mengetahui informasi selengkapnya tentang arsitektur agen tamu, lihat Tentang agen tamu.
Fungsi inti
Plugin inti bertanggung jawab atas layanan mendasar yang dibutuhkan instance Anda agar dapat berfungsi di Compute Engine. Bagian berikut menjelaskan fungsi yang disediakan oleh plugin inti. Anda dapat menyesuaikan banyak fitur ini menggunakan file konfigurasi agen tamu.
Penyiapan dan pengoptimalan instance awal
Agen tamu melakukan beberapa tugas penyiapan untuk menyiapkan instance agar dapat berjalan di Compute Engine. Seperti yang ditunjukkan dalam tabel berikut, beberapa tugas hanya berjalan saat booting pertama, sementara tugas lainnya berjalan setiap kali perangkat dimulai.
Tugas | Frekuensi |
---|---|
Membuat kunci host SSH | Saat booting pertama |
Buat konfigurasi boto untuk menggunakan Cloud Storage |
Saat booting pertama |
Mengoptimalkan untuk SSD lokal | Setiap kali dimulai |
Mengaktifkan multi-antrean di semua perangkat virtionet |
Setiap kali dimulai |
Anda dapat mengontrol tugas penyiapan ini dengan mengonfigurasi
opsi InstanceSetup
dari file konfigurasi agen tamu. Misalnya, Anda dapat menonaktifkan pengoptimalan SSD Lokal dengan menyetel optimize_local_ssd = false
.
Pengumpulan telemetri sistem
Agen tamu mencatat beberapa informasi telemetri sistem dasar saat waktu booting dan kemudian sekali setiap 24 jam. Informasi yang dicatat mencakup hal berikut:
- Versi dan arsitektur agen tamu
- Nama dan versi sistem operasi
- Rilis dan versi kernel sistem operasi
Anda dapat menonaktifkan pengumpulan telemetri dengan menyetel kunci metadata disable-guest-telemetry
ke true
. Untuk menetapkan metadata, lihat
Menetapkan dan menghapus metadata kustom.
Sinkronisasi jam (khusus Linux)
Untuk memastikan pencatatan waktu yang akurat, agen tamu menggunakan komponen clock_skew_daemon
untuk mengoreksi waktu secara berkala pada instance Anda agar sesuai dengan
server fisik tempat instance tersebut berjalan. Proses ini mencegah masalah yang disebut penyimpangan waktu
dan menghasilkan pesan system time has changed
di log instance Anda, yang
mengonfirmasi bahwa waktu telah berhasil disinkronkan.
Biasanya, agen menyinkronkan clock setelah peristiwa berhenti atau mulai, atau setelah migrasi.
Anda dapat menonaktifkan komponen clock_skew_daemon
dengan menyetel
clock_skew_daemon = false
dalam file konfigurasi agen tamu.
Eksekusi skrip metadata
Anda dapat menggunakan skrip startup dan skrip penonaktifan untuk melakukan tugas otomatis setiap kali instance Anda dimulai atau dihentikan.
Agen tamu membantu menjalankan skrip ini sebagai berikut:
- Menjalankan skrip di shell.
- Jika Anda menentukan beberapa skrip (misalnya, jika menggunakan
startup-script
danstartup-script-url
), agen akan menjalankan keduanya. - Jika beberapa skrip disediakan untuk peristiwa yang sama, agen akan menjalankan skrip dari URL terlebih dahulu.
- Setelah skrip selesai, agen akan mencatat status keluarnya.
Anda dapat mengonfigurasi eksekusi skrip metadata dengan mengubah
opsi MetadataScripts
dalam file konfigurasi agen tamu.
Pengelolaan akun pengguna dan kunci SSH
Agen tamu menggunakan accounts_daemon
untuk mengelola akun pengguna lokal dan kunci SSH, yang mengontrol akses ke instance.
Perilaku spesifik bervariasi antara sistem operasi Linux dan Windows.
Anda dapat mengubah opsi pengelolaan akun dengan mengonfigurasi
opsi Accounts
dalam file konfigurasi agen tamu.
Linux
Login OS digunakan untuk mengelola akses SSH ke instance Anda menggunakan IAM tanpa harus membuat dan mengelola kunci SSH satu per satu. Untuk mengetahui informasi selengkapnya tentang Login OS, lihat Login OS. Pada instance Linux, jika Login OS tidak diaktifkan, agen akan membuat dan mengelola akun pengguna lokal serta kunci SSH-nya menggunakan setelan metadata.
Saat Anda menambahkan atau menghapus Kunci SSH dari metadata instance atau project, agen tamu akan membuat atau menghapus akun pengguna lokal. Agen tamu juga melakukan tindakan berikut untuk mengelola akun pengguna lokal ini:
- Memelihara file
authorized_keys
untuk setiap akun pengguna yang dikelolanya sebagai berikut:- Saat Anda menambahkan kunci SSH ke metadata, agen akan membuat file
authorized_keys
untuk akun pengguna. - Saat Anda menghapus semua kunci SSH untuk pengguna dari metadata, agen akan menghapus file
authorized_keys
akun pengguna tersebut.
- Saat Anda menambahkan kunci SSH ke metadata, agen akan membuat file
- Mengelola hak istimewa administrator menggunakan grup Linux
google-sudoers
. Setiap anggota grup ini akan menerima izin sudo di instance. - Menambahkan semua akun pengguna yang disediakan ke grup
google-sudoers
. - Menambahkan akun pengguna ke grup Linux tambahan yang Anda tentukan
dalam opsi
groups
pada file konfigurasi guest agent.
Windows
Pada instance Windows, agen akan otomatis membuat akun pengguna lokal untuk akun pengguna SSH yang ditentukan dalam kunci SSH metadata di tingkat instance atau project. Agen tamu juga menangani pembuatan akun pengguna dan penyetelan atau peresetan sandi. Akun pengguna lokal ini diperlukan untuk menghubungkan ke instance Windows menggunakan SSH.
Anda dapat mencegah penyediaan pengguna AD yang tidak diinginkan dengan menonaktifkan pengelola akun pada instance pengontrol AD. Untuk mengetahui informasi selengkapnya tentang cara menyiapkan AD di Compute Engine, lihat men-deploy pengendali domain.
Konfigurasi Login OS (khusus Linux)
Login OS digunakan untuk mengelola akses SSH ke instance Anda menggunakan IAM tanpa harus membuat dan mengelola kunci SSH satu per satu. Untuk mengetahui informasi selengkapnya tentang Login OS, lihat dokumentasi Login OS.
Saat Anda mengaktifkan Login OS, agen tamu bertanggung jawab untuk mengonfigurasi instance agar menggunakan Login OS.
Agen tamu mengonfigurasi Login OS dengan menyelesaikan tugas berikut:
- Menambahkan blok konfigurasi Google ke file konfigurasi
SSHD
dan memulai ulangSSHD
. - Menambahkan entri Login OS ke file
nsswitch.conf
. - Menambahkan entri Login OS ke file konfigurasi
PAM
untukSSHD
.
Jika Anda menonaktifkan Login OS, perubahan konfigurasi akan dihapus. Opsi di bagian Accounts
pada file konfigurasi SSHD
tidak berlaku untuk pengguna Login OS.
Pengelolaan jaringan
Agen tamu akan otomatis mengonfigurasi antarmuka jaringan instance Anda saat booting. Agent ini membaca konfigurasi jaringan dari server metadata untuk memastikan instance Anda terhubung ke jaringan dengan benar dan dapat mengakses layanan Google Cloudlainnya.
Anda dapat mengontrol perilaku pengelolaan jaringan agen dengan mengonfigurasi
opsi NetworkInterfaces
dalam file konfigurasi agen tamu. Misalnya, Anda dapat menetapkan opsi manage_primary_nic = true
agar agen mengelola kartu antarmuka jaringan (NIC) utama selain NIC sekunder.
Pada setiap booting, agen tamu melakukan tugas utama berikut:
- Mengaktifkan antarmuka jaringan: agen mendeteksi pengelola jaringan aktif di OS Anda dan menggunakannya untuk mengaktifkan semua NIC jaringan sekunder.
- Mengonfigurasi rute IP: agen menyiapkan rute IP (khusus IPv4) yang diperlukan untuk fitur seperti penerusan IP dan rentang IP alias sebagai berikut:
- Menetapkan rute pada antarmuka ethernet utama.
- Mengonfigurasi rute Google secara default, dengan ID protokol perutean
66
. ID ini adalah namespace untuk alamat IP yang dikonfigurasi oleh agen tamu. ID ini dapat diubah menggunakan opsiethernet_proto_id
dalam file konfigurasi agen tamu.
- Membuat rute ke server metadata: agen memastikan bahwa NIC utama Anda selalu dapat berkomunikasi dengan server metadata untuk mendapatkan informasi instance.
- Konfigurasi VLAN: Jika instance Anda dikonfigurasi untuk terhubung ke
Virtual Local Area Network (VLAN),
agen tamu akan otomatis menangani penyiapan. Skrip ini membaca konfigurasi VLAN dari server metadata dan mengonfigurasi antarmuka jaringan di dalam instance untuk menggunakan tag VLAN yang benar. Hal ini memastikan instance
berkomunikasi di jaringan logis yang dimaksud. Yang penting, jika VLAN
terhubung ke NIC utama, agen tamu akan mengonfigurasinya meskipun
manage_primary_nic
dinonaktifkan.
Pemilihan pengelola jaringan
Di Linux, agen tamu otomatis mendeteksi pengelola jaringan yang tersedia di sistem dan menggunakannya untuk mengonfigurasi antarmuka jaringan. Agen memeriksa pengelola yang didukung berdasarkan urutan prioritas, dari netplan
hingga
dhclient
.
Tabel berikut mencantumkan pengelola jaringan yang didukung, yang disusun berdasarkan sistem operasi yang paling sering dikaitkan secara default. Konfigurasi instance spesifik Anda mungkin berbeda, tetapi tabel ini mencerminkan pengelola jaringan default untuk sistem operasi yang tercantum.
Pengelola jaringan | Sistem operasi | Lokasi konfigurasi | Contoh jalur | Catatan |
---|---|---|---|---|
netplan |
|
/run/netplan/ |
/run/netplan/20-google-guest-agent-eth0.yaml |
Agen juga dapat menggunakan lokasi datang langsung di
/etc/systemd/network/ |
wicked |
|
/etc/sysconfig/network/ |
/etc/sysconfig/network/ifcfg-eth0 |
File ifcfg yang ada tidak ditimpa dan dilewati. |
NetworkManager |
|
/etc/NetworkManager/system-connections/ |
/etc/NetworkManager/system-connections/google-guest-agent-eth0.nmconnection |
|
systemd-networkd |
|
/usr/lib/systemd/network/ |
/usr/lib/systemd/network/20-eth0-google-guest-agent.network |
|
dhclient |
|
/run/ |
/run/dhclient.google-guest-agent.eth0.ipv4.pid |
Jika tidak ada pengelola jaringan lain yang terdeteksi, agen tamu
secara default akan menggunakan dhclient . |
Pengelolaan kredensial server metadata (MDS) yang aman
VM Terlindungi kini mendukung komunikasi yang aman dengan server metadata menggunakan endpoint HTTPS https://metadata.google.internal/computeMetadata/v1
. Peningkatan ini menyediakan saluran yang lebih aman untuk akses metadata.
Untuk mengaktifkan komunikasi yang aman ini, agen tamu mengambil dan menyimpan kredensial yang diperlukan di disk instance. Kredensial ini disimpan di lokasi standar, sehingga dapat diakses oleh aplikasi klien apa pun yang berjalan di instance. Untuk meninjau lokasi ini, lihat Di mana sertifikat disimpan.
Penyiapan sertifikat MDS HTTPS dinonaktifkan secara default. Agar VM Terlindungi Anda otomatis menyiapkan sertifikat MDS HTTPS, tetapkan kunci metadata disable-https-mds-setup
ke false
di instance atau project Anda.
Untuk menetapkan metadata, lihat
Menetapkan dan menghapus metadata kustom.
Pengelolaan kredensial oleh agen tamu mencakup:
- Pembaruan awal: sertifikat root dan kredensial klien diperbarui setiap kali proses agen tamu dimulai.
- Pembaruan otomatis: untuk keamanan yang lebih baik, agen tamu otomatis memperbarui kredensial klien setiap 48 jam.
- Periode tumpang-tindih: agen membuat dan menyimpan kredensial baru sementara kredensial lama tetap valid. Periode tumpang-tindih memastikan klien memiliki waktu yang cukup untuk bertransisi ke kredensial baru sebelum kredensial lama berakhir. Periode tumpang-tindih ini juga memungkinkan agen mencoba lagi perolehan kredensial jika terjadi kegagalan, sehingga memastikan kredensial yang valid tersedia sebelum kredensial yang ada menjadi tidak valid.
- Komposisi: agen tamu memastikan kredensial klien terdiri dari kunci pribadi EC (Elliptic Curve) yang digabungkan dengan sertifikat klien.
- Keunikan: agen tamu memastikan kredensial unik untuk sebuah instance dan tidak dapat digunakan di tempat lain.
Untuk mengetahui informasi selengkapnya tentang endpoint server metadata HTTPS, lihat artikel Tentang endpoint server metadata HTTPS.
Secara default, agen tamu menulis sertifikat langsung ke disk. Namun, Anda
dapat mengonfigurasi agen untuk mengintegrasikan sertifikat ke penyimpanan sertifikat bawaan
sistem operasi. Untuk mengaktifkan integrasi ini, tetapkan kunci metadata enable-https-mds-native-cert-store
ke true
. Untuk menetapkan metadata, lihat
Menetapkan dan menghapus metadata kustom.
Perilaku agen untuk menambahkan sertifikat ke penyimpanan tepercaya OS bervariasi menurut OS sebagai berikut:
Linux
Agen tamu melakukan langkah-langkah berikut:
- Menambahkan sertifikat root MDS ke penyimpanan tepercaya sistem. Jalur tertentu bergantung pada distribusi OS. Untuk meninjau lokasi ini, lihat Penyimpanan sertifikat root di penyimpanan tepercaya OS.
- Memperbarui penyimpanan tepercaya lokal dengan menjalankan perintah yang sesuai untuk OS, seperti
update-ca-certificates
atauupdate-ca-trust
.
Windows
Agen menambahkan kredensial klien ke Cert:\LocalMachine\My
dan sertifikat root ke Cert:\LocalMachine\Root
.
Dukungan cluster failover Windows (khusus Windows)
Agen tamu memantau node aktif di Windows Server Failover Cluster dan berkoordinasi dengan load balancer internal Google Cloud untuk meneruskan semua traffic cluster ke node yang diharapkan.
Anda dapat mengontrol perilaku ini menggunakan kolom berikut dalam metadata instance atau dalam file instance_configs.cfg
:
enable-wsfc
: jika disetel ketrue
, agen akan mengabaikan semua informasi penerusan IP dan mulai merespons port health check. Setelan default-nya adalahfalse
.wsfc-agent-port
: menentukan port tempat agen merespons health check. Setelan default-nya adalah59998
.wsfc-addrs
: daftar alamat IP yang dipisahkan koma. Setelan lanjutan ini memungkinkan Anda memiliki IP penerusan normal dan IP cluster pada instance yang sama. Jika Anda menyetel ini, agen hanya akan melewati konfigurasi otomatis untuk IP dalam daftar ini. Secara default, nilai ini tidak ditetapkan.
Langkah berikutnya
- Untuk mempelajari cara mengelola agen tamu, lihat Mengonfigurasi agen tamu