Dokumen ini menjelaskan prasyarat untuk mengimpor dan mengekspor image di Compute Engine.
Anda dapat berbagi instance virtual machine (VM), file disk virtual, dan image mesin dari lingkungan cloud lain atau dari lingkungan lokal dengan mengimpor dan mengekspor image dari Cloud Storage. Checklist berikut merangkum persyaratan yang harus Anda penuhi sebelum mengimpor dan mengekspor image:
- Menyiapkan akses ke bucket Cloud Storage
- Memberikan peran yang diperlukan ke akun pengguna Anda
- Memberikan peran yang diperlukan ke akun layanan Cloud Build
- Memberikan peran yang diperlukan ke akun layanan Compute Engine
Sebelum memulai
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses yang digunakan untuk memverifikasi identitas Anda untuk mengakses Trusted Cloud by S3NS layanan dan API.
Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
- Set a default region and zone.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Trusted Cloud .
Menyiapkan akses ke bucket Cloud Storage
Anda harus memiliki akses ke bucket Cloud Storage yang dapat digunakan oleh alat impor atau ekspor. Jika Anda tidak memiliki bucket Cloud Storage, lihat artikel Membuat bucket Cloud Storage.
Untuk menyiapkan akses ke bucket Cloud Storage, lihat artikel Memberikan peran yang diperlukan ke akun Anda dan akun layanan Compute Engine.
Jika Anda mengekspor image, alat ekspor akan mengupload image tersebut ke bucket Cloud Storage.
Jika Anda hendak mengimpor image, Anda harus mengupload image tersebut ke bucket Cloud Storage terlebih dahulu. Alat impor akan mendownload file dari bucket Cloud Storage ke Compute Engine, lalu alat ini akan membuat image di Compute Engine dari file disk tersebut.
Memberikan peran IAM yang diperlukan
Alat impor dan ekspor image VM memerlukan akun berikut untuk menjalankan operasi atas namanya:
- Akun pengguna. Akun tempat Anda menjalankan perintah impor dan ekspor.
- Akun layanan Cloud Build. Akun layanan Cloud Build default yang dibuat saat alat impor atau ekspor mengaktifkan Cloud Build API.
- Akun layanan Compute Engine Akun layanan Compute Engine default atau khusus kyang diperlukan untuk alur kerja impor dan ekspor.
Memberikan peran yang diperlukan ke akun pengguna Anda
Untuk mengimpor atau mengekspor image, akun pengguna Anda memerlukan peran berikut:
- Peran Storage Admin (
roles/storage.admin
) - Peran Viewer (
roles/viewer
) - Peran Admin IAM Project (
roles/resourcemanager.projectIamAdmin
) - Peran Editor Cloud Build (
roles/cloudbuild.builds.editor
)
Konsol
Buka halaman IAM & Admin untuk project atau organisasi.
Cari akun Anda dan klik
Edit.Di daftar Select a role, pilih peran berikut:
- Cloud Storage > Storage Admin
- Project > Viewer
- Resource Manager > Project IAM Admin
- Cloud Build > Cloud Build Editor
Simpan perubahan Anda.
gcloud
Pada langkah-langkah berikut, Anda akan menggunakan perintah
gcloud projects add-iam-policy-binding
untuk memberikan peran yang diperlukan di level project.Berikan peran
roles/storage.admin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/storage.admin'
Ganti kode berikut:
PROJECT_ID
: Trusted Cloud project ID untuk project AndaMEMBER
: akun yang menjalankan perintah impor dan ekspor—misalnya,user:export-user@gmail.com
Berikan peran
roles/viewer
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
Berikan peran
roles/resourcemanager.projectIamAdmin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/resourcemanager.projectIamAdmin'
Berikan peran
roles/cloudbuild.builds.editor
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/cloudbuild.builds.editor'
REST
Baca kebijakan yang ada dengan metode
getIamPolicy
resource. Untuk project, gunakan metodeprojects.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ganti
PROJECT_ID
dengan project ID, misalnya,my-project-1
.Untuk memberikan peran yang diperlukan ke akun Anda, edit kebijakan dengan editor teks.
Misalnya, untuk memberikan peran yang diperlukan ke akun
user:export-user@gmail.com
Anda, tambahkan binding berikut ke kebijakan:{ { "role":"roles/storage.admin", "member":[ "user:export-user@gmail.com" ] } { "roles":"roles/viewer", "member":[ "user:export-user@gmail.com" ] } { "roles":"roles/resourcemanager.projectIamAdmin", "member":[ "user:export-user@gmail.com" ] } { "roles":"roles/cloudbuild.builds.editor", "member":[ "user:export-user@gmail.com" ] } }
Untuk menulis kebijakan yang telah diperbarui, gunakan metode
setIamPolicy
.Misalnya, untuk menetapkan kebijakan di level project, gunakan metode
project.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Memberikan peran yang diperlukan ke akun layanan Cloud Build
Saat Anda menggunakan konsol Trusted Cloud atau gcloud CLI guna mengimpor atau mengekspor image untuk pertama kalinya, alat ini akan mencoba mengaktifkan Cloud Build API dan memberikan peran yang diperlukan ke akun layanan Cloud Build.
- Peran Service Account Token Creator
(
roles/iam.serviceAccountTokenCreator
) - Peran Service Account User
(
roles/iam.serviceAccountUser
) - Peran Compute Admin(
roles/compute.admin
)Agar tidak memberikan peran Compute Admin, Anda dapat membuat peran khusus dengan izin IAM Compute Engine berikut dan memberikannya ke akun layanan Cloud Build.
- Peran Compute Network User (
roles/compute.networkUser
)Peran ini hanya diperlukan saat Anda mengimpor atau mengekspor image yang menggunakan VPC Bersama.
Di project VPC Bersama, berikan peran Compute Network User kepada akun layanan Cloud Build yang berada di project tempat Anda mengimpor atau mengekspor image.
Namun, Anda dapat memberikan peran ini secara manual untuk memastikan bahwa izin yang diperlukan berlaku:
Konsol
Setelah mengaktifkan Cloud Build API, buka halaman IAM & Admin untuk project atau organisasi.
Temukan akun layanan Cloud Build, lalu klik
Edit.Jika peran yang diperlukan tidak tercantum, lakukan hal berikut:
- Klik Add another role.
Di daftar Select a role, pilih peran wajib yang ingin Anda tambahkan:
- Service Account > Service Account Token Creator
- Service Account > Service Account User
Compute Engine > Compute Admin
Atau, Anda dapat memilih peran Custom. Lihat bagian awal Izin yang diperlukan untuk peran khusus dalam dokumen ini.
Klik Save untuk menyimpan perubahan.
Opsional: Jika Anda mengimpor atau mengekspor image yang menggunakan VPC Bersama, pilih peran Compute Network User di project VPC Bersama:
- Dari pemilih project di bagian atas konsol, pilih project host VPC Bersama.
- Di halaman IAM & Admin, klik Grant access.
- Pada kolom New principals, masukkan alamat email
akun layanan Cloud Build:
GantiPROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com'
PROJECT_NUMBER
dengan nomor unik project tempat Anda mengimpor atau mengekspor gambar. - Dalam daftar Select a role, pilih Compute Engine > peran Compute Network User.
- Klik Save untuk menyimpan perubahan.
gcloud
Pada langkah-langkah berikut, Anda akan menggunakan perintah
gcloud projects add-iam-policy-binding
untuk memberikan peran yang diperlukan di level project.Berikan peran
roles/compute.admin
ke akun layanan Cloud Build. Agar tidak memberikan peranroles/compute.admin
, Anda dapat membuat peran khusus dengan izin yang diperlukan, lalu berikan peran tersebut ke akun layanan Cloud Build. Lihat bagian awal Izin yang diperlukan untuk peran khusus dalam dokumen ini.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com' \ --role='roles/compute.admin'
Ganti kode berikut:
PROJECT_ID
: Trusted Cloud project ID untuk project AndaPROJECT_NUMBER
: nomor project untuk project AndaTrusted Cloud
Berikan peran
roles/iam.serviceAccountUser
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com' \ --role='roles/iam.serviceAccountUser'
Berikan peran
roles/iam.serviceAccountTokenCreator
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com' \ --role='roles/iam.serviceAccountTokenCreator'
Opsional: Jika Anda mengekspor atau mengimpor image yang menggunakan VPC Bersama, berikan peran
roles/compute.networkUser
:gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER@cloudbuild.s3ns-system.iam.gserviceaccount.com' \ --role='roles/compute.networkUser'
Ganti kode berikut:
HOST_PROJECT_ID
: ID project host tempat VPC Bersama beradaPROJECT_NUMBER
: nomor unik project tempat Anda mengimpor atau mengekspor image
REST
Baca kebijakan yang ada dengan metode
getIamPolicy
resource. Untuk project, gunakan metodeprojects.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ganti
PROJECT_ID
dengan project ID, misalnya,my-project-1
.Untuk memberikan peran yang diperlukan ke akun Anda, edit kebijakan dengan editor teks.
Misalnya, untuk memberikan peran yang diperlukan ke
serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com
, tambahkan binding berikut ke kebijakan:{ { "role":"roles/compute.admin", "member":[ "serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com" ] } { "roles":"roles/iam.serviceAccountUser", "member":[ "serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com" ] } { "roles":"roles/iam.serviceAccountTokenCreator", "member":[ "serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com" ] } }
Untuk menghindari pemberian peran
roles/compute.admin
, Anda dapat membuat peran khusus dengan izin yang diperlukan, lalu berikan peran tersebut ke akun layanan Cloud Build. Lihat bagian awal Izin yang diperlukan untuk peran khusus dalam dokumen ini.Opsional: Jika Anda mengekspor atau mengimpor image yang menggunakan VPC Bersama, berikan peran
roles/compute.networkUser
pada project VPC Bersama.POST https://cloudresourcemanager.googleapis.com/v1/projects/HOST_PROJECT_ID:getIamPolicy
Ganti
HOST_PROJECT_ID
dengan ID project VPC Bersama.Tambahkan binding IAM berikut ke akun layanan Cloud Build:
{ { "roles":"roles/compute.networkUser", "member":[ "serviceAccount:12345@cloudbuild.s3ns-system.iam.gserviceaccount.com" ] } }
Untuk menulis kebijakan yang telah diperbarui, gunakan metode
setIamPolicy
.Misalnya, untuk menetapkan kebijakan di level project, gunakan metode
project.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Untuk mengetahui informasi selengkapnya tentang cara mengelola akses ke resource, lihat Memberikan, mengubah, dan mencabut akses ke resource.
Memberikan peran yang diperlukan ke akun layanan Compute Engine
Saat Anda menggunakan Trusted Cloud konsol atau gcloud CLI guna mengimpor atau mengekspor image untuk pertama kalinya, alat ini akan mencoba memberikan peran yang diperlukan ke akun layanan Compute Engine default.
Bergantung pada konfigurasi kebijakan organisasi Anda, akun layanan default mungkin secara otomatis diberi peran Editor di project Anda. Sebaiknya Anda menonaktifkan pemberian peran otomatis dengan menerapkan batasan kebijakan organisasi
iam.automaticIamGrantsForDefaultServiceAccounts
. Jika Anda membuat organisasi setelah 3 Mei 2024, batasan ini diterapkan secara default.Jika Anda menonaktifkan pemberian peran otomatis, Anda harus menentukan peran mana yang akan diberikan ke akun layanan default, lalu memberikan peran tersebut secara manual.
Jika akun layanan default sudah memiliki peran Editor, sebaiknya ganti peran Editor dengan peran yang kurang permisif.
Akun layanan Compute Engine Anda harus memiliki peran berikut:
- Peran Compute Storage Admin
(
roles/compute.storageAdmin
): diperlukan untuk mengekspor dan mengimpor image VM - Peran Storage Object Viewer
(
roles/storage.objectViewer
): diperlukan untuk mengimpor image VM - Peran Storage Object Admin
(
roles/storage.objectAdmin
): diperlukan untuk mengekspor image VM
Konsol
Buka halaman IAM & Admin untuk project atau organisasi.
Temukan akun layanan Compute Engine, lalu klik
Edit.Di daftar Select a role, pilih peran berikut:
- Compute Engine > Compute Storage Admin
- Cloud Storage > Storage Object Viewer
- Cloud Storage > Storage Object Admin
Simpan perubahan Anda.
gcloud
Pada langkah-langkah berikut, Anda akan menggunakan perintah
gcloud projects add-iam-policy-binding
untuk memberikan peran yang diperlukan di level project.Berikan peran
roles/compute.storageAdmin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com' \ --role='roles/compute.storageAdmin'
Jika Anda mengimpor image, berikan peran
roles/storage.objectViewer
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com' \ --role='roles/storage.objectViewer'
Jika Anda mengekspor image, berikan peran
roles/storage.objectAdmin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com' \ --role='roles/storage.objectAdmin'
REST
Baca kebijakan yang ada dengan metode
getIamPolicy
resource. Untuk project, gunakan metodeprojects.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ganti
PROJECT_ID
dengan project ID, misalnya,my-project-1
.Untuk memberikan peran yang diperlukan ke akun Anda, edit kebijakan dengan editor teks.
Misalnya, untuk memberikan peran yang diperlukan kepada
serviceAccount:12345-compute@developer.s3ns-system.iam.gserviceaccount.com
untuk mengimpor image, tambahkan binding berikut ke kebijakan:{ { "role":"roles/compute.storageAdmin", "member":[ "serviceAccount:12345-compute@developer.s3ns-system.iam.gserviceaccount.com" ] } { "roles":"roles/storage.objectViewer", "member":[ "serviceAccount:12345-compute@developer.s3ns-system.iam.gserviceaccount.com" ] } }
Untuk menulis kebijakan yang telah diperbarui, gunakan metode
setIamPolicy
.Misalnya, untuk menetapkan kebijakan di level project, gunakan metode
project.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Jika tidak ingin menggunakan akun layanan Compute Engine default, Anda dapat menentukan akun layanan yang dikelola pengguna menggunakan flag
--compute-service-account
dalamgcloud
perintah impor dan ekspor. Untuk mengetahui informasi lebih lanjut tentang penggunaan akun layanan Compute Engine khusus, lihat referensi berikut:- Mengimpor disk virtual dengan akun layanan khusus
- Mengimpor peralatan virtual dengan akun layanan khusus
- Mengimpor image mesin dari peralatan virtual dengan akun layanan khusus
- Mengekspor image khusus dengan akun layanan khusus
Langkah berikutnya
- Mengekspor image khusus ke Cloud Storage.
- Membagikan image Anda ke seluruh project.
- Memilih metode impor.
- Mengimpor disk virtual
- Mengimpor perangkat virtual
- Mengimpor image mesin dari perangkat virtual
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-21 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-21 UTC."],[[["\u003cp\u003eThe Compute Engine image import feature is now located within Migrate to Virtual Machines, and it is recommended to use this new feature for importing virtual disks to Google Cloud.\u003c/p\u003e\n"],["\u003cp\u003eImporting and exporting images requires access to a Cloud Storage bucket, which involves uploading images to the bucket for import or allowing the export tool to upload images to the bucket, and the proper authentication must be set for each process.\u003c/p\u003e\n"],["\u003cp\u003eThe VM image import and export process involves user accounts, Cloud Build service accounts, and Compute Engine service accounts, each of which must have specific IAM roles granted, including Storage Admin, Viewer, Project IAM Admin, and Cloud Build Editor for the user account.\u003c/p\u003e\n"],["\u003cp\u003eCloud Build service accounts require roles like Service Account Token Creator, Service Account User, and Compute Admin, or alternatively a custom role with specified Compute Engine permissions, along with Compute Network User for Shared VPC usage.\u003c/p\u003e\n"],["\u003cp\u003eThe Compute Engine service account needs Compute Storage Admin role, Storage Object Viewer role for image imports, and Storage Object Admin role for image exports, and there is an option to enforce policies to manage default service account grants to enhance security.\u003c/p\u003e\n"]]],[],null,[]] -