Gunakan image mesin untuk menyimpan semua konfigurasi, metadata, izin, dan data dari satu atau beberapa disk untuk instance VM yang berjalan di Compute Engine. Untuk mengetahui informasi tentang kapan dan cara menggunakan image mesin, lihat Image mesin.
Dokumen ini menjelaskan langkah-langkah untuk mengimpor image mesin dari perangkat virtual.
Sebelum memulai
- Jika project tempat Anda ingin mengimpor image mesin memiliki kebijakan image tepercaya yang telah ditentukan, tambahkan
projects/compute-image-import
danprojects/compute-image-tools
ke daftar yang diizinkan penayang. - Jika Anda mengimpor appliance virtual dari project lain, lihat Mengimpor lintas project.
- Tinjau persyaratan file VM dan OVF sumber dalam panduan Compute Engine mengimpor perangkat virtual.
- Untuk mengetahui cara memenuhi persyaratan sebelum mengimpor image mesin, 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
-
Pembatasan dan batasan
- Anda dapat membagikan image mesin di seluruh project. Namun, jaringan VPC bersama tidak didukung.
- Fitur ini tidak didukung untuk project yang dilindungi dengan Kontrol Layanan VPC.
- Image mesin tidak dapat dibuat dari VM sumber yang memiliki lebih dari 200 TB disk yang terpasang.
Sistem operasi yang didukung
Untuk dukungan sistem operasi, lihat Detail sistem operasi.
Mengimpor image mesin
Anda dapat mengimpor image mesin dari peralatan virtual menggunakan Google Cloud CLI atau REST.
gcloud
Gunakan
perintah gcloud compute machine-images import
untuk mengimpor image mesin dari perangkat virtual.
gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS
Ganti kode berikut:
MACHINE_IMAGE_NAME
: nama image mesin yang ingin Anda impor.SOURCE_URI
: jalur ke file OVA atau OVF Anda di Cloud Storage.OS
: sistem operasi file OVA. Flag ini bersifat opsional secara default, tetapi mungkin diperlukan dalam beberapa kasus. Sebaiknya Anda memberikan flag ini.
Contoh
Misalnya, Anda dapat menggunakan perintah gcloud
berikut untuk mengimpor image
mesin yang disebut my-machine-image
dari file OVA sumber bernama my-ova
,
yang disimpan dalam direktori gs://my-bucket
dan menjalankan centos-7
:
gcloud compute machine-images import my-machine-image \ --source-uri=gs://my-bucket/my-ova/ \ --os=centos-7
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":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Ganti kode berikut:
PROJECT_ID
: project ID untuk project tempat Anda ingin mengimpor file OVA.MACHINE_IMAGE_NAME
: nama untuk image mesin yang akan diimpor. Contoh,my-machine-image
.SOURCE_URI
: URI untuk file OVA atau direktori yang berisi paket OVF yang disimpan di Cloud Storage. Contoh,gs://my-bucket/my-instance.ova
.OS
: sistem operasi file OVA. Contoh,ubuntu-1604
. Tanda ini secara default bersifat opsional, tetapi mungkin diperlukan dalam beberapa kasus. Sebaiknya Anda memberikan flag ini.
Untuk mengetahui nilai
args
tambahan yang dapat diberikan, lihat bagian flag opsional di Halaman GitHub impor OVF Compute Engine.
Mengimpor image mesin dengan penggantian OVF
CPU dan memori kustom
gcloud
Untuk mengganti konfigurasi CPU atau memori yang ditentukan dalam file OVF, ikuti langkah-langkah Google Cloud CLI untuk mengimpor image mesin dan menentukan --custom-cpu
dan --custom-memory
.
Contoh
Image mesin bernama my-machine-image
memiliki
penggantian berikut yang diterapkan ke setelan di file OVF:
- Sistem operasi:
Ubuntu 1404
- CPU:
2 CPUs
- Memori:
2048 MB
Untuk mengimpor my-machine-image
dengan penggantian ini, jalankan perintah berikut:
gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 --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 Compute Engine API untuk
mengimpor image mesin
dan tentukan argumen -machine-type
.
-machine-type
ini mewakili jenis mesin yang telah ditetapkan atau
kustom
yang akan digunakan.
Contoh
Image mesin bernama my-machine-image
memiliki
penggantian berikut yang diterapkan ke setelan di file OVF:
- Sistem operasi:
Ubuntu 1404
- CPU:
2 CPUs
- Memori:
2048 MB
Untuk mengimpor my-machine-image
dengan penggantian ini, buat permintaan berikut ke Compute Engine API.
POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-machine-type=custom-2-2048", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Ganti PROJECT_ID
dengan project ID Anda.
Jaringan kustom
gcloud
Untuk menyiapkan jaringan kustom, ikuti langkah-langkah Google Cloud CLI untuk mengimpor image mesin dan menentukan flag --network
.
Jika jaringan dikonfigurasi dengan mode subnet kustom, Anda juga harus menentukan flag --subnet
dan --zone
.
Contoh
Image mesin bernama my-machine-image
memiliki
penggantian berikut yang diterapkan ke setelan di file OVF:
- Sistem operasi:
Ubuntu 1404
- Jaringan:
custom-vpc-network
- Subnet:
company-vpc-us-east1-c
- Zona:
us-east1-c
Untuk mengimpor my-machine-image
dengan penggantian ini, jalankan contoh perintah berikut:
gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 \ --source-uri=gs://my-bucket/Ubuntu.ova \ --network=custom-vpc-network \ --subnet=company-vpc-us-east1-c \ --zone=us-east1-c
REST
Untuk menggunakan jaringan kustom, ikuti langkah-langkah Compute Engine API untuk mengimpor image mesin dan menentukan argumen -network
.
Jika jaringan dikonfigurasi dengan mode subnet kustom, Anda juga harus menentukan argumen -subnet
dan -zone
.
Contoh
Image mesin bernama my-machine-image
memiliki
penggantian berikut yang diterapkan ke setelan di file OVF:
- Sistem operasi:
Ubuntu 1404
- Jaringan:
custom-vpc-network
- Subnet:
company-vpc-us-east1-c
- Zona:
us-central1-c
Untuk mengimpor my-machine-image
dengan penggantian ini, buat permintaan berikut ke Compute Engine API.
POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-zone=us-central1-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=$BUsILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Ganti PROJECT_ID
dengan project ID Anda.
Mengimpor image mesin dalam jaringan yang tidak mengizinkan IP eksternal
Untuk mengimpor image mesin menggunakan jaringan yang tidak mengizinkan alamat IP eksternal, selesaikan langkah-langkah berikut:
Menambahkan perangkat virtual ke Cloud Storage.
Proses impor mengharuskan pengelola paket diinstal pada sistem operasi untuk image mesin. 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 informasi selengkapnya, lihat Mengonfigurasi Akses Google Pribadi.
Impor image mesin menggunakan Google Cloud CLI atau Cloud Build API.
Saat Anda mengimpor image mesin 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 mengetahui informasi selengkapnya tentang flag atau argumen yang diperlukan, klik tab berikut:
gcloud
Gunakan perintah gcloud compute machine-images import
dengan flag --no-address
.
gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=SOURCE_URI \ --os=OS \ --zone=ZONE \ --no-address
Ganti kode berikut:
MACHINE_IMAGE_NAME
: nama image mesin yang ingin Anda impor.SOURCE_URI
: URI untuk file OVA atau OVF Anda di Cloud Storage. Contoh,gs://my-bucket/Ubuntu.ova
.OS
: sistem operasi file OVA. Flag ini bersifat opsional secara default, tetapi mungkin diperlukan dalam beberapa kasus. Sebaiknya Anda memberikan flag ini. Untuk mengetahui daftar nilai yang didukung, lihat opsi flag--os
untuk perintahgcloud compute machine-images import
.ZONE
: zona tempat mengimpor image mesin. Jika dibiarkan kosong, zona default untuk project akan digunakan.
REST
Gunakan Cloud Build API dan tentukan argumen -no-external-ip
.
POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-no-external-ip", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Ganti kode berikut:
PROJECT_ID
: project ID untuk project tempat Anda ingin mengimpor image mesin.MACHINE_IMAGE_NAME
: nama untuk image mesin yang akan diimpor. Contoh,my-machine-image
.SOURCE_URI
: URI untuk file OVA yang disimpan di Cloud Storage. Contoh,gs://my-bucket/my-machine.ova
.OS
: sistem operasi file OVA. Contoh,ubuntu-1604
. Tanda ini secara default bersifat opsional, tetapi mungkin diperlukan dalam beberapa kasus. Sebaiknya Anda memberikan flag ini. Untuk daftar nilai yang didukung, lihat opsi flag--os
untuk perintahgcloud compute instances import
.ZONE
: zona tempat mengimpor image mesin.
Mengimpor image mesin menggunakan akun layanan kustom
Selama impor image mesin, instance mesin virtual (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 VM dan digunakan untuk mengautentikasi alat impor di 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 machine-images import
untuk mengimpor image mesin dari perangkat virtual.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS \ --compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=SCOPES
Ganti kode berikut:
MACHINE_IMAGE_NAME
: nama image mesin yang ingin Anda impor.SOURCE_URI
: jalur ke file OVA atau OVF Anda di Cloud Storage.OS
: sistem operasi file OVA. Flag ini bersifat opsional secara default, tetapi mungkin diperlukan dalam beberapa kasus. Sebaiknya Anda memberikan flag ini.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 apa pun yang dibuat dari image mesin ini. 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.Kirim permintaan
POST
ke Cloud Build API.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL", "-service-account=SERVICE_ACCOUNT_EMAIL", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Ganti kode berikut:
PROJECT_ID
: project ID untuk project tempat Anda ingin mengimpor image mesin.MACHINE_IMAGE_NAME
: nama untuk image mesin yang akan diimpor. Contoh,my-machine-image
.SOURCE_URI
: URI untuk file OVA yang disimpan di Cloud Storage. Contoh,gs://my-bucket/my-machine.ova
.OS
: sistem operasi file OVA. Contoh,ubuntu-1604
. Tanda ini secara default bersifat opsional, tetapi mungkin diperlukan dalam beberapa kasus. Sebaiknya Anda memberikan flag ini. Untuk daftar nilai yang didukung, lihat opsi flag--os
untuk perintahgcloud compute instances import
.ZONE
: zona tempat mengimpor image mesin.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 apa pun yang dibuat dari image mesin ini. 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
.
Apa langkah selanjutnya?
- Pelajari image mesin lebih lanjut
- Buat instance VM dari image mesin