Dokumen ini menjelaskan cara menyalin VM Anda ke project yang berbeda.
Sebelum memulai
- Tinjau Praktik terbaik untuk snapshot persistent disk dan siapkan boot disk untuk snapshot.
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Cloud de Confiance by S3NS dan API. Untuk menjalankan
kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
-
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init - Set a default region and zone.
-
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk menyalin VM antar-project,
minta administrator untuk memberi Anda
peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1)
di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menyalin VM antar-project. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menyalin VM antar-project:
-
compute.instances.createpada project -
Untuk menggunakan image kustom guna membuat VM:
compute.images.useReadOnlypada image -
Untuk menggunakan snapshot guna membuat VM:
compute.snapshots.useReadOnlypada snapshot -
Untuk menggunakan template instance guna membuat VM:
compute.instanceTemplates.useReadOnlypada template instance -
Untuk menentukan subnet bagi VM Anda:
compute.subnetworks.usedi project atau di subnet yang dipilih -
Untuk menentukan alamat IP statis untuk VM:
compute.addresses.usepada project -
Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC:
compute.subnetworks.useExternalIpdi project atau di subnet yang dipilih -
Untuk menetapkan jaringan lama ke VM:
compute.networks.usepada project -
Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama:
compute.networks.useExternalIpdi project -
Untuk menetapkan metadata instance VM bagi VM:
compute.instances.setMetadatadi project -
Untuk menyetel tag untuk VM:
compute.instances.setTagsdi VM -
Untuk menetapkan label bagi VM:
compute.instances.setLabelsdi VM -
Untuk menyetel akun layanan yang akan digunakan VM:
compute.instances.setServiceAccountdi VM -
Untuk membuat disk baru bagi VM:
compute.disks.createpada project -
Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis:
compute.disks.usepada disk -
Untuk memasang disk yang ada dalam mode hanya baca:
compute.disks.useReadOnlypada disk
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Menyalin VM ke project lain
Di project sumber, buat snapshot boot disk VM menggunakan salah satu perintah berikut:
Boot disk zona
Jika VM Anda memiliki boot disk zona, buat snapshot menggunakan perintah berikut:
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --snapshot-type SNAPSHOT_TYPE \ --source-disk-zone SOURCE_DISK_ZONEGanti kode berikut:
- SNAPSHOT_NAME: Nama untuk snapshot.
- SOURCE_DISK: Nama volume Persistent Disk zona tempat Anda ingin membuat snapshot.
- SNAPSHOT_TYPE: Jenis snapshot, baik STANDARD atau ARCHIVE. Jika jenis snapshot tidak ditentukan, snapshot STANDARD akan dibuat. Pilih Archive untuk retensi data yang lebih hemat biaya.
- SOURCE_DISK_ZONE: Zona volume Persistent Disk zona tempat Anda ingin membuat snapshot.
Boot disk regional
Jika VM Anda memiliki boot disk regional, buat snapshot menggunakan perintah berikut:
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --source-disk-region=SOURCE_DISK_REGION \ --snapshot-type=SNAPSHOT_TYPEGanti kode berikut:
- SNAPSHOT_NAME: Nama untuk snapshot.
- SOURCE_DISK: Nama volume Persistent Disk regional tempat Anda ingin membuat snapshot.
- SOURCE_DISK_REGION: Region tempat volume Persistent Disk regional tempat Anda ingin membuat snapshot.
- SNAPSHOT_TYPE: Jenis snapshot, baik STANDARD atau ARCHIVE. Jika jenis snapshot tidak ditentukan, snapshot STANDARD akan dibuat.
Buat image kustom dari snapshot menggunakan perintah berikut:
gcloud compute images create IMAGE_NAME \ --source-snapshot=SOURCE_SNAPSHOT \ [--storage-location=LOCATION]Ganti kode berikut:
IMAGE_NAME: nama untuk image baruSOURCE_SNAPSHOT: snapshot tempat Anda ingin membuat imageLOCATION: Opsional: tanda yang memungkinkan Anda menentukan region atau multi-region tempat image Anda disimpan. Misalnya, tentukanusuntuk menyimpan image di multi-regionus, atauus-central1untuk menyimpannya di regionus-central1. Jika Anda tidak menentukan pilihan, Compute Engine akan menyimpan image dalam multi-region yang paling dekat dengan lokasi sumber image Anda.
Opsional: Bagikan image kustom dengan pengguna yang membuat VM di project tujuan. Untuk mengetahui informasi selengkapnya tentang berbagi image kustom, lihat Membagikan image kustom dalam organisasi.
Di project tujuan Anda, buat VM dari image kustom menggunakan perintah berikut:
gcloud compute instances create VM_NAME \ --image-project IMAGE_PROJECT \ IMAGE_FLAG \ --subnet SUBNETGanti kode berikut:
VM_NAME: nama VMIMAGE_PROJECT: ID Cloud de Confiance project yang berisi gambarIMAGE_FLAG: tentukan salah satu dari berikut ini:- Gunakan flag
--image IMAGE_NAMEuntuk menentukan image kustom.Misalnya,
--image my-debian-image-v2. - Jika Anda membuat image kustom
sebagai bagian dari kelompok image kustom,
gunakan flag
--image-family IMAGE_FAMILY_NAMEuntuk menentukan kelompok image kustom tersebut.Ini akan membuat VM dari OS image dan versi OS terbaru yang masih digunakan dalam kelompok image kustom Anda. Misalnya, jika Anda menentukan
--image-family my-debian-family, Compute Engine akan membuat VM dari OS image terbaru dalam kelompok imagemy-debian-familykustom Anda.
- Gunakan flag
SUBNET: jika subnet dan instance berada dalam project yang sama, gantiSUBNETdengan nama subnet yang berada di region yang sama dengan instance.Untuk menentukan subnet di jaringan VPC Bersama, ganti
SUBNETdengan string bentuk:projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAMEGanti kode berikut:
HOST_PROJECT_ID: ID project host VPC BersamaREGION: region subnetSUBNET_NAME: nama subnet.
Region subnet untuk jaringan VPC Bersama juga harus cocok dengan region yang berisi instance.
Langkah berikutnya
- Sesuaikan jaringan VPC project tujuan.