Untuk mengakses data yang diambil dalam snapshot instan, Anda harus memulihkan, atau membuat disk baru dari snapshot instan tersebut.
Halaman ini menjelaskan cara membuat disk dari snapshot instan. Setelah membuat disk, Anda dapat menggunakannya dengan memasangnya ke mesin virtual (VM).
Sebelum memulai
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
- Tetapkan 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.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat disk dari snapshot instan, minta administrator untuk memberi Anda peran IAM berikut pada project:
- Compute Instance Admin (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 ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat disk dari snapshot instan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat disk dari snapshot instan:
-
compute.disks.createdi project tujuan untuk disk baru -
compute.instantSnapshots.useReadOnlypada snapshot instan sumber -
Jika snapshot instan sumber adalah boot disk instance yang memiliki akun layanan terlampir:
iam.serviceAccounts.actAsdi akun layanan instance -
Untuk membuat disk dari grup konsistensi instant snapshot:
-
compute.disks.createdi project tujuan -
compute.instantSnapshots.useReadOnlypada snapshot instan sumber -
compute.resourcePolicies.useReadOnlypada snapshot instan sumber -
compute.instantSnapshotGroups.useReadOnlypada grup konsistensi sumber snapshot instan
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Batasan
Batasan berikut berlaku untuk instant snapshot dan grup konsistensi instant snapshot:
Saat Anda membuat disk dari snapshot instan, disk baru selalu memiliki jenis, lokasi, dan enkripsi yang sama dengan disk sumber snapshot.
Anda tidak dapat membuat VM langsung dari snapshot instan. Anda harus membuat disk dari snapshot instan, lalu menggunakan disk baru untuk membuat VM.
Jika disk sumber snapshot instan menggunakan kunci enkripsi yang dikelola pelanggan atau yang disediakan pelanggan, Anda harus memberikan kunci enkripsi yang sama saat membuat disk baru dari snapshot instan.
Perhatikan contoh berikut. Bayangkan Anda memiliki disk,
DISK-1yang dienkripsi dengan kunci enkripsi yang disediakan pelanggan (CSEK),KEY-1. Anda juga memiliki snapshot instan,IS-1, yang dibuat dariDISK-1. Untuk membuat disk baru dariIS-1, Anda harus memberikan kunci yang sama,KEY-1, saat membuat disk baru.Jika disk dienkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK), Anda hanya perlu memberikan kunci jika menggunakan REST atau gcloud CLI untuk membuat disk. Jika menggunakan konsolGoogle Cloud , Anda tidak perlu menentukan kunci enkripsi.
Saat Anda membuat disk baru dari grup konsistensi snapshot instan, lokasi disk baru sama dengan grup konsistensi sumber snapshot instan.
Membuat disk dari snapshot instan
Instant snapshot dienkripsi dengan enkripsi yang sama dengan disk sumbernya. Langkah-langkah untuk membuat disk dari snapshot instan bergantung pada cara disk sumber snapshot instan dienkripsi.
Setiap disk sumber dienkripsi dengan salah satu metode berikut:
- Google-owned and Google-managed encryption keys. Ini adalah defaultnya.
- Kunci enkripsi yang dikelola pelanggan (Customer-Managed Encryption Key/CMEK)
- Kunci enkripsi yang disediakan pelanggan (CSEK).
Untuk mengetahui cara mengenkripsi disk tertentu, lihat Melihat informasi tentang enkripsi disk.
Membuat disk dari snapshot instan yang dienkripsi dengan enkripsi default
Anda dapat membuat disk dari snapshot instan dengan gcloud CLI, Google Cloud konsol, atau REST.
Konsol
Temukan snapshot instan yang ingin Anda pulihkan:
Di konsol Google Cloud , buka halaman Snapshot.
Klik tab Instant snapshot.
Di kolom Name, klik nama snapshot instan yang ingin dipulihkan.
Klik Create disk.
Di kolom Name, masukkan nama baru untuk disk.
Opsional: Di kolom Description, masukkan detail tambahan.
Pastikan Disk source type adalah Instant snapshot.
Pada daftar Source instant snapshot, pilih snapshot instan.
Opsional: Konfigurasikan penyesuaian tambahan untuk disk.
- Masukkan ukuran: Di kolom Size, tentukan ukuran disk dalam GB. Ukuran harus sama dengan atau lebih besar dari ukuran disk sumber untuk snapshot.
- Jadwalkan pencadangan: Jika Anda ingin Compute Engine membuat snapshot standar disk baru ini sesuai jadwal, centang kotak Enable snapshot schedule, lalu pilih snapshot jadwal proyek. Jika tidak, hapus centang pada kotak.
Opsional: Untuk mengatur project Anda, tambahkan satu atau beberapa label.
Untuk membuat disk, klik Buat.
gcloud
Gunakan
perintah gcloud compute disks create.
Argumen yang Anda tentukan bergantung pada apakah Anda membuat disk zonal atau regional.
Membuat disk zonal
Tentukan zona dengan flag --zone:
gcloud compute disks create DISK_NAME --zone=ZONE \ --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME
Ganti kode berikut:
DISK_NAME: nama disk baru.ZONE: zona untuk disk baru, misalnya,europe-west1-a.SOURCE_INSTANT_SNAPSHOT_NAME: nama snapshot instan sumber.
Membuat disk regional
Tentukan region dengan --region dan zona replikasi target disk baru dengan --replica-zones.
gcloud compute disks create DISK_NAME \ --region=REGION \ --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \ --replica-zones=ZONE1,ZONE2
Ganti kode berikut:
DISK_NAME: nama disk baru.REGION: region tempat disk regional berada, misalnya:europe-west1.SOURCE_INSTANT_SNAPSHOT_NAME: nama snapshot instan sumber.ZONE1,ZONE2: zona dalam region tempat dua replika disk berada, misalnya:europe-west1-b,europe-west1-c.
REST
Untuk membuat disk zonal atau regional dari snapshot instan, gunakan
metode disks.insert. Disk
baru harus sama dengan jenis disk sumber snapshot instan. Misalnya, Anda tidak dapat membuat disk regional dari snapshot disk zona.
Membuat disk zonal
Buat permintaan POST, yang menentukan snapshot instan sumber.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/SOURCE_ZONE/disks/insert
{
"name": "NEW_DISK_NAME",
"sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME"
}
Ganti kode berikut:
PROJECT: project tempat disk baru akan dibuat.SOURCE_ZONE: zona tempat snapshot instan berada, misalnya,us-central1-a. Disk dibuat di zona ini.NEW_DISK_NAME: nama unik untuk disk baru.SOURCE_INSTANT_SNAPSHOT_NAME: nama snapshot instan sumber.
Membuat disk regional
Buat permintaan POST, dengan menentukan snapshot instan sumber dan
zona tempat disk harus direplikasi.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/region/SOURCE_REGION/disks/insert
{
"name": "NEW_DISK_NAME",
"sourceInstantSnapshot": "projects/PROJECT/regions/SOURCE_REGION/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME",
"replicaZones": [
"projects/PROJECT/zones/ZONE1",
"projects/PROJECT/zones/ZONE2"
]
}
Ganti kode berikut:
PROJECT: project tempat disk baru akan dibuat.SOURCE_REGION: region tempat snapshot instan berada. Disk tersebut dibuat di region ini.NEW_DISK_NAME: nama unik untuk disk baru.SOURCE_INSTANT_SNAPSHOT_NAME: nama snapshot instan sumber.ZONE1,ZONE2: zona dalam region untuk dua replika disk, misalnya,europe-west1-b,europe-west1-c.
Respons permintaan API
Jika permintaan POST berhasil, isi respons akan menjadi objek yang dapat Anda polling untuk mendapatkan status pembuatan disk. Lihat
Menangani respons API
untuk informasi selengkapnya.
Membuat disk dari snapshot instan yang dienkripsi dengan CMEK atau CSEK
Konsol
Jika snapshot instan menggunakan enkripsi default Google atau CMEK,konsol akan otomatis menyediakan kunci enkripsi saat Anda membuat disk dari snapshot instan. Google Cloud Jika tidak, jika instant snapshot dienkripsi dengan CSEK, Anda harus memberikan kunci enkripsi untuk membuat disk.
Ikuti langkah-langkah di bagian enkripsi yang dikelola Google, dengan menentukan kunci enkripsi menggunakan petunjuk berikut:
- Di bagian Dekripsi, masukkan kunci enkripsi di kolom Kunci enkripsi.
- Jika kunci digabungkan dengan kunci RSA publik, pilih Wrapped key.
gcloud
Gunakan
perintah gcloud compute disks create.
Jika disk sumber dienkripsi dengan CMEK, gunakan parameter
--kms-key untuk memberikan nama kunci.
Jika disk sumber dienkripsi dengan CSEK, gunakan parameter --csek-key-file untuk menentukan kunci enkripsi disk sumber.
CMEK
Untuk membuat disk zona dari Instant Snapshot yang dienkripsi CMEK, gunakan perintah berikut:
gcloud compute disks create NEW_DISK_NAME \
--zone=SOURCE_ZONE \
--source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \
--kms-key=projects/KMS_PROJECT_NAME/locations/KEYRING_LOCATION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Ganti kode berikut:
NEW_DISK_NAME: nama disk baru.SOURCE_ZONE: zona tempat snapshot instan disimpan, misalnya,europe-west1-a.-
SOURCE_INSTANT_SNAPSHOT_NAME: nama snapshot instan sumber. KMS_PROJECT_NAME: project yang berisi kunci.KEYRING_LOCATION: lokasi key ring tempat kunci berada. Jika key ring bersifat global, tentukanglobal. Jika tidak, tentukan nama region tempat key ring berada, misalnya,us-west1.KEY_RING_NAME: nama key ring yang menyertakan kunci, misalnya,key-ring-1.KEY_NAME: nama kunci yang digunakan untuk mengenkripsi disk.
CSEK
Untuk membuat disk zona dari Instant Snapshot yang dienkripsi CSEK, gunakan perintah berikut:
gcloud compute disks create NEW_DISK_NAME \
--zone=SOURCE_ZONE \
--source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \
--csek-key-file=PATH_TO_CSEK_JSON_FILE
Ganti kode berikut:
NEW_DISK_NAME: nama disk baru.SOURCE_ZONE: zona tempat snapshot instan disimpan, misalnya,europe-west1-a.-
SOURCE_INSTANT_SNAPSHOT_NAME: nama snapshot instan sumber. CSEK_JSON_FILE: Jalur ke file JSON yang berisi kunci. Lihat contoh format file CSEK.
Untuk membuat disk regional, ganti flag --zone dalam
contoh sebelumnya dengan flag berikut:
--region: region untuk disk baru--replica-zones: zona dalam region untuk dua replika disk.
REST
Untuk membuat disk zonal atau regional dari snapshot instan yang dienkripsi CMEK atau CSEK, buat permintaan POST ke
metode disks.insert
menggunakan properti yang tercantum di bagian
Enkripsi yang dikelola Google.
Selain itu, berikan kunci enkripsi disk sumber dengan kolom diskEncryptionKey. Properti kolom diskEncryptionKey bergantung pada apakah disk dienkripsi dengan CMEK atau CSEK.
Contoh berikut menunjukkan cara membuat disk zonal baru untuk setiap jenis enkripsi.
CMEK
Dalam isi permintaan, tentukan nama kunci dengan properti
diskEncryptionKey.kmsKeyName:
{
"name": "NEW_DISK_NAME",
"sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME",
"diskEncryptionKey": {
"kmsKeyName": "projects/KMS_PROJECT/locations/LOCATION/keyRings/KEYRING_LOCATION/cryptoKeys/KEY_NAME"
}
}
Ganti kode berikut:
NEW_DISK_NAME: nama unik untuk disk baru.PROJECT: project tempat disk baru akan dibuat.SOURCE_ZONE: zona tempat snapshot instan berada, misalnya,us-central1-a. Disk dibuat di zona ini.SOURCE_INSTANT_SNAPSHOT_NAME: nama snapshot instan sumber.KMS_PROJECT: project yang berisi kunci.LOCATION: lokasi key ring tempat kunci berada. Jika key ring bersifat global, tentukanglobal. Jika tidak, tentukan nama region tempat key ring berada, misalnya,us-west1.KEY_RING: nama key ring yang menyertakan kunci, misalnya,key-ring-1.KEY: nama kunci yang digunakan untuk mengenkripsi disk.
CSEK
Isi permintaan bergantung pada apakah CSEK yang digunakan untuk mengenkripsi snapshot instan dienkripsi dengan RSA atau tidak.
Untuk menggunakan kunci mentah (tidak dienkripsi RSA), tentukan kunci dalam
properti diskEncryptionKey.rawKey isi permintaan:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/SOURCE_ZONE/disks/insert
{
"name": "NEW_DISK_NAME",
"sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME,
"diskEncryptionKey": {
"rawKey": "RAW_ENCRYPTION_KEY"
}
}
Ganti nilai berikut dengan nilai yang sesuai:
PROJECT: project tempat disk baru akan dibuat.SOURCE_ZONE: zona tempat snapshot instan berada, misalnya,us-central1-a. Disk dibuat di zona ini.NEW_DISK_NAME: nama unik untuk disk baru.SOURCE_INSTANT_SNAPSHOT_NAME: nama snapshot instan sumber.RAW_ENCRYPTION_KEY: Kunci yang digunakan untuk mengenkripsi snapshot instan dan disk sumbernya, misalnya,SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=.
Untuk menggunakan kunci yang dienkripsi RSA, ubah contoh sebelumnya sebagai berikut:
Buat permintaan
POSTke metodedisks.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/insert
Tentukan kunci di properti
diskEncryptionKey.rsaEncryptedKeydari isi permintaan:"diskEncryptionKey": { "rsaEncryptedKey": "RSA_ENCRYPTED_KEY" }
Ganti RSA_ENCRYPTED_KEY dengan kunci terenkripsi Anda.
Respons permintaan API
Jika permintaan POST berhasil, isi respons akan menjadi objek yang dapat Anda polling untuk mendapatkan status pembuatan disk. Lihat
Menangani respons API
untuk mengetahui informasi selengkapnya.
Membuat disk dari grup konsistensi snapshot instan
Jika Anda mencadangkan grup disk dengan grup snapshot instan yang konsisten, Anda dapat membuat disk baru dari grup snapshot tersebut. Setelah membuat disk baru, Anda dapat menambahkannya ke grup konsistensi jika perlu.
gcloud
Cara Anda membuat disk dari grup snapshot instan bergantung pada apakah semua disk dalam grup konsistensi berada di zona yang sama, untuk disk zona, atau region yang sama, untuk disk regional.
Jika grup konsistensi snapshot instan berisi campuran disk regional dan zonal, atau jika snapshot instan berada di zona yang berbeda, Anda harus memulihkan setiap snapshot instan ke disk baru satu per satu menggunakan perintah
gcloud compute disks create. Untuk mengetahui petunjuk tentang cara membuat disk dari snapshot instan, lihat Membuat disk dari snapshot instan.Jika semua disk dalam grup konsistensi adalah disk regional di region yang sama atau disk zona di zona yang sama, gunakan
gcloud compute disks bulk create command.Untuk membuat disk zona dari grup konsistensi Instant Snapshot:
gcloud compute disks bulk create \ --zone=ZONE \ --source-instant-snapshot-group=SOURCE_INSTANT_SNAPSHOT_GROUP \ --source-instant-snapshot-group-zone=SOURCE_ZONE
Ganti kode berikut:
ZONE: zona tempat disk baru Anda berada.SOURCE_INSTANT_SNAPSHOT_GROUP: Nama grup konsistensi snapshot yang Anda pulihkan.SOURCE_ZONE: zona tempat grup konsistensi snapshot sumber berada.
Untuk membuat disk regional dari grup konsistensi snapshot instan:
gcloud compute disks bulk create \ --region=REGION \ --source-instant-snapshot-group=SOURCE_INSTANT_SNAPSHOT_GROUP \ --source-instant-snapshot-group-region=SOURCE_REGION
Ganti kode berikut:
REGION: region tempat disk baru Anda berada.SOURCE_INSTANT_SNAPSHOT_GROUP: Nama grup konsistensi snapshot yang Anda pulihkan.SOURCE_REGION: region tempat grup konsistensi snapshot sumber berada.
REST
Cara Anda membuat disk dari grup snapshot instan bergantung pada apakah semua disk dalam grup konsistensi berada di zona yang sama, untuk disk zona, atau region yang sama, untuk disk regional.
Jika grup konsistensi snapshot instan berisi campuran disk regional dan zonal, atau jika snapshot instan berada di zona yang berbeda, Anda harus memulihkan setiap snapshot instan ke disk baru satu per satu menggunakan metode
disks.insert. Untuk mengetahui petunjuk tentang cara membuat disk dari Instant Snapshot, lihat Membuat disk dari Instant Snapshot.Jika semua disk dalam grup konsistensi adalah disk zonal di zona yang sama atau disk regional di region yang sama, buat permintaan
POSTke metodedisks.bulkInsert. Di bagian isi, tentukansourceInstantSnapshotGroup.Untuk membuat disk zona dari grup konsistensi Instant Snapshot:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/bulkInsert --data-ascii { "instantSnapshotGroupParameters": { "sourceInstantSnapshotGroup": "zones/ZONE/instantSnapshotGroups/INSTANT_SNAPSHOT_GROUP_NAME" } }Ganti kode berikut:
PROJECT_ID: project ID Anda.ZONE: zona tempat disk baru Anda berada.INSTANT_SNAPSHOT_GROUP_NAME: Nama grup konsistensi snapshot yang Anda pulihkan.
Untuk membuat disk regional dari grup konsistensi snapshot instan:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/bulkInsert --data-ascii { "instantSnapshotGroupParameters": { "sourceInstantSnapshotGroup": "regions/REGION/instantSnapshotGroups/INSTANT_SNAPSHOT_GROUP_NAME" } }Ganti kode berikut:
PROJECT_ID: project ID Anda.REGION: region tempat disk baru Anda berada.INSTANT_SNAPSHOT_GROUP_NAME: Nama grup konsistensi snapshot yang Anda pulihkan.
Opsional: Untuk menambahkan disk yang baru dibuat ke grup konsistensi, ikuti langkah-langkah di Menambahkan disk ke grup konsistensi.