Untuk membuat VM Windows di Google Cloud, Anda harus menggunakan image VM yang telah menginstal Windows atau Windows Server secara default. Google Cloud menyediakan image publik untuk versi Windows Server yang umum digunakan, tetapi image ini hanya cocok untuk lisensi on demand. Untuk menggunakan lisensi Windows Anda sendiri (BYOL), Anda harus mengimpor image yang ada, atau Anda harus mem-build image kustom.
Panduan ini menjelaskan cara membuat image kustom menggunakan alat dan proses yang sama dengan yang digunakan Google Cloud untuk membuat image publik.
Untuk menyelesaikan panduan ini, Anda memerlukan:
- File ISO yang berisi media penginstalan Windows atau Windows Server.
- Secara opsional, satu atau beberapa paket update Windows (dalam format
.msu
) yang akan diterapkan ke image.
Sebelum memulai
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Membuat disk baru.
- Mengekstrak image Windows (
install.wim
dari media penginstalan) ke disk. - Menambahkan driver yang diperlukan, mengonfigurasi Penyiapan Windows agar berjalan tanpa pengawasan, dan membuat disk dapat di-booting.
- Mem-booting dari disk baru untuk menjalankan Penyiapan Windows.
- Menginstal software tambahan termasuk agen OS Tamu.
- Membuat image dari disk.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API, Cloud Build API, and Cloud Storage API APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API, Cloud Build API, and Cloud Storage API APIs.
- Di komputer lokal, buka jendela Windows PowerShell.
Lakukan inisialisasi variabel:
$PROJECT_ID = "
PROJECT_ID
"dengan
PROJECT_ID
adalah project ID dari project Google Cloud yang Anda buat di bagian sebelumnya.Lakukan inisialisasi variabel lain agar berisi nomor project:
$PROJECT_NUMBER = gcloud projects describe $PROJECT_ID --format=value`(projectNumber`)
- Di komputer lokal, buka jendela terminal.
Lakukan inisialisasi variabel:
PROJECT_ID=
PROJECT_ID
dengan
PROJECT_ID
adalah project ID dari project Google Cloud yang Anda buat di bagian sebelumnya.Lakukan inisialisasi variabel lain agar berisi nomor project:
PROJECT_NUMBER=`gcloud projects describe $PROJECT_ID --format=value\(projectNumber\)`
Di komputer lokal, download paket penginstalan yang diperlukan:
Buat bucket Cloud Storage baru untuk menyimpan file penginstalan:
gcloud storage buckets create gs://$PROJECT_ID-media --project=$PROJECT_ID
Berikan peran Storage Object Viewer ke Cloud Build agar dapat membaca file penginstalan:
gcloud storage buckets add-iam-policy-binding gs://$PROJECT_ID-media --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com --role=roles/storage.objectViewer
Upload paket penginstalan PowerShell:
gcloud storage cp
POWERSHELL_PACKAGE
gs://$PROJECT_ID-media/PowerShell.msidengan
POWERSHELL_PACKAGE
adalah jalur ke paket penginstalan PowerShell.Upload paket penginstalan .NET Framework:
gcloud storage cp
DOTNET_PACKAGE
gs://$PROJECT_ID-media/dotnet-sdk.exedengan
DOTNET_PACKAGE
adalah jalur ke paket penginstalan NET Framework.Upload paket penginstalan gcloud CLI:
gcloud storage cp
CLOUDSDK_PACKAGE
gs://$PROJECT_ID-media/GoogleCloudSDKInstaller.exedengan
CLOUDSDK_PACKAGE
adalah jalur ke paket penginstalan gcloud CLI.Upload file ISO yang berisi media penginstalan Windows Anda:
gcloud storage cp
ISO
gs://$PROJECT_ID-media/dengan
ISO
adalah nama file ISO.Secara opsional, upload paket update tambahan:
gcloud storage cp
UPDATE_DIR
/*.msu gs://$PROJECT_ID-media/updates/dengan
UPDATE_DIR
adalah direktori yang berisi paket update.Di komputer lokal, clone repositori Git yang berisi alur kerja
daisy
untuk mem-build image Windows:git clone https://github.com/GoogleCloudPlatform/compute-image-tools.git
Beralih ke direktori
windows
:cd compute-image-tools/daisy_workflows/image_build/windows/
Di direktori
windows
, Anda akan menemukan pilihan file dengan akhiran.wf.json
. File ini berisi definisi alur kerja Daisy untuk versi Windows yang biasa digunakan:Versi Windows File alur kerja Windows Server Core 2022 (64-bit) windows-server-2022-dc-core-uefi-byol.wf.json
Windows Server 2019 (64-bit) windows-server-2019-dc-uefi-byol.wf.json
Windows Server Core 2019 (64-bit) windows-server-2019-dc-core-uefi-byol.wf.json
Windows Server 2016 (64-bit) windows-server-2016-dc-uefi-byol.wf.json
Windows Server Core 2016 (64-bit) windows-server-2016-dc-core-uefi-byol.wf.json
Windows 11 21H2 (64-bit) windows-11-21h2-ent-x64-uefi.wf.json
Windows 11 22H2 (64-bit) windows-11-22h2-ent-x64-uefi.wf.json
Windows 11 23H2 (64-bit) windows-11-23h2-ent-x64-uefi.wf.json
Windows 10 21H2 (64-bit) windows-10-21h2-ent-x64-uefi.wf.json
Windows 10 22H2 (64-bit) windows-10-22h2-ent-x64-uefi.wf.json
Buka file alur kerja yang paling cocok dengan versi Windows yang ingin Anda instal. Jika perlu, ubah setelan edisi Windows (
edition
) dan kunci lisensi (product_key
) dalam file alur kerja agar cocok dengan media penginstalan Anda.Jika Anda tidak yakin dengan nama edisi yang benar, buka perintah PowerShell yang ditinggikan dan jalankan perintah berikut untuk mencantumkan semua edisi yang didukung oleh media penginstalan Anda:
$IsoFile = "
ISO
" $Mount = Mount-DiskImage -ImagePath (Resolve-Path $IsoFile) $DriveLetter = ($Mount | Get-Volume).DriveLetter Get-WindowsImage -ImagePath "$($DriveLetter):\sources\install.wim" | select ImageName Dismount-DiskImage -InputObject $Mount | Out-NullGanti
ISO
dengan jalur lokal ke image ISO.Di direktori
windows
, buat file baru bernamacloudbuild.yaml
dan tempelkan kode berikut:timeout: 14400s # 4 hour timeout for entire build steps: - name: 'gcr.io/compute-image-tools/daisy' timeout: 14400s # 4 hour timeout for build step waitFor: ['-'] args: - -project=$PROJECT_ID - -zone=us-central1-a - -var:updates=gs://$PROJECT_ID-media/updates/ - -var:pwsh=gs://$PROJECT_ID-media/PowerShell.msi - -var:dotnet48=gs://$PROJECT_ID-media/dotnet-sdk.exe - -var:cloudsdk=gs://$PROJECT_ID-media/GoogleCloudSDKInstaller.exe - -var:media=gs://$PROJECT_ID-media/
ISO
-WORKFLOW
Ganti:
ISO
: nama file ISO di Cloud Storage.WORKFLOW
: nama file alur kerja yang sesuai dengan versi Windows yang Anda gunakan.
Kirim build ke Cloud Build:
gcloud builds submit --project $PROJECT_ID --async
Proses build memerlukan waktu sekitar empat jam. Anda dapat melacak status build di konsol Google Cloud di bagian Cloud Build > History.
- Pastikan Anda telah mengupload paket penginstalan dan file ISO yang tepat.
- Pastikan Anda memilih alur kerja yang cocok dengan versi Windows file ISO.
- Tinjau log build di Cloud Build dan periksa apakah ada pesan error.
- Jika build tampaknya macet, tinjau output port serial instance VM yang dibuat oleh build dan periksa pesan error.
- Pelajari alat daisy lebih lanjut.
- Pelajari lebih lanjut alur kerja daisy untuk mem-build image.
- Pelajari cara membawa lisensi yang sudah ada ke Compute Engine.
- Baca praktik terbaik untuk menggunakan kelompok image.
Memahami proses build
Untuk menginstal Windows dari awal, pendekatan yang umum adalah mem-booting komputer dari DVD atau file ISO yang berisi file penginstalan Windows. Tidak seperti beberapa hypervisor lokal, Compute Engine tidak mengizinkan Anda melakukan booting dari file ISO.
Untuk menginstal Windows dari awal, Anda harus mengikuti pendekatan yang berbeda yang memerlukan langkah-langkah berikut:
Panduan ini menjelaskan cara menggunakan Cloud Build, alat
daisy
, dan alur kerja referensi yang tersedia di GitHub untuk mengotomatiskan prosesnya, bukan melakukan langkah-langkah ini secara manual.daisy
adalah alat command line open source yang memungkinkan Anda menjalankan alur kerja. Alur kerja ditulis sebagai file JSON dan berisi urutan langkah. Setiap langkah tersebut menjelaskan operasi Compute Engine – misalnya, membuat disk, atau menonaktifkan instance VM. Oleh karena itu, alur kerja Daisy cocok untuk mengotomatiskan langkah-langkah yang diperlukan untuk mem-build image Windows dari awal.Alur kerja daisy untuk mem-build image Windows kustom akan membuat dua instance VM sementara. Instance VM pertama (awalan
bootstrap
) melakukan langkah-langkah yang diperlukan untuk membuat disk yang dapat di-booting. Instance VM kedua (dengan awalaninstall
) menjalankan Penyiapan Windows dan melakukan semua langkah yang tersisa.Menyiapkan project untuk mem-build image
Untuk mencegah alat daisy mengganggu instance VM atau infrastruktur yang ada, buat project khusus untuk mem-build image:
Langkah berikutnya berbeda-beda, bergantung pada apakah Anda menggunakan Windows atau Linux di komputer lokal:
Windows
Linux
Mengupload file penginstalan
Sekarang Anda mengumpulkan semua file penginstalan yang diperlukan untuk image kustom dan menguploadnya ke bucket Cloud Storage. Dengan menyimpan file di bucket Cloud Storage, Anda memastikan bahwa file dapat diakses oleh
daisy
dan oleh instance VM sementara yang digunakandaisy
untuk mem-build image.Sekarang Anda siap mem-build image kustom.
Membangun image
Menjalankan alur kerja
daisy
untuk mem-build image kustom memerlukan waktu hingga empat jam. Daripada menjalankandaisy
secara lokal, Anda kini membuat konfigurasi Cloud Build sehingga dapat mengizinkan Cloud Build menjalankan alur kerja di latar belakang.Menggunakan gambar kustom
Setelah build selesai, Anda dapat menemukan image BYOL kustom di Konsol Google Cloud di bagian Compute Engine > Images.
Untuk membantu membedakan beberapa versi gambar yang sama, proses build menyisipkan stempel waktu ke dalam nama gambar, misalnya
windows-server-2019-dc-v1613488342
. Selain itu, proses ini mengaitkan image dengan kelompok image kustom, misalnyawindows-server-2019
.Untuk membuat instance VM yang menggunakan image BYOL kustom, Anda harus menyediakan instance VM di node tenant tunggal.
Pemecahan masalah
Jika Anda menduga bahwa proses build gagal atau tidak berjalan, gunakan pendekatan berikut untuk mendiagnosis situasinya:
Langkah selanjutnya
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 2024-12-22 UTC.
-