Bagikan melalui


Menyebarkan Azure Spot Virtual Machines menggunakan Azure CLI

Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel

Menggunakan Azure Spot Virtual Machines memungkinkan Anda untuk memanfaatkan kapasitas kami yang tidak digunakan dengan penghematan biaya yang signifikan. Kapan saja ketika Azure membutuhkan kapasitas kembali, infrastruktur Azure mengeluarkan Azure Spot Virtual Machines. Oleh karena itu, Azure Spot Virtual Machines sangat cocok untuk beban kerja yang dapat menangani gangguan seperti pekerjaan pemrosesan batch, lingkungan pengembangan/pengujian, beban kerja komputasi besar, dan banyak lagi.

Harga untuk Azure Spot Virtual Machines berbeda-beda berdasarkan wilayah dan SKU. Untuk informasi lebih lanjut, lihat harga VM untuk Linux dan Windows.

Anda memiliki opsi untuk menetapkan harga maksimum yang ingin Anda bayar, per jam, untuk VM. Harga maksimum untuk Azure Spot Virtual Machine dapat ditetapkan dalam dolar AS (USD), menggunakan hingga 5 tempat desimal. Misalnya, nilainya 0.98765 adalah harga maksimum $0,98765 USD per jam. Jika Anda menetapkan harga maksimum menjadi -1, VM dikeluarkan berdasarkan harga. Harga untuk VM adalah harga saat ini untuk Azure Spot Virtual Machine atau harga untuk VM standar, yang pernah kurang, selama ada kapasitas dan kuota yang tersedia. Untuk informasi selengkapnya tentang pengaturan harga maksimal, lihat Azure Spot Virtual Machines - Harga.

Proses untuk membuat Azure Spot Virtual Machine menggunakan Azure CLI sama dengan yang dirinci dalam artikel mulai cepat. Cukup tambahkan parameter '--priority Spot', atur --eviction-policy ke ( Deallocate default) atau Delete, dan berikan harga maksimum atau -1.

Menginstal Azure CLI

Untuk membuat Azure Spot Virtual Machines, Anda harus menjalankan Azure CLI versi 2.0.74 atau yang lebih baru. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, Pasang Azure CLI.

Masuk ke Azure menggunakan az login.

az login

Membuat Azure Spot Virtual Machine

Contoh ini menunjukkan cara menyebarkan Linux Azure Spot Virtual Machine yang tidak dikeluarkan berdasarkan harga. Kebijakan pengeluaran diatur untuk membatalkan alokasi VM, agar dapat dimulai ulang di lain waktu. Jika Anda ingin menghapus VM dan disk yang mendasarinya ketika VM digusur, atur --eviction-policy ke Delete.

az group create -n mySpotGroup -l eastus
az vm create \
    --resource-group mySpotGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --priority Spot \
    --max-price -1 \
	--eviction-policy Deallocate

Setelah VM dibuat, Anda dapat meminta untuk melihat harga tagihan maks untuk semua VM dalam grup sumber daya.

az vm list \
   -g mySpotGroup \
   --query '[].{Name:name, MaxPrice:billingProfile.maxPrice}' \
   --output table

Mensimulasikan pengeluaran

Anda dapat mensimulasikan pengeluaran Azure Spot Virtual Machine menggunakan REST, PowerShell, atau CLI, untuk menguji seberapa baik aplikasi Anda merespons pengeluaran mendadak.

Dalam kebanyakan kasus, Anda ingin menggunakan REST API Virtual Machines - Simulasikan Pengeluaran untuk membantu pengujian aplikasi otomatis. Untuk REST, Response Code: 204 berarti simulasi pengeluaran telah berhasil. Anda dapat menggabungkan pengeluaran yang disimulasikan dengan layanan Peristiwa Terjadwal, untuk mengotomatiskan bagaimana aplikasi Anda merespons saat VM dikeluarkan.

Untuk melihat performa peristiwa terjadwal, tonton Azure Friday - Menggunakan Peristiwa Terjadwal Azure untuk mempersiapkan pemeliharaan VM.

Pengujian cepat

Agar pengujian cepat menunjukkan cara kerja pengeluaran yang disimulasikan, mari kita telusuri kueri layanan peristiwa terjadwal untuk melihat seperti apa tampilannya saat Anda mensimulasikan pengeluaran menggunakan Azure CLI.

Layanan Peristiwa Terjadwal diaktifkan untuk layanan Anda saat pertama kali mengajukan permintaan untuk peristiwa.

Jarak jauh ke VM Anda, lalu buka perintah.

Dari perintah pada VM Anda, ketik:

curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01

Respon pertama ini bisa memakan waktu hingga 2 menit. Mulai sekarang, output akan segera ditampilkan.

Dari komputer yang menginstal Azure CLI (seperti komputer lokal Anda), simulasikan penggusuran menggunakan az vm simulate-eviction. Ganti nama grup sumber daya dan nama VM dengan nama Anda sendiri.

az vm simulate-eviction --resource-group mySpotRG --name mySpot

Output respons memiliki Status: Succeeded jika permintaan berhasil dibuat.

Langsung kembali ke koneksi jarak jauh Anda ke Spot Virtual Machine dan ajukan lagi kueri titik akhir Peristiwa Terjadwal. Ulangi perintah berikut hingga Anda mendapatkan output yang berisi informasi selengkapnya:

curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01

Saat Layanan Peristiwa Terjadwal mendapatkan pemberitahuan pengeluaran, Anda mendapatkan respons yang terlihat mirip dengan output berikut:

{"DocumentIncarnation":1,"Events":[{"EventId":"A123BC45-1234-5678-AB90-ABCDEF123456","EventStatus":"Scheduled","EventType":"Preempt","ResourceType":"VirtualMachine","Resources":["myspotvm"],"NotBefore":"Tue, 16 Mar 2021 00:58:46 GMT","Description":"","EventSource":"Platform"}]}

Anda dapat melihat bahwa "EventType":"Preempt", dan sumber daya adalah sumber daya VM "Resources":["myspotvm"].

Anda juga dapat melihat kondisi pengeluaran VM dengan memeriksa "NotBefore" - VM tidak akan dikeluarkan sebelum waktu yang diberikan, sehingga jendela Anda agar aplikasi Anda menutup dengan baik.

Langkah berikutnya

Anda juga dapat membuat Azure Spot Virtual Machine menggunakan Azure PowerShell, portal, atau templat.

Kueri informasi harga saat ini menggunakan API harga eceran Azure untuk informasi tentang Azure Spot Virtual Machine. meterName dan skuName keduanya berisi Spot.

Jika Anda mengalami kesalahan, lihat Kode galat.