Mengimpor disk image virtual

Dengan Migrate to Virtual Machines, Anda dapat mengimpor disk image virtual ke image Compute Engine. Jika Anda memiliki disk image virtual di lingkungan lokal dengan software dan konfigurasi yang diperlukan, Anda dapat menghemat waktu dengan mengimpor disk image virtual ini ke Compute Engine, dan menggunakan image yang dihasilkan untuk membuat instance mesin virtual atau persistent disk.

Sebelum memulai

  • Aktifkan VM Migration API di project Anda. Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan VM Migration API, lihat Mengaktifkan layanan Migrate to Virtual Machines.
  • Pastikan sistem operasi pada disk didukung oleh Migrate to Virtual Machines. Untuk mengetahui informasi selengkapnya, lihat Sistem operasi yang didukung.
  • Pastikan file disk image virtual yang ingin Anda impor memiliki format berikut.
    • Disk mesin virtual (VMDK).
    • Mentah, dikompresi sebagai .tar.gz. File tar harus berisi satu file bernama disk.raw.

Proses impor gambar

Untuk mengimpor disk image virtual ke image Compute Engine menggunakan Migrate to Virtual Machines, lakukan langkah-langkah berikut:

  1. Menyiapkan file disk image virtual untuk impor
  2. Memilih project target
  3. Mengimpor disk image virtual ke Compute Engine

Menyiapkan file disk virtual untuk diimpor

Untuk mengimpor disk image virtual ke Compute Engine, Anda harus terlebih dahulu menyiapkan file disk image virtual untuk diimpor. Bagian berikut membahas tugas-tugas ini secara rinci.

Menambahkan file disk image 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 mengetahui informasi selengkapnya, lihat Mengupload objek dari sistem file. Untuk mendapatkan performa yang lebih baik, sebaiknya Anda mengupload file disk image virtual ke bucket di region cloud yang sama 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 izin ini ke akun layanan project host agar dapat mengimpor disk image virtual ke image Compute Engine.
Administrator Migrasi VM roles/vmmigration.admin Berikan izin ini ke project host agar dapat membuat sumber Migrate to Virtual Machines baru, dan melakukan semua operasi migrasi lainnya.
Akun Layanan VM Migration roles/vmmigration.serviceAgent Berikan izin ini ke project target agar dapat membuat instance virtual machine (VM), disk, dan image yang dimigrasikan dalam 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 membuat atau memilih project target, lihat Menambahkan project target.

Mengimpor disk image virtual ke Compute Engine

Anda dapat mengimpor disk image virtual ke Compute Engine menggunakan perintah Google Cloud Console, 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. Menentukan karakteristik gambar. Tabel berikut mencantumkan parameter yang dapat ditetapkan untuk gambar Anda.

    Judul bagian Nama kolom Deskripsi
    Umum Nama Nama gambar yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang aturan penamaan, lihat Konvensi penamaan.
    ID impor gambar ID yang merepresentasikan resource impor gambar. Saat Anda mengimpor gambar ke Compute Engine, Migrate to Virtual Machines membuat resource impor gambar 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 Browse 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 jalurnya dalam format bucket/folder/file. Untuk mendapatkan jalur objek di dalam bucket, baca bagian Melihat metadata objek. Saat Anda menyalin jalur, pastikan Anda tidak menyalin awalan gs://.
    Perhatikan bahwa Anda hanya dapat mengimpor gambar dari file .vmdk dan .tar.gz.
    Region Region tempat Anda ingin membuat gambar. 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 dalam Menambahkan project target.
    Kelompok (Opsional) Pilih kelompok gambar. Compute Engine menyediakan kelompok image untuk membantu memastikan sistem otomatisasi Anda dapat mereferensikan image terbaru. Sebagai administrator, Anda dapat mengelompokkan kumpulan gambar sebagai kelompok gambar. Untuk informasi selengkapnya, lihat Kelompok gambar publik.
    Deskripsi (Opsional) Tambahkan deskripsi untuk gambar.
    Lewati adaptasi OS Untuk melewati adaptasi OS, klik Lewati adaptasi OS ke posisi aktif.
    Agar berfungsi dengan baik di Google Cloud, VM yang dibuat dari image yang diimpor harus diubah pada konfigurasinya. Perubahan ini disebut sebagai adaptasi OS. Migrate to Virtual Machines melakukan adaptasi OS secara otomatis dalam proses impor gambar. Untuk mengetahui informasi selengkapnya, baca artikel Menyesuaikan instance VM untuk dijalankan di Google Cloud.
    {i>Generalisasi<i} (Generalisasi) Untuk menggeneralisasi gambar, klik tombol Generalize ke posisi aktif. Saat Anda membuat instance dari image, Windows akan menambahkan beberapa informasi unik ke instance tersebut. 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 gunakan lisensi Anda sendiri (BYOL) untuk VM yang di-deploy. Jenis lisensi default untuk VM yang dimigrasikan akan 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.
    Lisensi tambahan Lisensi tambahan Anda dapat menambahkan hingga 10 lisensi tambahan ke instance VM yang dibuat dari gambar 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 Mengatur resource menggunakan label.
    Enkripsi Kunci enkripsi yang dikelola Google Pilih opsi ini untuk menggunakan kunci enkripsi yang dikelola Google guna 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 image yang dibuat oleh proses impor. Jika 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 Cloud VM Migration 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 ke 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 alpha migration vms image-imports create IMAGE_NAME \
