Media penginstalan untuk aplikasi Windows sering disediakan sebagai file ISO, tetapi Compute Engine tidak memungkinkan Anda mengekspos file ISO sebagai drive DVD virtual ke instance VM.
Untuk mengakses konten file ISO di satu VM Windows, Anda dapat melakukan salah satu tindakan berikut:
Salin file ISO ke VM dan pasang secara lokal. Pendekatan ini berfungsi dengan baik jika Anda hanya perlu mengakses konten file ISO di satu instance VM.
Buat Persistent Disk dari file ISO dan pasang disk dalam mode hanya baca ke satu atau beberapa instance VM. Pendekatan ini berfungsi dengan baik jika beberapa VM memerlukan akses ke konten file ISO.
Dokumen ini menjelaskan cara membuat Persistent Disk dari file ISO dan memasang disk dalam mode hanya baca ke satu atau beberapa VM.
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.
Menyiapkan file ISO
Jika file ISO tersedia secara publik melalui HTTP, Anda tidak perlu mendownload file ISO terlebih dahulu. Untuk menggunakan file ISO lokal, Anda dapat mengupload file ISO ke Cloud Storage.
URL HTTP
Di konsol Trusted Cloud , buka Cloud Shell dengan mengklik tombol Aktifkan Cloud Shell
.
Buat variabel lingkungan untuk URL download. URL dapat berupa URL HTTP atau HTTPS, tetapi harus dapat diakses secara anonim.
ISO_URL=https://example.com/big.iso
File ISO lokal
Di konsol Trusted Cloud , buat bucket Cloud Storage.
-
Bergantung pada ukuran file ISO, proses upload dapat memerlukan waktu beberapa menit atau jam.
Di Storage browser, buka objek yang diupload.
Di halaman Detail objek, salin URI objek. URI diawali dengan
gs://
.Buka Cloud Shell dengan mengklik tombol Activate Cloud Shell
.
Buat variabel lingkungan untuk URL download. Ganti
URI
dengan URI yang Anda salin.ISO_URL=URI
Buat disk yang berisi konten file ISO
Untuk menyalin konten file ISO ke disk baru, buat VM sementara, lalu buat image dari disk:
Dari Cloud Shell, tentukan nama yang ingin Anda tetapkan ke disk baru:
DISK_NAME=iso
Buat disk baru untuk menyalin konten file ISO:
gcloud compute disks create $DISK_NAME \ --size=10GB \ --zone=$(gcloud config get-value compute/zone)
Gunakan ukuran disk yang lebih besar jika file ISO Anda melebihi 9 GB.
Buat skrip startup untuk VM sementara. Skrip startup akan melakukan tindakan berikut:
- Format disk sekunder dengan sistem file NTFS.
- Download file ISO dari URL HTTP atau Cloud Storage yang Anda tentukan.
- Pasang file ISO dan salin isinya ke disk sekunder.
cat << "EOF" > startup.ps1 $DownloadDirectory = 'c:\download\' $ErrorActionPreference = 'Stop' $MetadataUrl = 'http://metadata.google.internal/computeMetadata/v1/instance' $DownloadUrl = (Invoke-RestMethod ` -Headers @{"Metadata-Flavor" = "Google"} ` -Uri "$MetadataUrl/attributes/iso") mkdir $DownloadDirectory\Source -Force Write-Host '== Formatting secondary disk... ===' -ForegroundColor Black -BackgroundColor Yellow Set-Disk -Number 1 -IsOffline $false Clear-Disk -Number 1 -RemoveData -Confirm:$false -ErrorAction SilentlyContinue Initialize-Disk -Number 1 -PartitionStyle MBR New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D -IsActive | Format-Volume -FileSystem 'NTFS' -Confirm:$false Write-Host '== Downloading ISO... =============' -ForegroundColor Black -BackgroundColor Yellow if ($DownloadUrl.StartsWith('gs:')) { & gcloud storage cp $DownloadUrl "$DownloadDirectory\Source\image.iso" | Out-Default } else { Import-Module BitsTransfer Start-BitsTransfer -Source $DownloadUrl -Destination "$DownloadDirectory\Source\image.iso" } Write-Host '== Mounting ISO... ================' -ForegroundColor Black -BackgroundColor Yellow Mount-DiskImage -ImagePath "$DownloadDirectory\Source\image.iso" -StorageType ISO Write-Host '== Copying ISO contents... ========' -ForegroundColor Black -BackgroundColor Yellow Copy-Item 'e:\*' 'd:\' -Force -Recurse -PassThru ` | Where-Object { -Not $_.PSIsContainer } ` | Set-ItemProperty -Name IsReadOnly -Value $False Write-Host '== Completed. =====================' -ForegroundColor Black -BackgroundColor Yellow Invoke-RestMethod ` -Headers @{'Metadata-Flavor'='Google'} ` -Method PUT ` -Uri "$MetadataUrl/guest-attributes/vm/ready" ` -Body true EOF
Buat VM Windows Server 2019 yang menggunakan skrip startup dan disk yang Anda buat sebelumnya:
gcloud compute instances create iso-copier \ --machine-type=n1-standard-2 \ --image-family=windows-2019-core \ --image-project=windows-cloud \ --disk=name=$DISK_NAME,auto-delete=no \ --metadata=enable-guest-attributes=true,iso=$ISO_URL \ --metadata-from-file=windows-startup-script-ps1=startup.ps1 \ --scopes=https://www.googleapis.com/auth/devstorage.read_only
VM memerlukan waktu sekitar 2 menit untuk dimulai. Bergantung pada ukuran file ISO, perlu waktu 5-15 menit lagi agar operasi penyalinan file selesai. Anda dapat mengamati progresnya dengan menjalankan perintah berikut:
gcloud compute instances tail-serial-port-output iso-copier \ --zone=$(gcloud config get-value compute/zone)
Tunggu hingga VM selesai menjalankan skrip startup:
until gcloud compute instances get-guest-attributes iso-copier \ --zone=$(gcloud config get-value compute/zone) \ --query-path=vm/ready > /dev/null 2>&1 do sleep 5 && echo waiting for VM to finish... done
Matikan dan hapus VM:
gcloud compute instances delete iso-copier \ --zone=$(gcloud config get-value compute/zone) \ --quiet
Perhatikan bahwa disk sekunder tidak dihapus karena dipasang dengan parameter
auto-delete=no
.
Disk kini siap digunakan. Anda dapat memasang disk dalam mode hanya baca ke satu atau beberapa instance VM dalam zona yang sama.
Membagikan disk di seluruh zona dan region dengan membuat image
Agar konten file ISO tersedia di zona atau region lain, buat image Compute Engine:
Dari Cloud Shell, buat image dari disk yang Anda buat di bagian sebelumnya:
gcloud compute images create $DISK_NAME \ --source-disk=$DISK_NAME \ --source-disk-zone=$(gcloud config get-value compute/zone)
Pembersihan
Untuk menghindari timbulnya biaya lebih lanjut setelah menyelesaikan proses ini, Anda dapat menghapus resource yang Anda buat:
Hapus disk:
gcloud compute disks delete $DISK_NAME \ --zone=$(gcloud config get-value compute/zone) \ --quiet
Hapus gambar:
gcloud compute images delete $DISK_NAME
Langkah berikutnya
Pelajari cara membuat gambar kustom.
Pelajari cara mengelola akses ke image kustom.
Pelajari lebih lanjut beban kerja Windows di Compute Engine.
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-08 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-08 UTC."],[[["Compute Engine cannot directly expose an ISO file as a virtual DVD drive to a VM instance, but provides two methods to access the ISO contents: locally mounting the file on a single VM or creating a Persistent Disk for read-only access by multiple VMs."],["To prepare an ISO file for use, it can either be accessed publicly via HTTP or uploaded to Cloud Storage if it's a local file."],["A temporary VM is used to copy the ISO file contents onto a new disk, which involves formatting the disk, downloading the ISO, mounting it, and copying its contents, handled by a startup script."],["After the contents are copied, the temporary VM can be shut down and deleted, and the new Persistent Disk can then be attached in read-only mode to one or more VM instances."],["To extend the availability of the ISO contents to other zones or regions, you can create a Compute Engine image from the disk."]]],[]] -