Anda dapat menggunakan satu permintaan dari Google Cloud CLI atau Compute Engine API untuk memperbarui beberapa properti instance dan secara opsional memulai ulang instance, jika diperlukan. Metode pembaruan menangani logika untuk memvalidasi properti instance yang diperbarui dan memastikan bahwa resource yang diperlukan tersedia agar pembaruan berhasil dilakukan. Jika permintaan menyertakan properti yang tidak valid atau jika resource yang diminta tidak tersedia, permintaan akan menampilkan error dan tidak membuat perubahan pada instance Anda. Tindakan ini melindungi instance dari pembaruan parsial dan melindungi instance agar tidak dihentikan dan tidak dapat mengakses resource untuk memulai kembali.
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.
- Permintaan pembaruan instance melalui gcloud CLI atau
Compute Engine API tidak mendukung semantik
PATCH
. Resource instance dalam permintaan pembaruan harus menyertakan semua properti instance. Properti yang tidak ada dalam konfigurasi instance pada permintaan pembaruan Anda dianggap sudah dihapus dari instance. - Anda hanya dapat memperbarui daftar properti tertentu.
- Mengubah instance ke dan dari tenancy tunggal tidak didukung.
- Anda dapat mengubah instance dari satu pemesanan ke pemesanan lainnya, tetapi Anda tidak dapat melampirkan atau melepaskan instance ke pemesanan menggunakan proses pembaruan.
- Jika instance memiliki SSD lokal yang terpasang, Anda tidak dapat memperbarui properti yang mengharuskan instance untuk dimulai ulang. Anda harus menghapus, lalu membuat ulang instance. Pastikan Anda memigrasikan data penting dari SSD lokal ke persistent disk atau ke VM lain sebelum menghapus VM.
- Jika instance menggunakan resource yang hanya tersedia di
Compute Engine API beta, Anda harus menggunakan versi
metode
instances.update
yang benar untuk memperbarui properti tersebut. Misalnya, jika Anda membuat instance menggunakan Compute Engine API beta dan mengonfigurasi instance dengan resource yang hanya dikenali API beta, Anda juga harus menggunakan metodeinstances.update
versi beta untuk memperbarui resource tersebut. Versi v1 metodeinstances.update
tidak mengenali resource beta yang digunakan instance Anda, sehingga akan menghapus resource beta tersebut dari konfigurasi instance selama proses pembaruan. Hal ini juga berlaku untuk resource di API alfa. - Izin
compute.instances.update
pada instance yang ingin Anda perbarui. - Izin
compute.disks.use
untuk disk yang ada ataucompute.disks.create
pada project tempat Anda ingin membuat disk baru. - Jika memungkinkan, gunakan versi Compute Engine API yang sama secara konsisten untuk membuat, menetapkan, dan memperbarui instance. Ini memastikan Anda dapat memperbarui dan mengubah resource instance jika resource tersebut hanya tersedia dalam satu versi API.
- Meskipun Anda dapat menggunakan metode
instances.update
untuk memperbarui instance dalam grup instance terkelola (MIG), untuk sebagian besar situasi, sebaiknya ubah template instance grup dan luncurkan pembaruan ke MIG. NO_EFFECT
: Permintaan pembaruan memeriksa apakah permintaan tersebut valid dan apakah resource tersedia, tetapi tidak menjalankan pembaruan. Gunakan metode ini untuk menguji perintah tanpa memulai pembaruan yang sebenarnya.REFRESH
: Permintaan pembaruan hanya berjalan jika properti instance yang diubah tidak mengharuskan instance untuk dimulai ulang. Permintaan akan menampilkan errorINFEASIBLE
jika permintaan tersebut valid, tetapi perlu dimulai ulang.RESTART
: Jika pembaruan mengharuskan instance dimulai ulang, sistem akan memulai ulang instance.disks
- Boot diskdisks.deviceName
- Semua disk
displayDevice
enableNestedVirtualization
guestAccelerators
machineType
minCpuPlatform
networkPerformanceConfig
performanceMonitoringUnit
reservationAffinity
resourcePolicies
scheduling
serviceAccounts
shieldedInstanceConfig
threadsPerCore
visibleCoreCount
canIpForward
deletionProtection
description
disks
- Properti non-boot disk, kecualideviceName
labels
metadata
nodeAffinities
tags
- Ekspor properti konfigurasi instance yang ada.
- Ubah properti konfigurasi instance.
- Jalankan permintaan pengujian dengan menetapkan
NO_EFFECT
sebagai tindakan yang paling mengganggu. Responsnya menunjukkan kolom yang tidak valid dalam konfigurasi instance dan menunjukkan tindakan yang diperlukan untuk menerapkan perubahan. - Jika konfigurasi dapat diterima, minta pembaruan instance dan tentukan tindakan paling mengganggu yang dapat diterima untuk pembaruan instance Anda.
- Properti
fingerprint
instance dalam permintaan Anda harus cocok denganfingerprint
instance yang sedang Anda perbarui. Hal ini mencegah permintaan pembaruan yang simultan pada instance yang sama agar tidak saling menimpa. - Properti dalam permintaan pembaruan Anda harus valid.
- Resource yang Anda minta harus tersedia.
- Jika properti dalam permintaan Anda mengharuskan instance dimulai ulang, permintaan
Anda harus menentukan
RESTART
sebagai tindakan yang diizinkan. Gunakan perintah
instances export
untuk mengekspor properti instance yang ada:gcloud compute instances export INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --destination=FILE_PATH
Ganti kode berikut:
INSTANCE_NAME
: nama untuk instance yang ingin Anda ekspor.PROJECT_ID
: project ID untuk permintaan ini.ZONE
: zona untuk instance ini.FILE_PATH
: jalur output tempat Anda ingin menyimpan file konfigurasi instance di workstation lokal Anda.
Gunakan editor teks untuk mengubah satu atau beberapa properti dalam file konfigurasi instance yang diekspor. Untuk mempelajari properti yang dapat Anda perbarui, lihat daftar properti yang dapat diperbarui. Misalnya, untuk mengubah jenis mesin instance, ubah properti
machineType
:⋮ machineType: https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE ⋮
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.ZONE
: zona untuk instance ini.MACHINE_TYPE
: jenis mesin instance. Misalnya,n1-standard-2
.
Gunakan perintah
instances update-from-file
untuk menjalankan pembaruan pengujian instance target. Tentukan flag--most-disruptive-allowed-action=NO_EFFECT
. Responsnya mengidentifikasi properti yang salah dikonfigurasi dan menunjukkan apakah tindakanRESTART
atauREFRESH
diperlukan untuk menerapkan pembaruan.gcloud compute instances update-from-file INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --source=FILE_PATH \ --most-disruptive-allowed-action NO_EFFECT
Ganti kode berikut:
INSTANCE_NAME
: nama untuk instance yang ingin Anda ekspor.PROJECT_ID
: project ID untuk permintaan ini.ZONE
: zona untuk instance ini.FILE_PATH
: jalur ke file konfigurasi instance yang diubah di workstation lokal Anda.
Gunakan perintah
instances update-from-file
untuk memperbarui instance target. Jika Anda memperbarui properti yang mengharuskan instance dimulai ulang, sertakan flag--most-disruptive-allowed-action=RESTART
. Jika properti tidak memerlukan mulai ulang, tentukan flag--most-disruptive-allowed-action=REFRESH
. Untuk mempelajari properti mana yang memerlukan mulai ulang, lihat daftar properti yang dapat diperbarui.gcloud compute instances update-from-file INSTANCE_NAME \ --project PROJECT_ID \ --zone ZONE \ --source=FILE_PATH \ --most-disruptive-allowed-action ALLOWED_ACTION
Ganti kode berikut:
INSTANCE_NAME
: nama untuk instance yang ingin Anda ekspor.PROJECT_ID
: project ID untuk permintaan ini.ZONE
: zona untuk instance ini.FILE_PATH
: jalur ke file konfigurasi instance yang diubah di workstation lokal Anda.ALLOWED_ACTION
: menentukan seberapa mengganggu pembaruan. TentukanRESTART
agar instance dapat dimulai ulang sepenuhnya. TentukanREFRESH
untuk memperbarui instance, hanya jika properti yang diubah tidak mengharuskan instance untuk dimulai ulang.
Gunakan metode
instances.get
di Compute Engine API untuk mengekspor properti instance yang ada:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.ZONE
: zona untuk instance ini.INSTANCE_NAME
: nama untuk instance yang ingin Anda ekspor.
Permintaan ini menampilkan definisi resource instance.
Dalam respons, ubah properti resource instance. Untuk mempelajari properti yang dapat diperbarui, lihat daftar properti yang dapat diperbarui. Misalnya, untuk mengubah jenis mesin instance, ubah properti
machineType
. Anda dapat mengubah beberapa properti.{ ⋮ "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", ⋮ }
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.ZONE
: zona untuk instance ini.MACHINE_TYPE
: jenis mesin instance. Misalnya,n1-standard-2
.
Gunakan metode
instances.update
di Compute Engine API dan tentukanmost_disruptive_allowed_action=NO_EFFECT
untuk menjalankan pembaruan pengujian instance target. Responsnya mengidentifikasi properti yang salah dikonfigurasi dan menunjukkan apakah tindakanRESTART
atauREFRESH
diperlukan untuk menerapkan update.PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?most_disruptive_allowed_action=NO_EFFECT { ⋮ "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n1-standard-2", ⋮ }
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.ZONE
: zona untuk instance ini.INSTANCE_NAME
: nama untuk instance yang ingin Anda ekspor.
Gunakan metode
instances.update
di Compute Engine API untuk memperbarui instance target. Jika Anda memperbarui properti yang mengharuskan instance dimulai ulang, sertakan parameter kueri?most_disruptive_allowed_action=RESTART
untuk menunjukkan bahwa instance dapat dimulai ulang selama pembaruan. Jika properti tidak memerlukan mulai ulang, tentukan parameter kueri?most_disruptive_allowed_action=REFRESH
. Untuk mempelajari properti mana yang memerlukan mulai ulang, lihat daftar properti yang dapat diperbarui. Sertakan isi lengkap untuk resource instance yang Anda ubah. Pada contoh berikut, isi mengubah jenis mesin menjadin1-standard-2
:PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?most_disruptive_allowed_action=ALLOWED_ACTION { ⋮ "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n1-standard-2", ⋮ }
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.ZONE
: zona untuk instance ini.INSTANCE_NAME
: nama untuk instance yang ingin Anda ekspor.ALLOWED_ACTION
: menentukan seberapa mengganggu pembaruan. TentukanRESTART
agar instance dapat dimulai ulang sepenuhnya. TentukanREFRESH
untuk memperbarui instance, hanya jika properti yang diubah tidak mengharuskan instance dimulai ulang.
- Periksa status instance.
- Pelajari cara memesan resource di zona tertentu.
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
Izin
Anda harus memiliki izin
compute.instances.update
untuk memperbarui instance. Izin ini disertakan dalam beberapa peran Identity and Access Management (IAM) yang ada. Anda juga harus memiliki izin untuk menggunakan resource yang ingin Anda ubah pada instance. Misalnya, untuk menambahkan disk ke instance, Anda harus memiliki izin berikut:Praktik terbaik
Untuk memastikan antarmuka pembaruan instance berfungsi paling efektif untuk Anda, gunakan praktik terbaik berikut:
Properti yang dapat diperbarui
Anda hanya dapat mengubah kumpulan properti instance tertentu melalui metode pembaruan. Pembaruan pada beberapa properti mengharuskan instance dimulai ulang. Untuk mencegah mulai ulang yang tidak disengaja pada instance, permintaan Anda harus menentukan tindakan yang dapat diambil pada instance Anda. Permintaan Anda dapat menentukan salah satu tindakan berikut:
Properti yang memerlukan
RESTART
untuk pembaruan:Properti yang hanya memerlukan
REFRESH
untuk pembaruan:Memperbarui properti instance
Perbarui instance Anda menggunakan langkah-langkah berikut:
Sistem akan memulai proses pembaruan hanya jika permintaan Anda memenuhi persyaratan berikut:
Jika persyaratan terpenuhi, sistem akan memulai proses pembaruan instance. Jika tidak, sistem tidak akan membuat perubahan pada instance yang ada atau konfigurasinya.
Anda dapat memulai pembaruan menggunakan gcloud CLI atau Compute Engine API.
gcloud
Jika permintaan pembaruan valid dan resource yang diperlukan tersedia, proses pembaruan instance akan dimulai. Anda dapat memantau status operasi ini dengan melihat log audit. Jika pembaruan perlu dimulai ulang dan perintah Anda mengizinkan
RESTART
, instance akan dimulai ulang untuk menerapkan perubahan.REST
Jika permintaan pembaruan valid dan resource yang diperlukan tersedia, proses pembaruan instance akan dimulai. Anda dapat memantau status operasi ini dengan melihat log audit. Jika pembaruan perlu dimulai ulang dan perintah Anda mengizinkan
RESTART
, instance akan dimulai ulang untuk menerapkan perubahan.Langkah berikutnya
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.
-