Memigrasikan VM antar-jaringan


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 lain dalam project yang sama
  • Dari satu subnet jaringan VPC ke subnet lain di 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.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

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 lainnya 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 Done 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 Anda perbarui. Dalam VM antarmuka tunggal, NIC adalah nic0.
    • NETWORK_NAME adalah nama jaringan target. Jika Anda 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. Melihat detail untuk instance.

    GET https://compute.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 update (di VM dengan satu antarmuka, namanya adalah nic0). Salin string di kolom fingerprint dalam item ini untuk digunakan di langkah berikutnya.

  4. Memigrasikan VM

    PATCH https://compute.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 Anda perbarui. Dalam VM antarmuka tunggal, NIC adalah nic0.
    • NETWORK_NAME adalah nama jaringan target. Jika Anda 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 dimiliki oleh instance di lokasi baru. Jika Anda menghapus kolom ini, antarmuka akan ditetapkan secara otomatis.
    • 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 berikutnya