Tentang metadata VM


Setiap instance mesin virtual (VM) menyimpan metadatanya di server metadata. VM Anda otomatis memiliki akses ke API server metadata tanpa otorisasi tambahan. Metadata disimpan sebagai pasangan nilai kunci.

Dokumen ini memberikan ringkasan tentang metadata VM dan menjelaskan jenis dan properti metadata VM.

Penggunaan metadata VM

Bagian berikut menjelaskan beberapa skenario saat Anda dapat menggunakan entri metadata untuk mengelola VM.

Skrip startup dan shutdown

Server metadata sangat berguna saat digunakan bersama skrip startup dan shutdown karena Anda dapat menggunakan server metadata untuk mendapatkan informasi unik secara terprogram tentang VM, tanpa otorisasi tambahan.

Misalnya, Anda dapat menulis skrip startup yang mendapatkan key-value pair metadata untuk IP eksternal VM dan menggunakan IP tersebut dalam skrip Anda untuk menyiapkan database. Karena kunci metadata yang telah ditetapkan Compute Engine sama pada setiap VM, Anda dapat menggunakan kembali skrip tanpa harus memperbaruinya untuk setiap VM. Hal ini membantu Anda membuat kode yang tidak terlalu rapuh untuk aplikasi Anda.

Pemeliharaan host

Server metadata memberikan informasi tentang opsi penjadwalan VM melalui entri direktori metadata scheduling/ dan atribut maintenance-event. Anda dapat menggunakan nilai metadata ini untuk memberi tahu saat peristiwa pemeliharaan akan terjadi, sehingga Anda dapat menyiapkan lingkungan untuk peristiwa tersebut. Untuk informasi selengkapnya, lihat Mendapatkan pemberitahuan migrasi langsung.

Atribut tamu

Atribut tamu adalah jenis metadata kustom tertentu yang dapat digunakan untuk menulis aplikasi Anda saat berjalan di VM. Gunakan atribut tamu hanya untuk kasus penggunaan yang memerlukan sedikit data yang tidak sering berubah. Untuk mengetahui informasi selengkapnya tentang atribut tamu, lihat Menetapkan dan mengkueri atribut tamu.

Pertimbangan keamanan metadata

Saat Anda membuat permintaan untuk mendapatkan informasi dari server metadata, permintaan Anda dan respons metadata berikutnya tidak akan pernah keluar dari host fisik yang menjalankan VM.

Namun, setiap proses yang dapat mengueri URL metadata, akan memiliki akses ke semua nilai di server metadata. Hal ini mencakup nilai metadata kustom yang Anda tulis ke server. Google merekomendasikan agar Anda berhati-hati saat menulis nilai sensitif ke server metadata atau saat menjalankan proses pihak ketiga.

Kunci metadata yang telah ditentukan sebelumnya dan kustom

Setiap entri metadata disimpan di server metadata sebagai key-value pair. Kunci metadata peka huruf besar/kecil. Kunci Anda dapat berupa kunci metadata yang telah ditetapkan atau kunci metadata kustom.

Kunci metadata yang telah ditentukan sebelumnya

Kunci metadata yang telah ditetapkan adalah kunci metadata yang dibuat oleh Compute Engine. Saat Anda membuat VM, Compute Engine secara otomatis menetapkan nilai metadata untuk beberapa kunci ini di VM tersebut, misalnya ID instance VM atau project ID. Untuk kunci yang telah ditentukan sebelumnya dengan Compute Engine tidak menetapkan nilai secara otomatis, Anda dapat memilih dari serangkaian nilai yang tersedia berdasarkan konfigurasi sistem. Misalnya, untuk mengaktifkan login OS untuk VM, Anda dapat menetapkan nilai kunci standar enable-oslogin ke TRUE untuk VM tersebut. Untuk menonaktifkan login OS bagi VM tersebut, Anda dapat memperbarui nilai kunci menjadi FALSE. Anda hanya dapat memperbarui nilai untuk kunci ini, tetapi tidak dapat memperbarui nilai kunci itu sendiri.

Untuk mengetahui informasi lebih lanjut tentang kunci metadata yang telah ditetapkan dan daftar kunci tersebut, baca bagian Kunci metadata yang telah ditetapkan sebelumnya.

Kunci metadata kustom

Dengan metadata kustom, Anda dapat membuat dan menggunakan key-value pair metadata Anda sendiri pada setiap VM atau project. Anda dapat menambahkan kunci metadata kustom yang baru, memperbarui nilai kunci yang ada, dan menghapus entri metadata kustom apa pun saat Anda tidak membutuhkannya. Menyetel metadata kustom berguna untuk meneruskan nilai arbitrer ke VM dalam suatu project. Hal ini juga berguna untuk membuat skrip startup dan shutdown.

