Untuk mengakses data yang diambil dalam snapshot instan, Anda harus memulihkan atau membuat disk baru dari snapshot instan.
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 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
-
Pembatasan
Berlaku batasan berikut:
Jika Anda membuat disk dari snapshot instan, disk baru selalu memiliki jenis, lokasi penyimpanan, 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.
Pertimbangkan contoh ini. Bayangkan Anda memiliki disk
DISK-1
yang 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 Anda 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 konsol Google Cloud, Anda tidak perlu menentukan kunci enkripsi.
Membuat disk dari snapshot instan
Snapshot instan dienkripsi dengan enkripsi yang sama dengan disk sumbernya. Langkah-langkah untuk membuat disk dari snapshot instan bergantung pada cara enkripsi disk sumber snapshot instan.
Setiap disk sumber dienkripsi dengan salah satu metode berikut:
- Kunci enkripsi yang dikelola Google. Ini adalah setelan defaultnya.
- Kunci enkripsi yang dikelola pelanggan (Customer-Managed Encryption Key/CMEK)
- Kunci enkripsi yang disediakan pelanggan (CSEK).
Untuk mengetahui cara disk tertentu dienkripsi, lihat Melihat informasi tentang enkripsi disk.
Membuat disk dari snapshot instan yang dienkripsi dengan enkripsi yang dikelola Google (default)
Anda dapat membuat disk dari snapshot instan dengan gcloud CLI, Google Cloud Console, atau REST.
Konsol
Temukan snapshot instan yang ingin Anda pulihkan:
Di Konsol Google Cloud, buka halaman Snapshots.
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 Deskripsi, 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 untuk 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
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Gunakan perintah
gcloud beta compute disks create
. Argumen yang Anda tentukan bergantung pada apakah Anda membuat disk zonal atau regional.Membuat disk zona
Tentukan zona dengan flag
--zone
:gcloud beta 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 beta 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 zona atau regional dari snapshot instan, gunakan metode disks.insert.
Membuat disk zona
Buat permintaan POST
, yang menentukan snapshot instan sumber.
POST https://compute.googleapis.com/compute/beta/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/beta/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 CMEK atau CSEK
Konsol
Jika snapshot instan menggunakan enkripsi default Google atau CMEK, Konsol Google Cloud akan otomatis menyediakan kunci enkripsi saat Anda membuat disk dari snapshot instan. Jika tidak, jika snapshot instan dienkripsi CSEK, Anda harus memberikan kunci enkripsi untuk membuat disk.
Ikuti langkah-langkah di bagian enkripsi yang dikelola Google, yang menentukan kunci enkripsi menggunakan petunjuk ini:
- Di bagian Decryption, masukkan kunci enkripsi di kolom Encryption key.
- Jika kunci digabungkan dengan kunci RSA publik, pilih Wrapped key.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Gunakan perintah
gcloud beta compute disks create
.Jika disk sumber dienkripsi CMEK, gunakan parameter
--kms-key
untuk memberikan nama kunci.Jika disk sumber dienkripsi CSEK, gunakan parameter
--csek-key-file
untuk menentukan kunci enkripsi disk sumber.CMEK
Untuk membuat disk zona dari snapshot instan terenkripsi CMEK, gunakan perintah berikut:
gcloud beta 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 tersebut berada. Jika key ring bersifat global, tentukanglobal
. Jika tidak, tentukan nama wilayah 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 snapshot instan yang dienkripsi CSEK, gunakan perintah berikut:
gcloud beta 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 zona 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 CMEK atau CSEK atau tidak.
Contoh berikut menunjukkan cara membuat disk zona 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 tersebut berada. Jika key ring bersifat global, tentukanglobal
. Jika tidak, tentukan nama wilayah 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 (dienkripsi non-RSA), tentukan kunci tersebut di properti diskEncryptionKey.rawKey
dalam 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
POST
ke metode disk.insert versi beta:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/disks/insert
Tentukan kunci di properti
diskEncryptionKey.rsaEncryptedKey
dari 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 informasi selengkapnya.