Perangkat virtual adalah paket yang berisi disk image dan konfigurasi hardware untuk instance mesin virtual (VM).
Format yang banyak digunakan dan populer untuk perangkat virtual adalah
format OVF.
Saat mengemas perangkat virtual dalam format OVF, Anda akan menghasilkan paket
OVF. Paket OVF adalah folder yang berisi file deskriptor .ovf
dan kumpulan resource lainnya, seperti disk. Jika paket OVF
diarsipkan ke dalam satu file, paket tersebut disebut sebagai file OVA.
Anda dapat mengimpor VM yang memiliki format OVF ke Compute Engine, baik saat VM berada dalam paket OVF atau dalam file tunggal OVA. Untuk memeriksa apakah menggunakan perangkat virtual adalah pilihan terbaik untuk kasus penggunaan Anda, baca Memilih jalur migrasi.
Saat Anda mengimpor perangkat virtual, proses impor akan menggunakan informasi yang disimpan dalam file deskripsi untuk membuat dan memulai VM di Compute Engine.
Di Compute Engine, Anda dapat mengimpor file OVA atau OVF sebagai berikut:
- Mengimpor perangkat virtual sebagai instance. Lihat Mengimpor file OVA dan Mengimpor file OVF.
- Mengimpor perangkat virtual sebagai image mesin. Lihat Mengimpor image mesin dari perangkat virtual.
Sebelum memulai
- Jika project tempat Anda ingin mengimpor perangkat virtual memiliki
kebijakan image tepercaya yang telah ditentukan,
tambahkan
projects/compute-image-import
danprojects/compute-image-tools
ke daftar yang diizinkan penayang. - Jika Anda mengimpor perangkat virtual dari project lain, lihat Mengimpor lintas project.
- Untuk mengetahui cara memenuhi persyaratan sebelum mengimpor image, lihat Prasyarat untuk mengimpor dan mengekspor image VM.
-
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:
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- 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
Bagian ini mencantumkan persyaratan untuk mengimpor perangkat virtual ke Compute Engine.
Persyaratan VM sumber
Persyaratan berikut harus dipenuhi oleh VM yang digunakan untuk membuat file OVF:
- Disk virtual harus dalam format VMDK atau VHD.
Disk virtual tidak boleh dienkripsi.
Untuk memverifikasi bahwa VM Anda memenuhi persyaratan, Anda dapat menjalankan fitur precheck.
Sistem operasi untuk VM sumber harus memenuhi persyaratan berikut:
- Untuk semua sistem operasi Windows, PowerShell versi 3 atau yang lebih baru harus diinstal. Versi PowerShell yang lebih lama dari 3.0 dapat menyebabkan masalah pada skrip startup dan shutdown yang digunakan selama proses impor.
Untuk semua distribusi Linux, boot disk harus memenuhi persyaratan berikut:
- Boot disk harus sudah menginstal GRUB.
- Boot disk tidak boleh mencakup beberapa disk fisik. Disk yang dipartisi menggunakan Logical Volume Manager (LVM) tidak didukung. Jika disk mencakup beberapa disk fisik, VM yang dibuat dari file OVF mungkin tidak dapat melakukan booting di Compute Engine.
Persyaratan file OVF
Persyaratan berikut harus dipenuhi oleh file OVF:
- File OVF harus menyediakan portabilitas
Level 1
seperti yang dijelaskan dalam dokumen spesifikasi OVF. Perangkat virtual yang memenuhi portabilitasLevel 2
dapat diimpor, tetapi ekstensi kustom apa pun seperti detail khusus hypervisor sumber akan diabaikan selama proses impor. - File OVF hanya boleh berisi satu VM. Jika ada lebih dari satu VM, hanya VM pertama yang akan diimpor.
- Disk pertama dalam file OVF harus dapat di-booting.
Izin
Untuk memungkinkan pengalaman yang lancar saat mengimpor image, pastikan Anda telah memberikan peran IAM yang diperlukan ke akun Anda, akun layanan Cloud Build, dan akun layanan Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Memberikan peran IAM yang diperlukan.
Konfigurasi yang diimpor oleh alat impor
Standar OVF
menentukan proses untuk memaketkan perangkat virtual dengan cara yang tidak
bergantung pada penyedia virtualisasi. Paket perangkat virtual OVF
berisi satu file deskripsi .ovf
dan sekumpulan resource lain seperti
disk virtual.
Saat Anda mengimpor perangkat virtual OVF ke Compute Engine, konfigurasi berikut dari file deskripsi akan diproses dan diimpor:
- Disk Virtual. Informasi yang diambil dari elemen
DiskSection
paket OVF. CPU dan Memori. Diambil dari
ResourceAllocationSection
paket OVF.Jika konfigurasi CPU atau memori berada di luar batas rentang yang didukung di Compute Engine, proses impor akan menetapkan nilai ke nilai maksimum yang didukung di Compute Engine.
Boot Disk. Detail yang diambil dari elemen
BootDeviceSection
paket OVF.Guest OS. Detail yang diambil dari elemen
OperatingSystemSection
paket OVF.Informasi guest OS digunakan untuk menginstal paket lingkungan tamu dan driver yang benar pada instance yang diimpor. Jika informasi guest OS yang ditemukan di OVF salah, impor akan gagal. Anda dapat menggunakan penanda
--os
untuk mengganti informasi guest OS.
VM yang diimpor selalu dibuat dengan satu adaptor jaringan dengan alamat IP eksternal. Satu adaptor jaringan ini akan digunakan, apa pun konfigurasi jaringan yang ditentukan dalam file OVF. Untuk mengimpor VM tanpa alamat IP eksternal, baca artikel Mengimpor VM tanpa alamat IP eksternal.
Saat mengimpor perangkat virtual, bagian file deskripsi berikut akan diabaikan (tidak diimpor):
NetworkSection
AnnotationSection
ProductSection
EulaSection
StartupSection
DeploymentOptionSection
InstallSection
EnvironmentFilesSection
SharedDiskSection
ScaleOutSection
PlacementGroupSection
PlacementSection
EncryptionSection
Batasan
Fitur ini tidak didukung untuk project yang dilindungi dengan Kontrol Layanan VPC.
Sistem operasi yang didukung
Secara opsional, Anda dapat menentukan sistem operasi di elemen OperatingSystemSection
dari file deskripsi Anda atau menentukan flag --os
saat
mengimpor perangkat virtual menggunakan perintah
gcloud compute instances import
.
Untuk mengetahui informasi tentang sistem operasi yang didukung, lihat Detail sistem operasi.
Dukungan untuk BYOL dan BYOS
Secara default, file OVF yang menggunakan sistem operasi Windows Server dan Red Hat Enterprise Linux (RHEL) diimpor dan dikonfigurasi untuk menggunakan OS premium sesuai permintaan, yang menimbulkan biaya tambahan.
Jika lebih suka menggunakan lisensi atau langganan software sendiri, Anda dapat mengimpor perangkat virtual dengan lisensinya. Untuk mengetahui informasi tentang sistem operasi yang mendukung BYOL atau BYOS, lihat Detail sistem operasi.
Anda dapat mengimpor perangkat sebagai perangkat berlisensi BYOL
menggunakan perintah gcloud compute instances import
dengan tanda --byol
. Jika Anda menentukan OS secara manual, gunakan tanda --os
untuk menentukan nilai yang berisi akhiran byol
untuk guest OS yang
ingin diimpor. Misalnya,
--os=rhel-8-byol
akan mengimpor image RHEL 8 dengan lisensi yang ada.
Mengimpor di seluruh project
- Project sumber: project tempat file OVA atau OVF disimpan.
- Project tujuan: project tempat Anda ingin membuat VM atau image mesin.
Jika project sumber dan tujuan Anda berbeda, akun layanan di project tujuan memerlukan akses ke bucket Cloud Storage di project sumber Anda.
Untuk mengimpor di seluruh project, selesaikan langkah-langkah berikut:
- Di project sumber Anda, cari bucket Cloud Storage.
Pada bucket Cloud Storage, berikan
roles/storage.objectViewer
ke akun layanan berikut:- Akun layanan Cloud Build untuk project tujuan: akun
layanan ini memiliki format
DESTINATION_PROJECT_NUMBER@cloudbuild.gserviceaccount.com
- Akun layanan Compute Engine untuk project tujuan: akun
layanan ini memiliki format
DESTINATION_PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ganti
DESTINATION_PROJECT_NUMBER
dengan nomor project untuk project tujuan.Untuk mengetahui petunjuk cara memberikan akses ke bucket Cloud Storage, lihat Menambahkan akun utama ke kebijakan level bucket.
- Akun layanan Cloud Build untuk project tujuan: akun
layanan ini memiliki format
Impor perangkat virtual atau image mesin.
Mengimpor perangkat virtual
Anda dapat mengimpor appliance virtual menggunakan Google Cloud CLI atau REST.
Mengimpor file OVA
gcloud
- Mengupload perangkat virtual ke Cloud Storage.
Untuk mengimpor file OVA dari Cloud Storage ke Compute Engine, gunakan perintah
gcloud compute instances import
.gcloud compute instances import VM_NAME \ --source-uri=gs:PATH_TO_OVA_FILE
Ganti kode berikut:
VM_NAME
: nama instance yang ingin Anda buatPATH_TO_OVA_FILE
: jalur ke file OVA Anda di Cloud Storage
Contoh
Misalnya, untuk mengimpor file OVA
Ubuntu.ova
dan membuat instance bernamamy-instance
, jalankan perintah berikut:gcloud compute instances import my-instance \ --source-uri=gs://my-bucket/Ubuntu.ova
Jika informasi guest OS dalam file deskripsi OVF salah atau jika ingin mengganti OS yang terdeteksi, Anda dapat menentukan sistem operasi dengan menambahkan flag
--os
. Untuk daftar nilai yang didukung, tinjau opsi flag--os
untuk perintahgcloud compute instances import
.Misalnya, untuk mengimpor file OVA
Ubuntu.ova
dan membuat instance bernamamy-instance
yang menjalankan Ubuntu 16.04, jalankan perintah berikut:gcloud compute instances import my-instance \ --os=ubuntu-1604 --source-uri=gs://my-bucket/Ubuntu.ova
REST
Mengupload perangkat virtual ke Cloud Storage.
Kirim permintaan
POST
ke Cloud Build API.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-instance-names=VM_NAME", "-ovf-gcs-path=SOURCE_URI", "-zone=ZONE", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-ovf-import" ] }
Ganti kode berikut:
PROJECT_ID
: project ID untuk project tempat Anda ingin mengimpor file OVA.VM_NAME
: nama untuk instance mesin virtual yang akan dibuat. Contoh,my-instance
.SOURCE_URI
: URI untuk file OVA yang disimpan di Cloud Storage. Misalnya,gs://my-bucket/my-instance.ova
.ZONE
: zona tempat untuk membuat instance VM. Jika dibiarkan kosong, zona default untuk project akan digunakan.
Untuk mengetahui nilai
args
tambahan yang dapat diberikan, lihat bagian flag opsional di Halaman GitHub impor OVF Compute Engine.Contoh respons
Contoh respons berikut menyerupai output yang ditampilkan:
{ "name": "operations/build/myproject-12345/operation-1578608233418", "metadata": { "@type": "type.googleapis.com/google.devtools.cloudbuild.v1.BuildOperationMetadata", "build": { "id": "3a2055bc-ccbd-4101-9434-d376b88b8940", "status": "QUEUED", "createTime": "2019-12-30T19:06:03.968694865Z", "steps": [ { "name": "gcr.io/compute-image-tools/gce_ovf_import:release", "env": [ "BUILD_ID=3a2055bc-ccbd-4101-9434-d376b88b8940" ], "args": [ "-instance-names=my-instance", "-ovf-gcs-path=gs://my-bucket/my-instance.ova", "-zone=asia-northeast2", "-client-id=api", "-timeout": "7056s" ] } ], "timeout": "7200s", "projectId": "myproject-12345", "logsBucket": "gs://12345.cloudbuild-logs.googleusercontent.com", "options": { "logging": "LEGACY" }, "logUrl": "https://console.cloud.google.com/cloud-build/builds/3a2055bc-ccbd-4101-9434-d376b88b8940?project=myproject-12345", "tags": [ "gce-ovf-import" ] } } }
Untuk memantau build, Anda dapat menggunakan salah satu metode berikut:
- Jalankan permintaan
projects.builds.get
menggunakan
build-id
yang ditampilkan. - Tinjau log yang dihosting di
logUrl
yang disediakan.
Mengimpor file OVF
gcloud
- Mengupload perangkat virtual ke Cloud Storage.
Untuk mengimpor file OVF dari Cloud Storage ke Compute Engine, gunakan perintah
gcloud compute instances import
.Jika direktori Anda hanya berisi satu file OVF, Anda dapat memberikan jalur ke file deskripsi atau jalur ke direktori yang berisi file OVF.
Untuk mengimpor file OVF menggunakan jalur ke file deskripsi, jalankan perintah berikut:
gcloud compute instances import VM_NAME \ --source-uri=gs:PATH_TO_OVF_FILE
Untuk mengimpor file OVF menggunakan jalur direktori, jalankan perintah berikut:
gcloud compute instances import VM_NAME \ --source-uri=gs:PATH_TO_OVF_DIRECTORY
Ganti kode berikut:
VM_NAME
: nama instance yang akan dibuatPATH_TO_OVF_FILE
: jalur ke file OVF di Cloud StoragePATH_TO_OVF_DIRECTORY
: jalur ke direktori yang berisi file OVF di Cloud Storage
Contoh
Untuk mengimpor
Ubuntu.ovf
file OVF dari direktorimy-ovf-directory
yang membuat instance bernamamy-instance
, jalankan perintah berikut:gcloud compute instances import my-instance \ --source-uri=gs://my-bucket/my-ovf-directory/Ubuntu.ovf
Untuk mengimpor file OVF dari direktori
my-ovf-directory
yang membuat instance bernamamy-instance
, jalankan perintah berikut:gcloud compute instances import my-instance \ --source-uri=gs://my-bucket/my-ovf-directory
Jika informasi guest OS dalam file deskripsi OVF salah atau jika ingin mengganti OS yang terdeteksi, Anda dapat menentukan sistem operasi dengan menambahkan flag
--os
. Untuk daftar nilai yang didukung, tinjau opsi flag--os
untuk perintahgcloud compute instances import
. Misalnya, untuk mengimpor file OVFUbuntu.ovf
dan membuat instance bernamamy-instance
yang menjalankan Ubuntu 16.04, jalankan perintah berikut:gcloud compute instances import my-instance \ --os=ubuntu-1604 \ --source-uri=gs://my-bucket/my-ovf-directory/Ubuntu.ovf
REST
Menambahkan perangkat virtual ke Cloud Storage.
Kirim permintaan
POST
ke Cloud Build API.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-instance-names=VM_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-ovf-import" ] }
Ganti kode berikut:
PROJECT_ID
: project ID untuk project tempat Anda ingin mengimpor file OVA.VM_NAME
: nama untuk instance mesin virtual yang akan dibuat. Contoh,my-instance
.SOURCE_URI
: URI untuk file OVF yang disimpan di Cloud Storage. Misalnya,gs://my-bucket/my-instance.ovf
.OS
: sistem operasi file OVF. Contoh,ubuntu-1604
. Flag--os
bersifat opsional secara default, tetapi Anda dapat mengganti OS yang terdeteksi menggunakan tanda ini. Untuk melihat daftar nilai yang didukung, tinjau opsi flag--os
untuk perintahgcloud compute instances import
.ZONE
: zona tempat untuk membuat instance VM. Jika dibiarkan kosong, zona default untuk project akan digunakan.
Untuk mengetahui nilai
args
tambahan yang dapat diberikan, lihat bagian flag opsional di Halaman GitHub impor OVF Compute Engine.Contoh respons
Contoh respons berikut menyerupai output yang ditampilkan:
{ "name": "operations/build/myproject-12345/operation-1578608233418", "metadata": { "@type": "type.googleapis.com/google.devtools.cloudbuild.v1.BuildOperationMetadata", "build": { "id": "3a2055bc-ccbd-4101-9434-d376b88b8940", "status": "QUEUED", "createTime": "2019-12-30T19:06:03.968694865Z", "steps": [ { "name": "gcr.io/compute-image-tools/gce_ovf_import:release", "env": [ "BUILD_ID=3a2055bc-ccbd-4101-9434-d376b88b8940" ], "args": [ "-instance-names=my-instance", "-ovf-gcs-path=gs://my-bucket/my-instance.ovf", "-os=ubuntu-1404", "-zone=asia-south1", "-client-id=api", "-timeout": "7056s" ] } ], "timeout": "7200s", "projectId": "myproject-12345", "logsBucket": "gs://12345.cloudbuild-logs.googleusercontent.com", "options": { "logging": "LEGACY" }, "logUrl": "https://console.cloud.google.com/cloud-build/builds/3a2055bc-ccbd-4101-9434-d376b88b8940?project=myproject-12345", "tags": [ "gce-ovf-import" ] } } }
Ada beberapa cara untuk memantau build Anda:
- Jalankan permintaan
projects.builds.get
menggunakan
build-id
yang ditampilkan. - Tinjau log yang dihosting di
logUrl
yang disediakan.
Mengimpor dengan setelan kustom
CPU dan memori kustom
gcloud
Untuk mengganti konfigurasi CPU atau memori yang ditentukan dalam file OVF,
ikuti langkah-langkah Google Cloud CLI untuk mengimpor OVA atau
mengimpor file OVF dan tentukan flag --custom-cpu
dan --custom-memory
.
Contoh
Misalnya, untuk mengimpor instance bernama my-instance
yang memiliki 2 CPU dan memori 2048 MB, jalankan perintah berikut:
gcloud compute instances import my-instance \ --source-uri=gs://my-bucket/Ubuntu.ova \ --custom-cpu=2 --custom-memory=2048MB
REST
Untuk mengganti konfigurasi CPU atau memori yang ditentukan dalam file OVF,
ikuti langkah-langkah Cloud Build API untuk mengimpor file OVA atau
mengimpor file OVF dan menentukan argumen -machine-type
. -machine-type
ini mewakili
jenis mesin yang telah ditetapkan atau
kustom
yang akan digunakan.
Contoh
Misalnya, untuk mengimpor instance bernama my-instance
yang memiliki 2 CPU dan memori 2048 MB, gunakan permintaan berikut.
Ganti PROJECT_ID
dengan project ID Anda.
POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-instance-names=my-instance", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-machine-type=custom-2-2048", "-zone=asia-south1", "-client-id=api", "-timeout=7056s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-ovf-import" ] }
Jaringan kustom
Jaringan kustom harus ditentukan dalam project yang sama dengan tempat Anda mengimpor image.
gcloud
Untuk menggunakan jaringan kustom, ikuti langkah-langkah Google Cloud CLI untuk mengimpor file OVA atau mengimpor file OVF dan menentukan flag --network
.
Jika jaringan dikonfigurasi dengan mode subnet kustom, Anda juga harus menentukan flag --subnet
dan --zone
.
Contoh 1—menggunakan jaringan kustom
Misalnya, asumsikan properti berikut:
- Nama VM:
my-instance
- Jaringan:
custom-vpc-network
- Subnet:
company-vpc-us-east1-c
- Zone:
us-east1-c
Jalankan perintah berikut untuk mengimpor instance dengan properti sebelumnya. Ganti SERVICE_PROJECT_ID
dengan ID
untuk project tempat Anda ingin mengimpor perangkat virtual.
gcloud compute instances import my-instance \ --source-uri=gs://my-bucket/Ubuntu.ova \ --project SERVICE_PROJECT_ID \ --network custom-vpc-network \ --subnet company-vpc-us-east1-c \ --zone us-east1-c
Contoh 2—menggunakan jaringan kustom (VPC bersama)
Misalnya, asumsikan properti berikut:
- Nama VM:
my-instance-2
- Jaringan:
my-shared-vpc
- Subnet:
my-shared-subnet
- Zone:
us-east1-c
Untuk mengimpor VM dengan properti sebelumnya, selesaikan langkah-langkah berikut:
Tambahkan peran
compute.networkUser
ke akun layanan Cloud Build. Untuk mengetahui informasi selengkapnya, lihat Memberikan peran yang diperlukan ke akun layanan Cloud Build.Impor VM.
gcloud compute instances import my-instance-2 \ --source-uri gs://my-bucket/Ubuntu.ova \ --project SERVICE_PROJECT_ID \ --network projects/HOST_PROJECT_ID/global/networks/my-shared-vpc \ --subnet projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/my-shared-subnet --zone us-east1-c
Ganti kode berikut:
SERVICE_PROJECT_ID
: ID untuk project tempat Anda ingin mengimpor perangkat virtualHOST_PROJECT_ID
: ID project tempat VPC bersama berada
REST
Untuk menggunakan jaringan kustom, ikuti langkah-langkah Cloud Build API untuk mengimpor file OVA atau mengimpor file OVF dan menentukan argumen -network
.
Jika jaringan dikonfigurasi dengan mode subnet kustom, Anda juga harus menentukan argumen -subnet
dan -zone
.
Contoh—menggunakan jaringan kustom
Misalnya, asumsikan properti berikut:
- Nama VM:
my-instance
- Jaringan:
custom-vpc-network
- Subnet:
company-vpc-us-east1-c
- Zone:
us-east1-c
Buat permintaan POST
berikut untuk mengimpor instance dengan properti sebelumnya. Ganti SERVICE_PROJECT_ID
dengan ID
untuk project tempat Anda ingin mengimpor perangkat virtual.
POST https://cloudbuild.googleapis.com/v1/projects/SERVICE_PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-instance-names=my-instance", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-zone=us-east1-c", "-network=custom-vpc-network", "-subnet=company-vpc-us-east1-c", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-ovf-import" ] }
Contoh 2—menggunakan jaringan kustom (VPC bersama)
Misalnya, asumsikan properti berikut:
- Nama VM:
my-instance-2
- Jaringan:
my-shared-vpc
- Subnet:
my-shared-subnet
- Zone:
us-east1-c
Untuk mengimpor VM dengan properti sebelumnya, selesaikan langkah-langkah berikut:
Tambahkan peran
compute.networkUser
ke akun layanan Cloud Build. Untuk mengetahui informasi selengkapnya, lihat Memberikan peran yang diperlukan ke akun layanan Cloud Build.Buat permintaan
POST
berikut untuk mengimpor VM.POST https://cloudbuild.googleapis.com/v1/projects/SERVICE_PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-instance-names=my-instance-2", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-zone=us-east1-c", "-network=projects/HOST_PROJECT_ID/global/networks/my-shared-vpc", "-subnet=projects/HOST_PROJECT_ID/regions/us-east1/subnetworks/my-shared-subnet", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-ovf-import" ] }
Ganti kode berikut:
SERVICE_PROJECT_ID
: ID untuk project tempat Anda ingin mengimpor perangkat virtual.HOST_PROJECT_ID
: ID project tempat VPC bersama berada
Mengimpor VM menggunakan jaringan yang tidak mengizinkan alamat IP eksternal
Untuk mengimpor VM menggunakan jaringan yang tidak mengizinkan alamat IP eksternal, selesaikan langkah-langkah berikut:
Menambahkan perangkat virtual ke Cloud Storage.
Proses impor mengharuskan pengelola paket diinstal di sistem operasi untuk VM. Pengelola paket ini mungkin perlu membuat permintaan ke package repository yang berada di luar Google Cloud. Agar dapat mengakses update ini, Anda perlu mengonfigurasi Cloud NAT. Untuk mengetahui informasi selengkapnya, lihat Membuat konfigurasi NAT menggunakan Cloud Router.
Konfigurasikan Akses Google Pribadi. Untuk petunjuk mendetail, lihat Mengonfigurasi Akses Google Pribadi.
Impor VM menggunakan Google Cloud CLI atau REST.
Saat VM dibuat dari perangkat virtual, VM sementara akan dibuat di project Anda. Untuk memastikan bahwa VM sementara ini tidak diberi alamat IP eksternal, Anda harus menentukan flag atau argumen tambahan.
Untuk informasi selengkapnya, klik tab berikut:
gcloud
Untuk mengimpor perangkat virtual dari Cloud Storage ke Compute Engine, gunakan perintah gcloud compute instances import
dengan flag --no-address
.
gcloud compute instances import VM_NAME \ --source-uri=SOURCE_URI \ --zone=ZONE \ --no-address
Ganti kode berikut:
VM_NAME
: nama instance yang ingin Anda buat.SOURCE_URI
: URI untuk file OVA atau OVF Anda di Cloud Storage. Contoh,gs://my-bucket/Ubuntu.ova
.ZONE
: zona tempat untuk membuat perangkat virtual. Jika dibiarkan kosong, zona default untuk project akan digunakan.
REST
Anda dapat mengimpor VM tanpa IP eksternal menggunakan Cloud Build API dengan penggantian untuk IP eksternal.
Untuk mengganti setelan IP eksternal yang ditentukan dalam file OVF,
ikuti langkah-langkah Cloud Build API untuk mengimpor file OVA atau
mengimpor file OVF dan menentukan -no-external-ip
.
POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-instance-names=VM_NAME", "-ovf-gcs-path=SOURCE_FILE", "-no-external-ip", "-zone=ZONE", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-ovf-import" ] }
Ganti kode berikut:
PROJECT_ID
: project ID untuk project tempat Anda ingin mengimpor image.VM_NAME
: nama VM yang akan dibuat.SOURCE_FILE
: URI untuk image di Cloud Storage. Contoh,gs://my-bucket/Ubuntu.ova
.ZONE
: zona tempat membuat image. Jika dibiarkan kosong, zona default untuk project akan digunakan.
Mengimpor file OVA dengan bootloader UEFI
gcloud
Anda dapat menggunakan perintah gcloud compute instances import
untuk memaksa impor menggunakan booting UEFI.
gcloud compute instances import VM_NAME \ --source-uri=SOURCE_URI \ --guest-os-features=UEFI_COMPATIBLE
Ganti kode berikut:
VM_NAME
: nama VM yang ingin Anda buat.SOURCE_URI
: URI untuk file OVA atau OVF Anda di Cloud Storage. Misalnya,gs://my-bucket/Ubuntu.ova
.
REST
Anda dapat mengimpor file OVA dengan bootloader UEFI menggunakan Cloud Build API dan menentukan argumen -uefi-compatible
.
Upload perangkat virtual ke Cloud Storage.
Di API, buat permintaan
POST
ke Cloud Build API.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-instance-names=VM_NAME", "-ovf-gcs-path=SOURCE_URI", "-uefi-compatible", "-zone=ZONE", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-ovf-import" ] }
Ganti kode berikut:
PROJECT_ID
: project ID untuk project tempat Anda ingin mengimpor file OVA.VM_NAME
: nama untuk instance mesin virtual yang akan dibuat. Contoh,my-instance
.SOURCE_URI
: URI untuk file OVA yang disimpan di Cloud Storage. Misalnya,gs://my-bucket/my-instance.ova
.ZONE
: zona tempat untuk membuat instance VM. Jika dibiarkan kosong, zona default untuk project akan digunakan.
Mengimpor perangkat virtual menggunakan akun layanan kustom
Selama proses impor perangkat virtual, instance virtual machine (VM) sementara akan dibuat dalam project Anda. Alat impor pada VM sementara ini harus diautentikasi.
Akun layanan adalah identitas yang terpasang pada VM. Token akses akun layanan dapat diakses melalui server metadata instance dan digunakan untuk mengautentikasi alat impor pada VM.
Secara default, proses impor menggunakan akun layanan Compute Engine default. Namun, jika akun layanan Compute Engine default dinonaktifkan di project Anda atau jika ingin menggunakan akun layanan Compute Engine kustom, Anda harus membuat akun layanan dan menentukannya untuk proses impor.
gcloud
Menambahkan perangkat virtual ke Cloud Storage.
Buat akun layanan dan tetapkan peran minimum. Untuk informasi selengkapnya tentang cara membuat akun layanan, lihat Membuat dan mengelola akun layanan.
Akun layanan Compute Engine yang ditentukan setidaknya harus memiliki peran berikut yang ditetapkan:
roles/compute.storageAdmin
roles/storage.objectViewer
Peran minimum ini diperlukan untuk akun layanan yang ditentukan untuk flag
--compute-service-account
. Untuk mengetahui informasi selengkapnya, lihat Memberikan peran yang diperlukan ke akun layanan Compute Engine.Gunakan perintah
gcloud compute instances import
untuk mengimpor perangkat virtual.gcloud compute instances import VM_NAME \ --source-uri=SOURCE_URI \ --zone=ZONE \ --compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=SCOPES
Ganti kode berikut:
VM_NAME
: nama instance yang ingin Anda buat.SOURCE_URI
: URI untuk file OVA atau OVF Anda di Cloud Storage. Contoh,gs://my-bucket/Ubuntu.ova
.ZONE
: zona tempat untuk membuat perangkat virtual. Jika dibiarkan kosong, zona default untuk project akan digunakan.TEMP_SERVICE_ACCOUNT_EMAIL
: alamat email yang terkait dengan akun layanan kustom yang dibuat di langkah sebelumnya. Akun layanan ini digunakan oleh VM sementara. Jika tidak ditentukan, VM akan menggunakan akun layanan Compute Engine default.SERVICE_ACCOUNT_EMAIL
: alamat email yang terkait dengan akun layanan kustom yang akan dilampirkan ke VM yang dibuat oleh proses impor. Tidak ada pembatasan izin untuk akun layanan ini. Anda dapat menyesuaikan akun layanan ini sesuai kebutuhan. Jika tidak ditentukan, akun layanan Compute Engine default akan ditambahkan ke VM.SCOPES
: menentukan tingkat akses untuk opsi--service-account
. Jika tidak ditentukan, cakupan default akan digunakan. Untuk mengetahui informasi selengkapnya, tinjau flag--scopes
.
REST
Menambahkan perangkat virtual ke Cloud Storage.
Buat akun layanan dan tetapkan peran minimum. Untuk informasi selengkapnya tentang cara membuat akun layanan, lihat Membuat dan mengelola akun layanan.
Akun layanan Compute Engine yang ditentukan setidaknya harus memiliki peran berikut yang ditetapkan:
roles/compute.storageAdmin
roles/storage.objectViewer
Peran minimum ini diperlukan untuk akun layanan yang ditentukan untuk argumen
-compute-service-account
. Untuk mengetahui informasi selengkapnya, lihat Memberikan peran yang diperlukan ke akun layanan Compute Engine.Di API, buat permintaan
POST
ke Cloud Build API.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-instance-names=VM_NAME", "-ovf-gcs-path=SOURCE_FILE", "-compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL", "-service-account=SERVICE_ACCOUNT_EMAIL", "-zone=ZONE", "-scopes=SCOPES", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-ovf-import" ] }
Ganti kode berikut:
PROJECT_ID
: project ID untuk project tempat Anda ingin mengimpor image.VM_NAME
: nama VM yang akan dibuat.SOURCE_FILE
: URI untuk image di Cloud Storage. Contoh,gs://my-bucket/Ubuntu.ova
.ZONE
: zona tempat membuat image. Jika dibiarkan kosong, zona default untuk project akan digunakan.TEMP_SERVICE_ACCOUNT_EMAIL
: alamat email yang terkait dengan akun layanan kustom yang dibuat di langkah sebelumnya. Akun layanan ini digunakan oleh VM sementara. Jika tidak ditentukan, VM akan menggunakan akun layanan Compute Engine default.SERVICE_ACCOUNT_EMAIL
: alamat email yang terkait dengan akun layanan kustom yang akan dilampirkan ke VM yang dibuat oleh proses impor. Tidak ada pembatasan izin untuk akun layanan ini. Anda dapat menyesuaikan akun layanan ini sesuai kebutuhan. Jika tidak ditentukan, akun layanan Compute Engine default akan ditambahkan ke VM.SCOPES
: menentukan tingkat akses untuk opsi-service-account
. Jika tidak ditentukan, cakupan default akan digunakan. Untuk mengetahui informasi selengkapnya, tinjau flag--scopes
.
Langkah selanjutnya
- Pelajari sole-tenant node.
- Pelajari BYOL.