Memigrasikan VM antarjaringan


Halaman ini menjelaskan cara memigrasikan instance VM dari satu jaringan ke jaringan lain. Untuk VM yang terhubung ke lebih dari satu jaringan menggunakan beberapa antarmuka jaringan, proses ini akan memperbarui salah satu antarmuka dan membiarkan antarmuka lainnya.

Migrasi-migrasi berikut ini dapat dilakukan:

  • Dari jaringan lama ke jaringan VPC dalam project yang sama
  • Dari satu jaringan VPC ke jaringan VPC lainnya dalam project yang sama
  • Dari satu subnet jaringan VPC ke subnet lain dari jaringan yang sama
  • Dari jaringan project layanan ke jaringan bersama dari project host VPC Bersama

Dalam semua kasus, VM tetap berada di region dan zona sebelumnya. Hanya jaringan terpasang yang berubah.

Sebelum memulai

  • Baca dokumentasi Virtual Private Cloud.
  • 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

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. 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

Persyaratan

Sebelum memindahkan VM, VM harus memenuhi persyaratan berikut:

  • Migrasi adalah migrasi "cold". VM harus dihentikan sebelum dapat dimigrasikan.
  • VM tidak boleh berada dalam grup instance atau grup endpoint jaringan (NEG).
    • Jika VM berada dalam grup instance atau NEG yang tidak dikelola, Anda harus mengeluarkannya dari grup sebelum memigrasikannya.
    • VM dalam grup instance terkelola tidak dapat dimigrasikan. Sebagai gantinya, Anda harus menyalin template instance ke jaringan yang baru dan menggunakannya untuk mem-build ulang grup instance terkelola.
    • Anda dapat memindahkan instance dalam kumpulan target tanpa menghapusnya terlebih dahulu. Kumpulan target diperluas untuk mencakup kedua jaringan tersebut.

Batasan

  • Anda tidak dapat memigrasikan antarmuka VM ke jaringan lama.
  • Alamat MAC yang dialokasikan ke antarmuka jaringan akan berubah selama migrasi. Hal ini dapat berdampak pada layanan yang dikaitkan erat dengan alamat MAC seperti perjanjian lisensi pihak ketiga.
  • Jika Anda memigrasikan VM ke jaringan atau subnet dengan rentang IP yang berbeda, alamat IP internal instance Anda harus berubah. Jika bermigrasi ke subnet dengan rentang IP yang sama, Anda dapat menyimpan alamat IP lama, selama belum digunakan di tujuan, dengan menetapkannya selama migrasi.
  • Jika subnet target tidak memiliki rentang IP yang sama dengan sumber, alamat IP antarmuka akan berubah agar sesuai dengan rentang subnet baru.
  • Anda dapat menyimpan alamat IP eksternal VM yang ada di lokasi baru. Untuk melakukannya, Anda harus memiliki izin compute.subnetworks.useExternalIp di jaringan target, dan jaringan target tidak boleh menonaktifkan alamat IP eksternal oleh batasan constraints/compute.vmExternalIpAccess tersebut.

Memigrasikan VM

Sebelum memigrasikan VM, tinjau persyaratan dan batasan.

Google merekomendasikan agar Anda membuat aturan firewall, rute, load balancer, dan resource infrastruktur jaringan lain yang diperlukan di jaringan baru sebelum memigrasikan VM. Hal itu dapat mempersingkat waktu saat VM Anda offline.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka VM instances

  2. Klik nama instance VM untuk membuka halaman detail.

  3. Klik Stop .

  4. Jika dialog konfirmasi muncul, klik Stop.

  5. Setelah VM berhenti, klik Edit .

  6. Di bagian Antarmuka jaringan, klik antarmuka yang ingin Anda pindahkan.

  7. Di kolom Jaringan pada antarmuka, pilih jaringan baru untuk antarmuka.

  8. Di kolom Subnetwork pada antarmuka, pilih subnet baru untuk antarmuka.

  9. Di kolom Alamat IP internal, masukkan Otomatis jika Anda ingin sistem mengalokasikan alamat IP dari rentang subnet atau Kustom jika Anda ingin menentukan sendiri situs yang tidak digunakan.

  10. Klik Selesai untuk menutup panel edit antarmuka jaringan.

  11. Klik Simpan.

  12. Setelah VM selesai menyimpan, klik Mulai .

  13. Jika dialog konfirmasi muncul, klik Mulai.