Untuk mempelajari cara menambahkan, memperbarui, atau menghapus metadata kustom untuk VM Anda, lihat Mengonfigurasi metadata kustom.

Jenis-jenis metadata

Entri metadata VM dapat memberikan informasi khusus untuk setiap VM atau project. Metadata Anda dibagi menjadi metadata project dan instance, berdasarkan jenis informasi yang diberikannya.

Metadata project

Metadata project memberikan informasi tentang project. Metadata project dibagi lebih lanjut menjadi jenis berikut, bergantung pada cakupan yang Anda tentukan untuk metadata project:

  • Metadata seluruh project adalah metadata project yang Anda tentukan dengan cakupan project. Anda menetapkan metadata ini pada level project dan metadata tersebut akan disebarkan ke semua VM di project tersebut.

    Anda dapat menggunakan kunci metadata kustom dan yang telah ditetapkan sebelumnya untuk menetapkan metadata di seluruh project. Pelajari lebih lanjut kunci metadata project standar dan cara menetapkan metadata kustom tingkat project.

  • Metadata zona project (Pratinjau) adalah metadata project yang Anda tentukan dengan cakupan zona dalam project. Metadata yang Anda tetapkan hanya akan diterapkan ke VM di zona yang dikonfigurasi dalam project tersebut. Metadata zona project membantu Anda dalam mengisolasi kesalahan dan memberikan keandalan yang lebih baik. Anda juga dapat menggunakan metadata zona project untuk mengganti nilai tingkat project untuk semua kunci yang sudah ada dan menggunakan nilai khusus zona.

    Compute Engine tidak menyediakan kunci yang telah ditetapkan untuk metadata zona project. Anda harus membuat kunci metadata zona project kustom Anda sendiri. Pelajari lebih lanjut cara menetapkan metadata zona project kustom.

Metadata instance

Metadata instance memberikan informasi tentang instance VM tertentu. Anda menetapkan metadata instance secara terpisah untuk setiap instance VM.

Anda dapat menggunakan kunci metadata standar dan kustom untuk menetapkan metadata instance. Pelajari lebih lanjut kunci metadata instance yang telah ditetapkan dan cara Menetapkan metadata instance kustom.

Bagaimana {i>metadata <i}diatur

Compute Engine menyimpan dan mengelola kunci dan nilai metadata untuk VM dan project Anda di listingan direktori. Bergantung pada jenis metadata, Compute Engine menyimpan entri metadata di salah satu direktori berikut:

Jenis {i>metadata<i} Direktori
  • Metadata tingkat project
  • Metadata zona project

http://metadata.google.internal/computeMetadata/v1/project/
Metadata instance

http://metadata.google.internal/computeMetadata/v1/instance/

Setiap direktori menyimpan entri metadata dalam bentuk key-value pair. Beberapa entri metadata juga merupakan direktori yang berisi kunci metadata lain. Entri metadata yang berfungsi sebagai direktori ditandai dengan garis miring (/) pada nama kunci metadata. Misalnya, /project/attributes/ adalah direktori dalam direktori project/ yang berisi kunci metadata lain. Untuk membuat listingan direktori metadata sendiri, Anda harus menggunakan garis miring (/) pada nama kunci metadata saat membuat entri metadata kustom.

Entri metadata zona project dan project disimpan di direktori project/ yang sama. Jika Anda menetapkan nilai yang berbeda untuk kunci metadata kustom yang sama untuk VM di tingkat project dan di tingkat zona project, nilai metadata zona project untuk kunci tersebut akan lebih diutamakan daripada nilai metadata tingkat project di zona masing-masing.

  • Jika Anda menambahkan nilai metadata zona project untuk kunci metadata yang sudah memiliki nilai seluruh project, Compute Engine akan mengganti nilai seluruh project untuk VM di zona yang ditentukan ini dan memperbarui direktori /project dengan nilai zona project.
  • Jika Anda menambahkan nilai metadata tingkat project baru untuk kunci metadata yang sudah memiliki nilai zona project, tidak akan ada perubahan. Compute Engine mempertahankan nilai zona project di direktori /project di zona tertentu.
  • Jika Anda tidak menentukan nilai zona project untuk kunci metadata kustom di zona tertentu, tetapi kunci tersebut memiliki nilai tingkat project, VM Anda akan terus memiliki nilai seluruh project di zona tersebut.

Misalnya, Anda menentukan pasangan metadata tingkat project dari key-1=value-1. Misalkan Anda juga menentukan pasangan metadata zona project key-1=zonal-value-1 hanya untuk zona us-central1-a. Semua VM di zona us-central1-a untuk project Anda mewarisi key-1=zonal-value1 sebagai pasangan metadata. Pasangan metadata tetap key-1=value-1 untuk semua VM di zona lain tempat Anda belum menetapkan metadata zona project untuk key-1.

Apa langkah selanjutnya?