Jika Anda memiliki disk virtual pada lingkungan lokal dengan software dan konfigurasi yang Anda perlukan (terkadang disebut sebagai disk emas atau image emas), Anda dapat menghemat waktu dengan mengimpor disk virtual tersebut ke dalam Compute Engine dan menggunakan image yang dihasilkan untuk membuat virtual machine. Alat impor Migrate to Virtual Machines mendukung sebagian besar format file disk virtual, termasuk VMDK dan VHD.
Sebelum memulai
- Aktifkan VM Migration API di project Anda. Untuk informasi selengkapnya tentang cara mengaktifkan VM Migration API, lihat Mengaktifkan layanan Migrate to Virtual Machines.
- Pastikan sistem operasi di disk didukung oleh Migrate to Virtual Machines. Untuk mengetahui informasi selengkapnya, lihat Sistem operasi yang didukung.
- Pastikan file image disk virtual yang ingin Anda impor didukung.
Format yang didukung
Anda dapat mengimpor file disk image virtual dalam format berikut menggunakan Migrate to Virtual Machines:
- Disk virtual machine (VMDK) - Opsi yang direkomendasikan, file VMDK diimpor lebih cepat
- QEMU copy-on-write (QCOW)
- QEMU copy-on-write 2 (QCOW2)
- Format disk yang ditingkatkan QEMU (QED)
- VPC
- Image disk virtual (VDI)
- Virtual hard disk v2 (VHDX)
- Hard disk virtual (VHD)
Selain format ini, file mentah yang dikompresi sebagai .tar.gz juga didukung. Pastikan file yang dikompresi berisi satu file bernama disk.raw.
Proses impor gambar
Untuk mengimpor disk image virtual ke image Compute Engine menggunakan Migrate to Virtual Machines, gunakan langkah-langkah berikut:
- Menyiapkan file disk image virtual untuk diimpor
- Memilih project target
- Mengimpor disk image virtual ke Compute Engine
Menyiapkan file disk virtual untuk diimpor
Untuk mengimpor disk image virtual ke image Compute Engine, Anda harus menyiapkan file disk image virtual terlebih dahulu untuk diimpor. Bagian berikut membahas tugas ini secara mendetail.
Menambahkan file image disk virtual ke Cloud Storage
Untuk mengimpor disk image virtual ke image Compute Engine, Anda harus menambahkan file disk image virtual ke Cloud Storage terlebih dahulu. Untuk informasi selengkapnya, lihat Mengupload objek dari sistem file. Untuk performa yang lebih baik, sebaiknya upload file image disk virtual ke bucket di region cloud yang sama dengan tempat Anda ingin membuat image.
Memberikan izin yang diperlukan
Untuk mengimpor disk image virtual ke image Compute Engine, berikan izin seperti yang dijelaskan dalam tabel berikut.
Peran | Izin diperlukan | Deskripsi |
---|---|---|
Storage Object Viewer | roles/storage.objectViewer |
Berikan peran roles/vmmigration.serviceAgent ke akun layanan Migrate to Virtual Machines default di project
host (service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com ) di bucket tempat
image yang ingin Anda impor berada. Izin ini memungkinkan
Migrate to Virtual Machines mengakses image sumber. |
VM Migration Administrator | roles/vmmigration.admin |
Di project host, berikan peran roles/vmmigration.admin ke akun pengguna yang ingin Anda gunakan untuk
mengimpor image sumber. |
Akun Layanan Migrasi VM | roles/vmmigration.serviceAgent |
Berikan peran roles/vmmigration.serviceAgent ke akun layanan Migrate to Virtual Machines default di project host (service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com ) pada project target. Misalnya, jika service-1234567890@gcp-sa-vmmigration.iam.gserviceaccount.com adalah akun layanan Migrate to Virtual Machines di project host, Anda harus memberikan peran roles/vmmigration.serviceAgent kepada akun layanan ini agar dapat membuat image di project target. |
Memilih project target
Untuk menghosting image Compute Engine, Anda harus membuat atau memilih project target. Project target menentukan project tujuan untuk image Compute Engine. Untuk informasi selengkapnya tentang cara membuat atau memilih project target, lihat Menambahkan project target.
Mengimpor image disk virtual ke Compute Engine
Anda dapat mengimpor image disk virtual ke Compute Engine menggunakan perintah konsol Google Cloud, Google Cloud CLI, atau REST API.
Konsol
Untuk mengimpor disk image virtual ke Compute Engine menggunakan konsol Google Cloud, gunakan langkah-langkah berikut.
- Buka halaman Migrate to Virtual Machines di konsol Google Cloud.
Buka halaman Migrate to Virtual Machines - Pilih tab Image Imports.
- Klik Create Image.
- Tentukan karakteristik gambar. Tabel berikut mencantumkan parameter yang dapat Anda tetapkan untuk gambar.
Judul bagian Nama kolom Deskripsi Umum Nama Nama image yang ingin Anda buat. Untuk informasi selengkapnya tentang aturan penamaan, lihat Konvensi penamaan. ID impor gambar ID yang mewakili resource impor gambar. Saat Anda mengimpor image ke Compute Engine, Migrate to Virtual Machines akan membuat resource impor image terlebih dahulu. Resource impor gambar mewakili proses impor gambar. Anda dapat menggunakan ID impor Gambar untuk mendapatkan link ke gambar yang diimpor sebagai bagian dari proses impor gambar. File Cloud Storage sumber File tempat Anda ingin mengimpor gambar. Klik Jelajahi untuk melihat daftar bucket dalam project saat ini, lalu pilih file tempat Anda ingin mengimpor gambar.
Jika ingin mengimpor gambar dari bucket dari project lain, Anda harus memasukkan jalur dalam format bucket/folder/file. Untuk mendapatkan jalur objek di dalam bucket, lihat Melihat metadata objek. Saat menyalin jalur, pastikan Anda tidak menyalin awalangs://
.
Perhatikan bahwa Anda hanya dapat mengimpor gambar dari file.vmdk
dan.tar.gz
.Wilayah Region tempat Anda ingin membuat image. Untuk mengetahui daftar region yang didukung, lihat Region dan zona. Project target Project target tempat Anda ingin membuat image. Jika Anda belum menambahkan project target, lakukan menggunakan petunjuk yang diberikan di Menambahkan project target. Kelompok (Opsional) Pilih kelompok image. Compute Engine menyediakan kelompok image untuk membantu Anda memastikan bahwa sistem otomatisasi dapat mereferensikan image terbaru. Sebagai administrator, Anda dapat mengelompokkan sekumpulan gambar sebagai kelompok image. Untuk informasi selengkapnya, lihat Kelompok image publik. Deskripsi (Opsional) Tambahkan deskripsi untuk gambar. Melewati adaptasi OS Untuk melewati adaptasi OS, klik tombol Skip OS adaptation ke posisi aktif.
Agar berfungsi dengan baik di Google Cloud, VM yang dibuat dari image yang diimpor memerlukan perubahan pada konfigurasinya. Perubahan ini disebut sebagai adaptasi OS. Migrate to Virtual Machines melakukan adaptasi OS secara otomatis dalam proses impor image. Untuk informasi selengkapnya, lihat Menyesuaikan instance VM agar dapat berjalan di Google Cloud.Mengeneralisasi Untuk membuat generalisasi gambar, klik tombol Generalize ke posisi aktif. Saat Anda membuat instance dari image, Windows akan menambahkan beberapa informasi unik ke instance. Generalisasi adalah proses yang menghapus informasi ini sehingga Anda dapat membuat beberapa instance dari gambar yang sama. Lisensi Jenis lisensi Compute Engine mendukung lisensi bayar sesuai penggunaan (PAYG) dan bring your own licenses (BYOL) untuk VM yang di-deploy. Jenis lisensi default untuk VM yang dimigrasikan ditetapkan oleh Migrate to Virtual Machines berdasarkan sistem operasi yang dimigrasikan, seperti yang dijelaskan dalam Sistem operasi yang didukung.
Jika sistem operasi Anda mendukung beberapa jenis lisensi, Anda dapat mengganti jenis lisensi default untuk menentukan jenis lisensi PAYG atau BYOL secara eksplisit.
Lisensi tambahan Lisensi tambahan Anda dapat menambahkan hingga 10 lisensi tambahan ke instance VM yang dibuat dari image yang diimpor menggunakan format URL yang valid. Misalnya, Anda dapat menambahkan lisensi tambahan menggunakan format URL berikut:
https://www.googleapis.com/compute/beta/projects/windows-sql-cloud/global/licenses/sql-server-2012-enterprise
Label Untuk mengatur project, tambahkan label sebagai key-value pair ke resource Anda. Lihat Mengelola resource menggunakan label. Enkripsi Kunci enkripsi yang dikelola Google Pilih opsi ini untuk menggunakan kunci enkripsi yang dikelola Google untuk mengenkripsi data Anda selama proses impor. Untuk informasi selengkapnya, lihat mengenkripsi data saat dalam penyimpanan. Kunci enkripsi yang dikelola pelanggan Pilih opsi ini untuk menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) guna mengenkripsi data Anda selama proses impor, dan data gambar yang dibuat oleh proses impor. Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan CMEK untuk mengenkripsi dan mendekripsi data. Kunci enkripsi ini dibuat, dikelola, dan dimiliki oleh Anda. Untuk informasi selengkapnya, lihat Melindungi resource dengan menggunakan kunci Cloud KMS.
Saat menambahkan CMEK, Anda harus memberikan izin seperti yang dijelaskan dalam tabel berikut.Peran Izin diperlukan Deskripsi Akun Layanan Migrasi VM Cloud roles/vmmigration.serviceAgen
Berikan izin ini ke akun layanan Compute Engine untuk mengenkripsi data image yang dibuat selama proses impor. Agen Layanan Compute Engine roles/compute.serviceAgent
Berikan izin ini kepada agen layanan Migrate to Virtual Machines untuk mengenkripsi data selama proses impor. - Pilih Create.
gcloud
Untuk mengimpor disk image virtual ke Compute Engine menggunakan Google Cloud CLI, gunakan permintaan berikut.
gcloud migration vms image-imports create IMAGE_NAME \ --source-file=SOURCE_FILE \ --location=REGION_ID \ --target-project=projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT
Ganti kode berikut:
IMAGE_NAME
: nama image yang ingin Anda buat. Untuk informasi selengkapnya tentang aturan penamaan, lihat Konvensi penamaan.SOURCE_FILE
: file tempat Anda ingin mengimpor image. Masukkan jalur dalam formatgs://bucket/folder/file
. Untuk mendapatkan jalur objek di dalam bucket, lihat Melihat metadata objek. Perhatikan bahwa Anda hanya dapat mengimpor gambar dari file.vmdk
dan.tar.gz
.REGION_ID
: region tempat Anda ingin proses impor image dijalankan. Image dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di region, pastikansingleRegionStorage
ditetapkan ke benar (true). Untuk mengetahui daftar region yang didukung, lihat Region dan Zona.HOST_PROJECT_ID
: nama project host tempat Anda ingin memigrasikan image disk virtual.TARGET_PROJECT
: project target tempat Anda ingin membuat image. Jika Anda belum menambahkan project target, lakukan menggunakan petunjuk yang diberikan di Menambahkan project target.
Untuk informasi selengkapnya, lihat gcloud migration vms image-imports
.
REST
Untuk mengimpor disk image virtual ke Compute Engine menggunakan REST API, gunakan langkah-langkah berikut.
Buat resource impor gambar menggunakan permintaan berikut.
POST https://vmmigration.googleapis.com/v1/projects/HOST_PROJECT_ID/locations/REGION_ID/imageImports?imageImportId=IMPORT_NAME { "cloudStorageUri": "SOURCE_FILE", "diskImageTargetDefaults": { "imageName": "IMAGE_NAME", "targetProject": "projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT", ... } }
Ganti kode berikut:
HOST_PROJECT_ID
: nama project host tempat Anda ingin memigrasikan image disk virtual.REGION_ID
: region tempat Anda ingin proses impor image dijalankan. Image dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di region, pastikansingleRegionStorage
ditetapkan ke benar (true). Untuk mengetahui daftar region yang didukung, lihat Region dan Zona.SOURCE_FILE
: file tempat Anda ingin mengimpor image. Masukkan jalur dalam format gs://bucket/folder/file. Untuk mendapatkan jalur objek di dalam bucket, lihat Melihat metadata objek. Perhatikan bahwa Anda hanya dapat mengimpor gambar dari file.vmdk
dan.tar.gz
.IMAGE_NAME
: nama image yang ingin Anda buat. Untuk informasi selengkapnya tentang aturan penamaan, lihat Konvensi penamaan.TARGET_PROJECT
: project target tempat Anda ingin membuat image. Jika Anda belum menambahkan project target, lakukan menggunakan petunjuk yang diberikan di Menambahkan project target.
Dalam contoh ini,
IMPORT_NAME
adalah ID yang mewakili resource impor gambar. Saat Anda mengimpor image ke Compute Engine, Migrate to Virtual Machines akan membuat resource impor image terlebih dahulu. Resource impor gambar mewakili proses impor gambar. Anda dapat menggunakanIMPORT_NAME
untuk mendapatkan link ke gambar yang diimpor sebagai bagian dari proses impor gambar.Lihat tabel berikut untuk mengetahui daftar lengkap kolom permintaan pembuatan impor gambar yang didukung.
Nama kolom Deskripsi cloudStorageUri
string
Jalur file tempat Anda ingin mengimpor gambar. Masukkan jalur dalam format gs://bucket/folder/file. Untuk mendapatkan jalur objek di dalam bucket, lihat Melihat metadata objek.
Perhatikan bahwa Anda hanya dapat mengimpor gambar dari file.vmdk
dan.tar.gz
.diskImageTargetDefaults.targetProject
string
JalurTargetProject
. Project target tempat Anda ingin membuat image. Untuk informasi selengkapnya, lihat referensi API project target. Misalnya,
projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT
Dalam contoh, ganti hal berikut:HOST_PROJECT_ID
: nama project host tempat Anda ingin memigrasikan image disk virtual.TARGET_PROJECT
: project target tempat Anda ingin membuat image.
diskImageTargetDefaults.imageName
string
Nama image yang akan dibuat. Untuk informasi selengkapnya tentang aturan penamaan, lihat konvensi penamaan resource.diskImageTargetDefaults.description
string
(Opsional) Deskripsi gambar.diskImageTargetDefaults.familyName
string
(Opsional) Pilih kelompok image. Compute Engine menyediakan kelompok gambar untuk membantu Anda memastikan bahwa sistem otomatisasi dapat mereferensikan image terbaru. Sebagai administrator, Anda dapat mengelompokkan sekumpulan gambar sebagai kelompok image. Untuk informasi selengkapnya, lihat Kelompok image publik. Untuk informasi selengkapnya, lihat Kelompok image publik.diskImageTargetDefaults.labels
peta (kunci: string, nilai: string)
Untuk mengatur project, tambahkan label sebagai pasangan nilai kunci ke resource Anda. Lihat Memberi label pada resource.diskImageTargetDefaults.additionalLicenses
string[]
Anda dapat menambahkan hingga 10 lisensi tambahan ke instance VM yang dibuat dari image yang diimpor menggunakan format URL yang valid. Misalnya, Anda dapat menambahkan lisensi tambahan menggunakan format URL berikut:
https://www.googleapis.com/compute/beta/projects/windows-sql-cloud/global/licenses/sql-server-2012-enterprise
diskImageTargetDefaults.singleRegionStorage
boolean
Tetapkan tanda ini ke true jika Anda ingin gambarstorageLocations
menjadi region. Jika Anda menetapkan tanda ini ke salah (false), multi-region terdekat akan dipilih.diskImageTargetDefaults.dataDiskImageImport
boolean
Tetapkan tanda ini ke true jika Anda ingin melewati adaptasi OS.
Agar berfungsi dengan baik di Google Cloud, VM yang dibuat dari image yang diimpor memerlukan perubahan pada konfigurasinya. Perubahan ini disebut sebagai adaptasi OS. Migrate to Virtual Machines melakukan adaptasi OS secara otomatis dalam proses impor image. Untuk informasi selengkapnya, lihat Menyesuaikan instance VM untuk berjalan di Google Cloud.diskImageTargetDefaults.osAdaptationParameters.licenseType
string
Jenis lisensi yang ingin Anda gunakan untuk gambar. Compute Engine mendukung lisensi bayar sesuai penggunaan (PAYG) dan bring your own license (BYOL) untuk VM yang di-deploy. Jenis lisensi default untuk VM yang dimigrasikan ditetapkan oleh Migrate to Virtual Machines berdasarkan sistem operasi yang dimigrasikan, seperti yang dijelaskan di Sistem operasi yang didukung.
Jika sistem operasi Anda mendukung beberapa jenis lisensi, Anda dapat mengganti jenis lisensi default untuk menentukan jenis lisensi PAYG atau BYOL secara eksplisit.
diskImageTargetDefaults.osAdaptationParameters.generalize
boolean
Tetapkan tanda ini ke true jika Anda ingin memgeneralisasi gambar.
Saat Anda membuat instance dari image, Windows akan menambahkan beberapa informasi unik ke instance. Generalisasi adalah proses yang menghapus informasi ini sehingga Anda dapat membuat beberapa instance dari image yang sama.diskImageTargetDefaults.encryption
string
Kunci enkripsi yang dikelola Google yang ingin Anda gunakan untuk mengenkripsi data selama proses impor. Untuk informasi selengkapnya, lihat mengenkripsi data saat dalam penyimpanan.encryption
string
Pilih opsi ini untuk menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) guna mengenkripsi data Anda selama proses impor, dan data gambar yang dibuat selama proses impor. Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan CMEK untuk mengenkripsi dan mendekripsi data. Kunci enkripsi ini dibuat, dikelola, dan dimiliki oleh Anda. Untuk mengetahui informasi selengkapnya, lihat Melindungi resource dengan menggunakan kunci Cloud KMS.
Saat menambahkan CMEK, Anda harus memberikan izin seperti yang dijelaskan dalam tabel berikut.Peran Izin diperlukan Deskripsi Akun Layanan Migrasi VM Cloud roles/vmmigration.serviceAgent Berikan izin ini ke akun layanan Compute Engine untuk mengenkripsi data image yang dibuat selama proses impor. Agen Layanan Compute Engine roles/compute.serviceAgent Berikan izin ini ke agen layanan Migrate to Virtual Machines untuk mengenkripsi data selama proses impor. Anda akan melihat respons yang mirip dengan contoh respons berikut.
{ "name": "projects/HOST_PROJECT_ID/locations/REGION_ID/operations/OPERATION_ID", "metadata": { "createTime": "2023-10-31T09:12:26.94928636Z", "target": "projects/HOST_PROJECT_ID/locations/us-central1/imageImports/IMPORT_NAME", "verb": "create", "apiVersion": "v1", "@type": "type.googleapis.com/google.cloud.vmmigration.v1.OperationMetadata" } }
Periksa apakah tugas impor image sudah selesai dengan melakukan polling operasi menggunakan perintah berikut.
GET https://vmmigration.googleapis.com/v1/projects/HOST_PROJECT_ID/locations/REGION_ID/operations/OPERATION_ID
Ganti kode berikut:
HOST_PROJECT_ID
: nama project host tempat Anda memigrasikan image disk virtual.REGION_ID
: region tempat Anda ingin proses impor image dijalankan. Image dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di region, pastikansingleRegionStorage
ditetapkan ke benar (true). Untuk mengetahui daftar region yang didukung, lihat Region dan Zona.OPERATION_ID
: ID operasi tugas migrasi.
Anda akan melihat respons penyelesaian operasi yang mirip dengan contoh respons berikut.
{ "done": true, "name": "projects/HOST_PROJECT_ID/locations/REGION_ID/operations/OPERATION_ID", "response": { "@type": "type.googleapis.com/google.cloud.vmmigration.v1.ImageImport", "name": "projects/<HOST_PROJECT_ID>/locations/us-central1/imageImports/IMPORT_NAME", "cloudStorageUri": "SOURCE_FILE", "createTime": "2023-10-31T09:04:04.413664947Z", "diskImageTargetDefaults": { "imageName": "IMAGE_NAME", "targetProject": "projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT" }, "recentImageImportJobs": [ { "name": "projects/HOST_PROJECT_ID/locations/us-central1/imageImports/IMPORT_NAME/imageImportJobs/image-import-job", "diskImageTargetDetails": { "imageName": "IMAGE_NAME", "targetProject": "projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT" }, "state": "PENDING" } ] }, "metadata": { "createTime": "2023-10-31T09:04:04.416740716Z", "endTime": "2023-10-31T09:05:36.79987142Z", "target": "projects/HOST_PROJECT_ID/locations/us-central1/imageImports/IMPORT_NAME", "verb": "create", "apiVersion": "v1", "@type": "type.googleapis.com/google.cloud.vmmigration.v1.OperationMetadata" } }
Pantau tugas impor image untuk mengetahui penyelesaiannya menggunakan perintah berikut.
GET https://vmmigration.googleapis.com/v1/projects/HOST_PROJECT_ID/locations/REGION_ID/imageImports/IMPORT_NAME/imageImportJobs/image-import-job
Ganti kode berikut:
HOST_PROJECT_ID
: nama project host tempat Anda memigrasikan image disk virtual.REGION_ID
: region tempat Anda ingin proses impor image dijalankan. Image dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di region, pastikansingleRegionStorage
ditetapkan ke benar (true). Untuk mengetahui daftar region yang didukung, lihat Region dan Zona.IMPORT_NAME
: ID yang mewakili resource impor gambar. Saat Anda mengimpor image ke Compute Engine, Migrate to Virtual Machines akan membuat resource impor image terlebih dahulu. Resource impor gambar mewakili proses impor gambar. Anda dapat menggunakanIMPORT_NAME
untuk mendapatkan link ke gambar yang diimpor sebagai bagian dari proses impor gambar.
Anda akan melihat respons penyelesaian tugas yang mirip dengan respons contoh berikut.
{ "createTime":"2023-10-31T09:12:27.053788394Z", "createdResources":[ "https://www.googleapis.com/compute/v1/projects/USER_PROJECT/global/images/IMAGE_NAME" ], "diskImageTargetDetails": { "imageName":"IMAGE_NAME", "targetProject":"projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT" }, "endTime":"2023-10-31T09:16:50.224865783Z", "name":"projects/HOST_PROJECT_ID/locations/us-central1/imageImports/IMPORT_NAME/imageImportJobs/image-import-job", "state":"SUCCEEDED" }