Mengimpor disk virtual


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

Format yang didukung

Anda dapat mengimpor file disk image virtual dalam format berikut menggunakan Migrate to Virtual Machines:

  • Virtual machine disk (VMDK) - Opsi yang direkomendasikan, file VMDK diimpor lebih cepat
  • Copy-on-write (QCOW) QEMU
  • QEMU copy-on-write 2 (QCOW2)
  • Format disk yang ditingkatkan QEMU (QED)
  • VPC
  • Image disk virtual (VDI)
  • Virtual hard disk v2 (VHDX)
  • Virtual hard disk (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:

  1. Menyiapkan file disk image virtual untuk diimpor
  2. Memilih project target
  3. 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.

  1. Buka halaman Migrate to Virtual Machines di konsol Google Cloud.
    Buka halaman Migrate to Virtual Machines
  2. Pilih tab Image Imports.
  3. Klik Create Image.
  4. 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 mengetahui 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 awalan gs://.
    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.
  5. 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 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.
  • REGION_ID: region tempat Anda ingin proses impor image dijalankan. Image dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di region, pastikan singleRegionStorage 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.

  1. 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, pastikan singleRegionStorage 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 menggunakan IMPORT_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
    Jalur TargetProject. 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 gambar storageLocations 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 flag 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"
      }
    }
    
  2. 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, pastikan singleRegionStorage 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"
        }
      }
    
  3. 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, pastikan singleRegionStorage 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 menggunakan IMPORT_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"
    }