Snapshot disk standar membantu Anda mencadangkan data secara berkala dari Persistent Disk dan Google Cloud Hyperdisk Anda.
Anda dapat melihat, mencantumkan, dan menghapus snapshot disk. Anda juga dapat membagikan snapshot antar-project.
Sebelum memulai
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola snapshot standar, minta administrator Anda untuk memberi Anda peran IAM berikut pada project:
-
Admin Instance Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Untuk terhubung ke VM yang dapat dijalankan sebagai akun layanan:
Service Account User (v1) (
roles/iam.serviceAccountUser
)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola snapshot standar. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola snapshot standar:
-
Untuk mencantumkan snapshot:
compute.snapshots.list
di project -
Untuk melihat informasi tentang snapshot:
compute.snapshots.get
di snapshot -
Untuk menghapus snapshot:
compute.snapshots.delete
di snapshot -
Untuk menghapus snapshot berdasarkan filter:
-
compute.snapshots.delete
di snapshot -
compute.snapshots.list
pada project
-
-
Untuk membagikan data snapshot ke berbagai project:
-
compute.storageAdmin
di project (untuk mengakses semua snapshot standar) -
compute.disks.create
pada project yang akan dibagikan -
compute.snapshots.create
di project sumber -
compute.disks.createSnapshot
pada disk sumber
-
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Menampilkan snapshot standar di sebuah project atau lokasi
Anda dapat melihat atau membuat daftar snapshot standar di project atau lokasi menggunakan gcloud CLI, Google Cloud Console, atau REST.
Konsol
Di konsol Google Cloud, buka halaman Snapshots.
Di tab Snapshots, Anda dapat melihat snapshot standar untuk project saat ini.
Opsional. Persempit hasil dengan kolom Filter filter_list. Masukkan nama atau nilai properti di kolom Filter, atau pilih dari properti yang tersedia.
gcloud
Untuk melihat daftar snapshot yang tersedia bagi Anda dalam project tertentu, gunakan perintah gcloud compute snapshots list
.
gcloud compute snapshots list --project=PROJECT_ID
Opsional. Ganti PROJECT_ID
dengan project ID.
Jika Anda menghilangkan flag ini, project saat ini akan digunakan. Anda dapat menetapkan project default untuk sesi Anda menggunakan perintah gcloud CLI gcloud config set project PROJECT_ID
.
REST
Untuk melihat daftar snapshot yang tersedia bagi Anda di project tertentu, buat permintaan GET
ke metode snapshots.list
.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
Ganti PROJECT_ID
dengan project ID.
Menampilkan snapshot standar untuk disk
Anda dapat melihat daftar snapshot standar untuk disk menggunakan Konsol Google Cloud, gcloud CLI,atau REST.
Konsol
Di konsol Google Cloud, buka halaman Snapshots.
Pada tab Snapshots, daftar semua snapshot standar dalam project akan muncul.
Persempit hasil menurut disk sumber:
Masukkan
Source disk:
di kolom filter_list Filter, atau klik kolom Filter, lalu pilih nilaiSource disk
dari daftar Properties.Pilih nama disk dari daftar Values yang muncul di samping
Source disk:
dalam kolom Filter.Snapshot yang ditampilkan di konsol kini menampilkan semua snapshot standar untuk disk yang ditentukan.
Jika Anda tidak melihat nama disk dalam daftar Values, pada kolom Filter di samping
Source disk:
, ketik beberapa huruf pertama dari nama disk sumber untuk mengubah daftar nilai yang Anda lihat.
gcloud
Tampilkan daftar snapshot standar untuk disk dengan
perintah gcloud compute snapshots list
dan argumen --filter
.
Menampilkan daftar snapshot standar untuk disk zona:
gcloud compute snapshots list --filter="sourceDisk:projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
Buat daftar snapshot standar untuk disk regional:
gcloud compute snapshots list --filter=sourceDisk:projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME
Ganti kode berikut:
PROJECT_ID
: ID project.SOURCE_ZONE
: (Khusus disk zona) nama zona untuk disk, misalnya,us-west1-a
.SOURCE_REGION
: (Khusus disk regional) nama region untuk disk, misalnya,us-west1
.DISK_NAME
: nama disk, misalnya,disk-1
.
REST
Mencantumkan snapshot standar untuk disk zona atau regional dengan permintaan GET
ke
metode snapshots.list
.
Gunakan parameter kueri filter=sourceDisk
untuk menentukan nama disk.
Menampilkan daftar snapshot standar untuk disk zona:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME'
Buat daftar snapshot standar untuk disk regional:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME'
Ganti kode berikut:
PROJECT_ID
: ID project.SOURCE_ZONE
: (Khusus disk zona) nama zona untuk disk, misalnya,us-west1-a
.SOURCE_REGION
: (Khusus disk regional) nama region untuk disk, misalnya,us-west1
.DISK_NAME
: nama disk sumber, misalnyadisk-1
.
Melihat informasi tentang snapshot standar
Ambil informasi mendetail tentang snapshot standar, seperti waktu pembuatan, disk sumber, dan ukurannya menggunakan Konsol Google Cloud, Google Cloud CLI, atau REST.
Konsol
Di konsol Google Cloud, buka halaman Snapshots.
Pada tab Snapshots, lihat daftar snapshot di project.
Di kolom Name, klik nama snapshot standar. Halaman Detail snapshot untuk snapshot yang dipilih akan muncul, yang menampilkan propertinya.
gcloud
Untuk melihat informasi tentang snapshot standar, gunakan
perintah gcloud compute snapshots describe
.
gcloud compute snapshots describe SNAPSHOT_NAME
Ganti SNAPSHOT_NAME
dengan nama
snapshot standar.
REST
Buat permintaan GET
ke metode snapshots.get
.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
Ganti kode berikut:
PROJECT_ID
: nama project yang berisi snapshot standar.SNAPSHOT_NAME
: nama snapshot standar.
Menghapus snapshot
Compute Engine menggunakan snapshot diferensial sehingga setiap snapshot hanya berisi data yang telah berubah sejak snapshot sebelumnya. Karena snapshot berikutnya mungkin memerlukan informasi yang disimpan dalam snapshot sebelumnya, perlu diingat bahwa menghapus snapshot tidak berarti menghapus semua data pada snapshot tersebut.
Untuk mempelajari penghapusan snapshot lebih lanjut, baca Penghapusan snapshot.
Konsol
Buka halaman Snapshots di Konsol Google Cloud.
Pilih satu atau beberapa snapshot yang ingin Anda hapus.
Di bagian atas halaman Snapshots, klik Delete.
gcloud
Untuk menghapus snapshot, gunakan
perintah gcloud compute snapshots delete
.
gcloud compute snapshots delete SNAPSHOT_NAME
Ganti SNAPSHOT_NAME dengan nama snapshot yang ingin Anda hapus.
Go
Java
Node.js
Python
REST
Buat permintaan DELETE
ke metode snapshots.delete
untuk menghapus snapshot.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
Ganti kode berikut:
- PROJECT_ID: nama project Anda
- SNAPSHOT_NAME: nama snapshot yang akan dihapus.
Menghapus beberapa snapshot berdasarkan filter
Compute Engine menggunakan snapshot diferensial sehingga setiap snapshot hanya berisi data yang telah berubah sejak snapshot sebelumnya. Karena snapshot berikutnya mungkin memerlukan informasi yang disimpan dalam snapshot sebelumnya, menghapus snapshot tidak selalu menghapus semua data pada snapshot tersebut.
Untuk mempelajari penghapusan snapshot lebih lanjut, baca Penghapusan snapshot.
Anda dapat menghapus sejumlah snapshot berdasarkan filter tertentu. Untuk mengetahui informasi lebih lanjut cara menggunakan filter dengan gcloud CLI, lihat filter topik gcloud CLI.
Untuk menghapus snapshot, gunakan kombinasi perintah gcloud compute snapshots list
dengan filter tertentu, dan perintah gcloud compute snapshots delete
dengan xargs
.
gcloud compute snapshots list --filter="EXPRESSION" --uri | xargs gcloud compute snapshots delete
Ganti EXPRESSION
dengan filter topik gcloud CLI.
Misalnya, --filter="creationTimestamp<'2023-12-31'"
menghapus semua snapshot
yang dibuat sebelum 31 Desember 2023.
Berbagi data snapshot di berbagai project dalam organisasi yang sama
Anda dapat menggunakan prosedur ini untuk memindahkan data dari disk dalam satu project ke disk di project yang berbeda dalam organisasi yang sama.
gcloud
Buat snapshot standar di project tujuan menggunakan perintah
gcloud compute snapshots create
. Misalnya, untuk membuat snapshot Persistent Disk atau Hyperdisk zona, gunakan perintah berikut:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \ --project DESTINATION_PROJECT_ID
Ganti kode berikut:
- SNAPSHOT_NAME: Nama untuk snapshot baru.
- SOURCE_PROJECT_ID: ID project untuk disk sumber.
- ZONE: Zona disk sumber.
- SOURCE_DISK_NAME: Nama disk sumber.
- DESTINATION_PROJECT_ID: ID project tujuan untuk snapshot baru.
Di project tujuan, buat disk zona atau regional yang berdasarkan snapshot menggunakan perintah
gcloud compute disks create
:gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --project DESTINATION_PROJECT_ID
Ganti kode berikut:
- DISK_NAME: Nama untuk disk baru.
- SNAPSHOT_NAME: Nama snapshot.
- DESTINATION_PROJECT_ID: ID project tujuan untuk disk baru.
REST
Buat snapshot standar di project tujuan dengan memanggil metode
snapshots.insert
. Misalnya, untuk mengambil snapshot Persistent Disk atau Hyperdisk zona, buat permintaan berikut:POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME }
Ganti kode berikut:
- DESTINATION_PROJECT_ID: ID project tujuan untuk snapshot baru.
- SNAPSHOT_NAME: Nama untuk snapshot.
- SOURCE_PROJECT_ID: ID project disk sumber.
- SOURCE_ZONE: Zona disk sumber.
- SOURCE_DISK_NAME: Nama disk sumber.
Di project tujuan, buat disk zona atau regional yang berdasarkan snapshot dengan menggunakan metode
disks.insert
zona atau metoderegionDisks.insert
regional.Misalnya, untuk membuat disk zona, buat permintaan berikut:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/zones/DESTINATION_ZONE/disks { "name": DISK_NAME "sourceSnapshot": SNAPSHOT_NAME }
Ganti kode berikut:
- DESTINATION_PROJECT_ID: ID project tujuan untuk disk baru.
- DESTINATION_ZONE: Zona dalam project tujuan untuk disk baru.
- DISK_NAME: Nama untuk disk baru.
- SNAPSHOT_NAME: Nama snapshot.
Untuk mendapatkan daftar snapshot yang tersedia bagi Anda, lihat Melihat snapshot standar di suatu project atau lokasi.
Berbagi snapshot di berbagai project dalam organisasi yang berbeda
Anda dapat menggunakan prosedur ini untuk membagikan snapshot standar dalam sebuah project di satu organisasi dengan project yang berbeda di organisasi lain.
gcloud
Dalam project sumber, buat disk berdasarkan snapshot dengan menggunakan perintah
gcloud compute disks create
.gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --project SOURCE_PROJECT_ID \ --zone ZONE
Ganti kode berikut:
- DISK_NAME: Nama untuk disk baru.
- SNAPSHOT_NAME: Nama snapshot.
- SOURCE_PROJECT_ID: ID project sumber.
- ZONE: Zona untuk membuat disk baru.
Disk ini adalah disk sementara yang dibuat hanya untuk menyalin snapshot di seluruh organisasi.
Pada project tujuan, buat snapshot menggunakan perintah
gcloud compute snapshots create
.Misalnya, untuk membuat snapshot menggunakan disk zona yang dibuat pada langkah pertama, gunakan perintah berikut:
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/DISK_NAME \ --project DESTINATION_PROJECT_ID
Ganti kode berikut:
- SNAPSHOT_NAME: Nama untuk snapshot.
- SOURCE_PROJECT_ID: ID project yang berisi disk sumber.
- ZONE: Zona disk sumber.
- DISK_NAME: Nama disk yang dibuat di langkah 1.
- DESTINATION_PROJECT_ID: ID project tujuan untuk snapshot baru.
Untuk mendapatkan daftar snapshot yang tersedia bagi Anda, lihat Melihat snapshot standar di suatu project atau lokasi.
Hapus disk sementara yang dibuat pada langkah pertama menggunakan perintah
gcloud compute disks delete
.gcloud compute disks delete DISK_NAME \ --project SOURCE_PROJECT_ID --zone ZONE
Ganti kode berikut:
- DISK_NAME: Nama disk yang dibuat di langkah 1.
- SOURCE_PROJECT_ID: ID project yang berisi disk sumber.
- ZONE: Zona disk.
REST
Di project sumber, buat disk zona atau regional berdasarkan snapshot menggunakan metode
disks.insert
zona.Misalnya, untuk membuat disk zona, buat permintaan berikut:
POST https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks { "name": DISK_NAME "sourceSnapshot": SNAPSHOT_NAME }
Ganti kode berikut:
- SOURCE_PROJECT_ID: ID project sumber untuk disk baru.
- SOURCE_ZONE: Zona untuk disk baru.
- DISK_NAME: Nama untuk disk baru.
- SNAPSHOT_NAME: Nama snapshot.
Disk ini adalah disk sementara yang dibuat hanya untuk menyalin snapshot di seluruh organisasi.
Buat snapshot di project tujuan dengan memanggil metode
snapshots.insert
.Misalnya, untuk membuat snapshot menggunakan disk zona yang dibuat pada langkah pertama, gunakan perintah berikut:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME }
Ganti kode berikut:
- DESTINATION_PROJECT_ID: ID project tujuan untuk snapshot baru.
- SNAPSHOT_NAME: Nama untuk snapshot.
- SOURCE_PROJECT_ID: ID project yang berisi disk sumber.
- SOURCE_ZONE: Zona disk sumber.
- DISK_NAME: Nama disk sumber.
Hapus disk sementara yang dibuat pada langkah pertama menggunakan metode
disks.delete
.DELETE https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
Ganti kode berikut:
- SOURCE_PROJECT_ID: ID project yang berisi disk sementara.
- SOURCE_ZONE: Zona disk.
- DISK_NAME: Nama disk sementara yang dibuat pada langkah 1.
Langkah selanjutnya
- Pelajari cara membuat snapshot terjadwal untuk disk.
- Pelajari cara membuat disk image dari snapshot Anda.