--source-file=SOURCE_FILE \
--target-project=projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT

Ganti kode berikut:

  • HOST_PROJECT_ID: nama project host tempat Anda ingin memigrasikan disk image virtual.
  • REGION_ID: region tempat Anda ingin menjalankan proses impor gambar. Gambar dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di suatu region, pastikan singleRegionStorage disetel ke benar (true). Untuk mengetahui daftar region yang didukung, lihat Region dan Zona.
  • SOURCE_FILE: file tempat Anda ingin mengimpor gambar. Masukkan jalur dalam format gs://bucket/folder/file. Untuk mendapatkan jalur objek di dalam bucket, baca Melihat metadata objek. Perhatikan bahwa Anda hanya dapat mengimpor gambar dari file .vmdk dan .tar.gz.
  • IMAGE_NAME: nama gambar 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 dalam Menambahkan project target.

Untuk mengetahui informasi selengkapnya, lihat gcloud alpha migration vms image-imports.

REST

Untuk mengimpor disk image virtual ke Compute Engine menggunakan REST API, ikuti 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 disk image virtual.
    • REGION_ID: region tempat Anda ingin menjalankan proses impor gambar. Gambar dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di suatu region, pastikan singleRegionStorage disetel ke benar (true). Untuk mengetahui daftar region yang didukung, lihat Region dan Zona.
    • SOURCE_FILE: file tempat Anda ingin mengimpor gambar. Masukkan jalur dalam format gs://bucket/folder/file. Untuk mendapatkan jalur objek di dalam bucket, baca Melihat metadata objek. Perhatikan bahwa Anda hanya dapat mengimpor gambar dari file .vmdk dan .tar.gz.
    • IMAGE_NAME: nama gambar 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 dalam Menambahkan project target.

    Dalam contoh ini, IMPORT_NAME adalah ID yang mewakili resource impor gambar. Saat Anda mengimpor gambar ke Compute Engine, Migrate to Virtual Machines membuat resource impor gambar 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, baca bagian 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
    Pada contoh, ganti:
    • HOST_PROJECT_ID: nama project host tempat Anda ingin memigrasikan disk image virtual.
    • TARGET_PROJECT: project target tempat Anda ingin membuat image.
    diskImageTargetDefaults.imageName string
    Nama gambar yang akan dibuat. Untuk mengetahui informasi selengkapnya tentang aturan penamaan, lihat konvensi penamaan resource.
    diskImageTargetDefaults.description string
    (Opsional) Deskripsi gambar.
    diskImageTargetDefaults.familyName string
    (Opsional) Pilih kelompok gambar. Compute Engine menyediakan kelompok image untuk membantu memastikan sistem otomatisasi Anda dapat mereferensikan image terbaru. Sebagai administrator, Anda dapat mengelompokkan kumpulan gambar sebagai kelompok gambar. Untuk informasi selengkapnya, lihat Kelompok gambar publik. Untuk informasi selengkapnya, lihat Kelompok gambar publik.
    diskImageTargetDefaults.labels map (key: string, value: string)
    Untuk mengatur project, tambahkan label sebagai key-value pair ke resource Anda. Lihat Pelabelan resource.
    diskImageTargetDefaults.additionalLicenses string[]
    Anda dapat menambahkan hingga 10 lisensi tambahan ke instance VM yang dibuat dari gambar 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 benar (true) jika Anda ingin storageLocations gambar menjadi region. Jika tanda ini disetel ke salah (false), multi-region terdekat akan dipilih.
    diskImageTargetDefaults.dataDiskImageImport boolean
    Tetapkan tanda ini ke benar (true) jika Anda ingin melewati adaptasi OS.
    Agar berfungsi dengan baik di Google Cloud, VM yang dibuat dari image yang diimpor harus diubah pada konfigurasinya. Perubahan ini disebut sebagai adaptasi OS. Migrate to Virtual Machines melakukan adaptasi OS secara otomatis dalam proses impor gambar. Untuk mengetahui informasi selengkapnya, baca artikel Menyesuaikan instance VM untuk dijalankan di Google Cloud.
    diskImageTargetDefaults.osAdaptationParameters.licenseType string
    Jenis lisensi yang ingin digunakan untuk image Anda. 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 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.
    diskImageTargetDefaults.osAdaptationParameters.generalize boolean
    Tetapkan tanda ini ke benar (true) jika Anda ingin menggeneralisasi gambar.
    Saat Anda membuat instance dari gambar, Windows akan menambahkan beberapa informasi unik ke instance tersebut. Generalisasi adalah proses yang menghapus informasi ini sehingga Anda dapat membuat beberapa instance dari gambar 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 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 Cloud VM Migration 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 gambar telah 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 disk image virtual.
    • REGION_ID: region tempat Anda ingin menjalankan proses impor gambar. Gambar dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di suatu region, pastikan singleRegionStorage disetel 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 gambar agar selesai 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 disk image virtual.
    • REGION_ID: region tempat Anda ingin menjalankan proses impor gambar. Gambar dibuat di multi-region terdekat. Jika Anda ingin gambar dibuat di suatu region, pastikan singleRegionStorage disetel ke benar (true). Untuk mengetahui daftar region yang didukung, lihat Region dan Zona.
    • IMPORT_NAME: ID yang merepresentasikan resource impor gambar. Saat Anda mengimpor gambar ke Compute Engine, Migrate to Virtual Machines membuat resource impor gambar 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 contoh respons 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"
    }