Setelah membuat image mesin, Anda dapat menggunakannya untuk membuat salinan instance VM sumber. Untuk mengetahui informasi selengkapnya tentang penggunaan image mesin, lihat kapan harus menggunakan image mesin.
Image mesin berisi sebagian besar informasi dan data yang diperlukan untuk cloning instance.
Image mesin tidak dapat diubah. Namun, Anda dapat mengganti hampir semua properti image mesin saat membuat instance dari image mesin.
Anda dapat membuat instance dari image mesin menggunakan Konsol Google Cloud, Google Cloud CLI, atau REST.
Sebelum memulai
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Anda dapat membuat maksimal 6 VM dari image mesin sumber dalam 60 menit. Jika Anda melebihi batas ini, operasi pembuatan instance akan gagal dan menampilkan error seperti berikut:
Operation rate exceeded for resource 'projects/test/global/machineImages/machine-image-1'. Too frequent operations from the source resource.
Untuk membuat lebih banyak VM dari batas yang ditetapkan (6 VM dalam 60 menit), buat image mesin tambahan dari VM sumber atau buat image mesin berumur singkat dari VM baru. Anda kemudian dapat membuat sejumlah VM yang diperlukan dari image mesin baru.
Anda tidak dapat membuat VM dari image mesin dengan persistent disk regional yang terpasang menggunakan konsol Google Cloud. Gunakan Google Cloud CLI atau REST dan tentukan parameter
replicaZones
dandeviceName
untuk setiap persistent disk regional yang terpasang. Untuk mengetahui informasi selengkapnya, baca artikel Membuat VM dari image mesin dengan penggantian properti.Di konsol Google Cloud, buka halaman Create an instance.
Klik Instance VM baru dari image mesin.
Pilih image mesin, lalu klik Continue.
Opsional: Sesuaikan detail VM.
Klik Buat.
VM_NAME
: nama VM yang akan dibuat.ZONE
: zona untuk VM.SOURCE_MACHINE_IMAGE_NAME
: image mesin yang akan digunakan untuk membuat VM.PROJECT_ID
: Project ID Anda..ZONE
: zona untuk VM.VM_NAME
: nama VM yang akan dibuat.SOURCE_MACHINE_IMAGE_URL
: URL lengkap atau sebagian dari image mesin yang ingin Anda gunakan untuk membuat VM. Misalnya, jika Anda memiliki image mesin bernamamy-machine-image
dalam project bernamamyProject
. URL berikut valid:https://www.googleapis.com/compute/v1/projects/myProject/global/machineImages/my-machine-image
projects/myProject/global/machineImages/my-machine-image
global/machineImages/my-machine-image
- Anda tidak dapat mengganti properti disk yang terpasang selain nama disk saat membuat VM dari image mesin.
Anda harus menentukan parameter
replicaZones
untuk setiap persistent disk regional yang terpasang besertadeviceName
disk regional dari image mesin.Jika VM sumber yang digunakan untuk membuat image mesin dan VM baru termasuk dalam project dan region yang sama, hal berikut akan berlaku:
- Sebagian besar properti instance sumber dan VM baru sama. Properti yang berbeda adalah seperti alamat IP sementara yang ditetapkan secara otomatis.
- Jika instance VM sumber masih ada saat Anda membuat VM baru, VM baru tersebut tidak dapat menggunakan nama dan zona yang sama dengan instance sumber.
Jika VM sumber yang digunakan untuk membuat image mesin dan VM baru berada dalam project yang sama tetapi berbeda region, hal berikut akan berlaku:
- Anda harus mengganti semua resource zona dan regional untuk VM baru. Misalnya, jika Anda membuat instance VM dari image mesin yang instance sumbernya berada di region berbeda, Anda perlu mengganti resource regional seperti subnetwork dan aturan firewall regional. Namun, resource global seperti load balancer dan akun layanan tidak memerlukan penggantian, kecuali jika Anda ingin mengubahnya.
Di konsol Google Cloud, buka halaman Create an instance.
Klik Instance VM baru dari image mesin.
Pilih image mesin, lalu klik Continue.
Opsional: Sesuaikan detail VM.
Klik Buat.
Untuk detail penyiapan selengkapnya, baca artikel Membuat instance VM dari image.
PROJECT_ID
: ID project.ZONE
: zona untuk VM.VM_NAME
: nama VM yang akan dibuat.NEW_MACHINE_TYPE
: jenis mesin yang ingin Anda gunakan untuk VM.SOURCE_MACHINE_IMAGE_URL
: URL lengkap atau sebagian dari image mesin yang ingin Anda gunakan untuk membuat instance. Misalnya, jika Anda memiliki image mesin bernamamy-machine-image
dalam project bernamamyProject
. URL berikut valid:https://www.googleapis.com/compute/v1/projects/myProject/global/machineImages/my-machine-image
projects/myProject/global/machineImages/my-machine-image
global/machineImages/my-machine-image
- Jika Anda mengganti kolom dasar, kolom dasar yang terkait
pada image mesin akan diganti dengan nilai kolom dasar
dalam permintaan. Kolom dasar mencakup parameter seperti
machineType
danname
. - Jika Anda mengganti kolom berulang, semua nilai berulang untuk properti tersebut akan diganti dengan nilai yang sesuai yang diberikan dalam permintaan.
Kolom berulang umumnya merupakan properti dari jenis
list
. Misalnya,disks
dannetworkInterfaces
adalah kolom berulang. - Jika Anda mengganti
nested object
, objek dalam image mesin akan digabungkan dengan spesifikasi objek yang sesuai dalam permintaan. Perlu diketahui bahwa jika objek bertingkat berada dalam kolom berulang, kolom tersebut akan diperlakukan sesuai dengan aturan untuk kolom berulang. Label adalah pengecualian untuk aturan ini, dan diperlakukan sebagai kolom berulang meskipun label adalah jenisobject
. Berikan akses ke image mesin yang disimpan di project lain.
Izin dapat diberikan pada project sumber atau image mesin. Gunakan perintah
gcloud compute machine-images add-iam-policy-binding
untuk memberikan izin pada image mesin.gcloud compute machine-images add-iam-policy-binding MACHINE_IMAGE_NAME \ --project=MACHINE_IMAGE_PROJECT \ --member='ACCOUNT_EMAIL' \ --role='roles/compute.admin'
Ganti kode berikut:
MACHINE_IMAGE_PROJECT
: project ID untuk project yang berisi image mesin sumber.MACHINE_IMAGE_NAME
: nama image mesin yang ingin Anda tambahkan binding izin.ACCOUNT_EMAIL
: alamat emailserviceAccount
atauuser
yang membuat VM. Pastikan email diformat untuk menyertakan awalan yang diperlukan, dan awalan tersebut harus salah satu dari berikut ini:user:
tentukan hal ini jika alamat email dikaitkan dengan akun pengguna. Contoh:user:user@example.com
.serviceAccount:
tentukan ini jika alamat email dikaitkan dengan akun layanan. Contoh:serviceAccount:123456789000-compute@developer.gserviceaccount.com
.
Contoh
Misalnya, untuk menambahkan binding
compute.admin
ke image mesin yang bernamamy-machine-image
ke email akun layanan123456789000-compute@developer.gserviceaccount.com
, gunakan perintahgcloud
berikut:gcloud compute machine-images add-iam-policy-binding my-machine-image \ --project=machine-image-project \ --member='serviceAccount:123456789000-compute@developer.gserviceaccount.com' \ --role='roles/compute.admin'
Berikan peran Service Account User (
roles/iam.serviceAccountUser
) kepada pengguna yang menjalankan perintahgcloud compute instances create
di akun layanan yang terkait dengan image mesin.Gunakan perintah
gcloud compute instances create
untuk membuat VM dari image mesin.gcloud compute instances create VM_NAME \ --project=VM_PROJECT_ID \ --zone=ZONE \ --source-machine-image=projects/MACHINE_IMAGE_PROJECT/global/machineImages/MACHINE_IMAGE_NAME \ --service-account=SERVICE_ACCOUNT_EMAIL \ --subnet=SUBNET
Ganti kode berikut:
VM_PROJECT_ID
: project ID untuk project tempat Anda ingin membuat VMVM_NAME
: nama VM yang akan dibuatZONE
: zona untuk VMMACHINE_IMAGE_PROJECT
: project ID project tempat image mesin beradaMACHINE_IMAGE_NAME
: image mesin yang akan digunakan untuk membuat VMSERVICE_ACCOUNT_EMAIL
: alamat email akun layanan yang ingin Anda lampirkan ke VMSUBNET
: jika subnet dan instance berada dalam project yang sama, ganti SUBNET dengan nama subnet yang berada di region yang sama dengan instanceUntuk menentukan subnet di jaringan VPC Bersama, ganti
SUBNET
dengan string dalam format berikut:projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
Ganti kode berikut:
HOST_PROJECT_ID
: project ID dari project host VPC BersamaREGION
: region subnetSUBNET_NAME
: nama subnet.
Contoh
Misalnya, perintah berikut akan membuat VM bernama
my-instance
divm-project
, dalam zonaus-east1-b
, dari image mesin yang disebutmy-machine-image
.Flag
--service-account
menentukan akun layanan yang ingin dilampirkan ke VM yang baru dibuat. Jika flag ini tidak diberikan, akun layanan sumber tidak dapat dibagikan di kedua project dan operasi akan gagal.gcloud compute instances create my-instance \ --project=vm-project \ --zone=us-east1-b \ --source-machine-image=projects/machine-image-project/global/machineImages/my-machine-image \ --service-account=000123456789-compute@developer.gserviceaccount.com
Setelah VM dibuat, outputnya akan terlihat seperti berikut:
Created [https://www.googleapis.com/compute/v1/projects/project-12345/zones/us-east1-b/instances/my-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS my-instance us-east1-b e2-standard-2 192.0.2.1 203.224.0.113 RUNNING
- Pelajari image mesin lebih lanjut
- Pelajari cara membuat instance VM lebih lanjut
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Pembatasan
Batasan berikut berlaku saat Anda membuat VM dari image mesin:
Membuat VM dari image mesin (tanpa penggantian)
Jika Anda ingin membuat VM yang sepenuhnya didasarkan pada image mesin tanpa perubahan pada propertinya, gunakan metode ini.
Konsol
gcloud
Gunakan perintah
gcloud compute instances create
untuk membuat instance dari image mesin.gcloud compute instances create VM_NAME \ --zone=ZONE \ --source-machine-image=SOURCE_MACHINE_IMAGE_NAME
Ganti kode berikut:
Contoh
Misalnya, Anda dapat menggunakan perintah
gcloud
berikut untuk membuat VM bernamamy-instance
di zonaus-east1-b
, dari image mesin yang disebutmy-machine-image
.gcloud compute instances create my-instance \ --zone=us-east1-b \ --source-machine-image=my-machine-image
Setelah VM dibuat, outputnya akan terlihat seperti berikut:
Created [https://www.googleapis.com/compute/v1/projects/project-12345/zones/us-east1-b/instances/my-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS my-instance us-east1-b e2-standard-2 192.0.2.1 203.224.0.113 RUNNING
REST
Di API, buat permintaan
POST
ke metodeinstances.insert
. Dalam isi permintaan, sertakan parameter berikut:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "sourceMachineImage": "SOURCE_MACHINE_IMAGE_URL" }
Ganti kode berikut:
Membuat VM dari image mesin dengan penggantian properti
Jika Anda ingin membuat VM yang utamanya berdasarkan image mesin tetapi dengan beberapa perubahan, Anda dapat menggunakan perilaku penggantian. Untuk menggunakan perilaku penggantian, Anda meneruskan atribut untuk mengganti properti image mesin yang ada saat membuat instance.
Saat Anda menggunakan fitur penggantian, pertimbangkan hal-hal berikut:
Konsol
gcloud
Gunakan perintah
gcloud compute instances create
untuk membuat instance dari image mesin dan menambahkan properti yang ingin Anda ganti.Misalnya, Anda dapat menggunakan perintah
gcloud
berikut untuk membuat VM bernamamy-instance
di zonaus-east1-b
, dari image mesin yang disebutmy-machine-image
. Dalam contoh ini, penggantian diterapkan untuk mengubah jenis mesin, menghentikan kebijakan pemeliharaan host, dan mengonfigurasi persistent disk regional dengan namaregional-disk-0
.gcloud compute instances create my-instance \ --zone=us-east1-b \ --source-machine-image=my-machine-image \ --machine-type=e2-standard-2 \ --maintenance-policy=TERMINATE \ --create-disk=device-name=boot-device-0,boot=true,auto-delete=true \ --create-disk=device-name=regional-disk-0,\ replica-zones=^:^us-east1-b:us-east1-c,boot=false
REST
Untuk mengganti properti image mesin selama pembuatan VM, gunakan
instances.insert()
API dan berikan kolom apa pun yang ingin diganti dalam isi permintaan.Di API, buat permintaan
POST
ke metodeinstances.insert
. Dalam isi permintaan, sertakan parametersourceMachineImage
dan penggantian yang Anda perlukan. Anda dapat menambahkan properti apa pun yang biasanya ditetapkan selama pembuatan instance. Misalnya, untuk mengubah jenis mesin, panggilan API Anda akan menyertakan parametermachineType
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/NEW_MACHINE_TYPE", "sourceMachineImage": "SOURCE_MACHINE_IMAGE_URL" }
Ganti kode berikut:
Perilaku penggantian
Perilaku penggantian dalam API mengikuti aturan patch penggabungan JSON, yang dijelaskan oleh RFC 7396. Singkatnya, aturan berikut berlaku:
Misalnya, jika Anda ingin membuat VM dari image mesin, dan membuat persistent disk regional dengan VM, gunakan penggantian untuk disk tersebut sehingga Anda dapat menentukan opsi
replicaZones
. Karena kolomdisks
adalah kolom berulang, Anda harus menentukan konfigurasi disk untuk semua disk yang terpasang dan boot disk, bukan hanya disk regional.POST /compute/projects/my-proj/zones/us-west1-a/instances { "name": "vm-from-image", "sourceMachineImage": "global/machineImages/my-machine-image", "disks": [ { "kind": "compute#attachedDisks", "boot": true, "autoDelete": true, "deviceName": "boot-device", "initializeParams": { "sourceImage": "projects/my-proj/global/images/my-image", "diskType": "projects/my-proj/zones/us-west1-a/diskTypes/pd-standard", } }, { "kind": "compute#attachedDisk", "boot": false, "autoDelete": true, "deviceName": "regional-device-0", "initializeParams": { "diskType": "projects/my-proj/zones/us-west1-a/diskTypes/pd-standard", "replicaZones": [ "projects/my-proj/zones/us-west1-a", "projects/my-proj/zones/us-west1-c" ] } } ] }
Membuat VM menggunakan image mesin dari project berbeda
Saat membuat VM menggunakan image mesin dari project lain, Anda mungkin tidak memiliki akses ke akun layanan yang terkait dengan project sumber tersebut. Jika ingin membuat VM dari image mesin yang terletak di project berbeda, pastikan Anda memiliki akses ke image mesin dan mengganti properti akun layanan pada VM baru.
Jika Anda membagikan image mesin di seluruh project yang menggunakan jaringan VPC Bersama, Anda harus menentukan detail VPC Bersama secara eksplisit saat membuat VM dari image mesin. Misalnya, saat Anda membuat VM di project non-host, berikan detail VPC Bersama project host menggunakan opsi
--network
,--subnet
, atau--network-interface
.Bagian berikut menguraikan cara membuat VM dari image mesin yang terletak di project yang berbeda menggunakan Google Cloud CLI.
Apa langkah selanjutnya?
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-12-22 UTC.
-