gcloud

  1. Menghentikan VM

    gcloud compute instances stop INSTANCE_NAME \
        --zone=ZONE_NAME

    di mana

    • INSTANCE_NAME adalah nama instance VM.
    • ZONE_NAME adalah nama zona yang berisi instance.
  2. Memigrasikan VM

    gcloud compute instances network-interfaces update INSTANCE_NAME \
        --zone=ZONE_NAME \
        --network-interface=NIC \
        --network=NETWORK_NAME \
        --subnetwork=SUBNET_NAME

    di mana

    • INSTANCE_NAME adalah nama instance VM.
    • ZONE_NAME adalah nama zona yang berisi instance.
    • NIC adalah nama antarmuka yang sedang Anda update. Dalam VM antarmuka tunggal, NIC adalah nic0.
    • NETWORK_NAME adalah nama jaringan target. Jika memigrasikan VM dari jaringan project layanan ke jaringan project host, Anda harus menggunakan nama yang sepenuhnya memenuhi syarat untuk jaringan target: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
    • SUBNET_NAME adalah nama subnet target. Subnet ini harus berada di region yang sama dengan VM. Jika memigrasikan VM dari jaringan project layanan ke jaringan project host, Anda harus menggunakan nama yang sepenuhnya memenuhi syarat untuk subnet: projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
  3. Memulai VM

    Migrasi mungkin memerlukan waktu beberapa menit, jadi tunggu sebelum mencoba memulai VM di lokasi baru.

    gcloud compute instances start INSTANCE_NAME \
        --zone=ZONE_NAME

    di mana

    • INSTANCE_NAME adalah nama instance VM.
    • ZONE_NAME adalah nama zona yang berisi instance.

REST

  1. Menghentikan VM

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/stop
    

    di mana

    • PROJECT_ID adalah project ID Anda.
    • INSTANCE_NAME adalah nama instance VM.
    • ZONE_NAME adalah nama zona yang berisi instance.
  2. Lihat detail instance.

    GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME
    

    di mana

    • PROJECT_ID adalah project ID Anda.
    • ZONE_NAME adalah nama zona yang berisi instance.
    • INSTANCE_NAME adalah nama instance VM.
  3. Temukan sidik jari untuk antarmuka.

    Anda memerlukan sidik jari untuk memperbarui antarmuka jaringan.

    Periksa output perintah dan temukan konten kolom networkInterfaces. Temukan item dengan nama antarmuka yang ingin Anda perbarui (di VM antarmuka tunggal, namanya adalah nic0). Salin string di kolom fingerprint pada item ini untuk digunakan pada langkah berikutnya.

  4. Memigrasikan VM

    PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/updateNetworkInterface?networkInterface=NIC
    {
      "network": NETWORK_NAME,
      "subnetwork": SUBNET_NAME,
      "networkIP": IP_ADDRESS,
      "name": NIC,
      "fingerprint": FINGERPRINT
    }
    • PROJECT_ID adalah project ID Anda.
    • ZONE_NAME adalah nama zona yang berisi instance.
    • INSTANCE_NAME adalah nama instance VM.
    • NIC adalah nama antarmuka yang sedang Anda update. Dalam VM antarmuka tunggal, NIC adalah nic0.
    • NETWORK_NAME adalah nama jaringan target. Jika memigrasikan VM dari jaringan project layanan ke jaringan project host, Anda harus menggunakan nama yang sepenuhnya memenuhi syarat untuk jaringan target: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
    • SUBNET_NAME adalah nama subnet target. Subnet ini harus berada di region yang sama dengan VM. Jika memigrasikan VM dari jaringan project layanan ke jaringan project host, Anda harus menggunakan nama yang sepenuhnya memenuhi syarat untuk subnet: projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
    • IP_ADDRESS adalah alamat IP internal yang Anda inginkan untuk instance instance di lokasi baru. Jika Anda menghapus kolom ini, antarmuka akan otomatis ditetapkan.
    • FINGERPRINT adalah sidik jari yang Anda dapatkan di langkah sebelumnya.
  5. Memulai VM

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/start
    

    di mana

    • PROJECT_ID adalah project ID Anda.
    • INSTANCE_NAME adalah nama instance VM.
    • ZONE_NAME adalah nama zona yang berisi instance.

Langkah selanjutnya