Tutorial: Membuat dan mengelola Virtual Machine Scale Set dengan Azure CLI

Virtual Machine Scale Set memungkinkan Anda untuk menyebarkan dan mengelola sekumpulan komputer virtual. Sepanjang siklus hidup Set Skala Komputer Virtual, Anda mungkin perlu menjalankan satu atau beberapa tugas manajemen. Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat grup sumber daya
  • Buat Set Skala Mesin Virtual
  • Memperluas skala dan mengurangi skala
  • Menghentikan, Memulai, dan memulai ulang instans VM

Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.

Prasyarat

Artikel ini memerlukan Azure CLI versi 2.0.29 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.

Membuat grup sumber daya

Grup sumber daya Azure adalah wadah logis tempat sumber daya Azure dikerahkan dan dikelola. Grup sumber daya harus dibuat sebelum Set Skala Komputer Virtual. Buat grup sumber daya dengan perintah az group create . Dalam contoh ini, grup sumber daya bernama myResourceGroup dibuat di wilayah eastus .

az group create --name myResourceGroup --location eastus

Nama grup sumber daya ditentukan saat Anda membuat atau memodifikasi set skala di seluruh tutorial ini.

Membuat rangkaian skala

Penting

Mulai November 2023, set skala VM yang dibuat menggunakan PowerShell dan Azure CLI akan default ke Mode Orkestrasi Fleksibel jika tidak ada mode orkestrasi yang ditentukan. Untuk informasi selengkapnya tentang perubahan ini dan tindakan apa yang harus Anda ambil, buka Perubahan Krusial untuk Pelanggan VMSS PowerShell/CLI - Microsoft Community Hub

Anda membuat Virtual Machine Scale Set dengan perintah az vmss create . Contoh berikut membuat set skala bernama myScaleSet, dan menghasilkan kunci SSH jika tidak ada:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --orchestration-mode flexible \
  --image <SKU image> \
  --admin-username azureuser \
  --generate-ssh-keys

Dibutuhkan beberapa menit untuk membuat dan mengonfigurasi semua sumber daya set skala dan instans VM. Untuk mendistribusikan lalu lintas ke instans VM individual, load balancer juga dibuat.

Tampilkan informasi tentang instans Mesin Virtual di set skala Anda

Untuk melihat daftar instans VM dalam set skala, gunakan az vm list sebagai berikut:

az vm list --resource-group myResourceGroup --output table

Contoh output berikut memperlihatkan dua instans VM pada himpunan skala.

Name                 ResourceGroup    Location    Zones
-------------------  ---------------  ----------  -------
myScaleSet_instance1  myResourceGroup  eastus
myScaleSet_instance2  myResourceGroup  eastus

Untuk melihat informasi tambahan tentang instans VM tertentu, gunakan az vm show dan tentukan nama VM.

az vm show --resource-group myResourceGroup --name myScaleSet_instance1
{
  "hardwareProfile": {
    "vmSize": "Standard_DS1_v2",
  },
  "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1",
  "location": "eastus",
  "name": "myScaleSet_instance1",
  "networkProfile": {
    "networkInterfaces": [
      {
        "deleteOption": "Delete",
        "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-0396c71c",
        "primary": true,
        "resourceGroup": "myResourceGroup"
      }
    ]
  },
  "osProfile": {
    "adminUsername": "azureuser",
    "allowExtensionOperations": true,
    "computerName": "myScaleSN30BP1",
    "linuxConfiguration": {
      "disablePasswordAuthentication": true,
      "enableVmAgentPlatformUpdates": false,
      "patchSettings": {
        "assessmentMode": "ImageDefault",
        "patchMode": "ImageDefault"
      },
      "provisionVmAgent": true,
      "ssh": {
        "publicKeys": [
          {
            "keyData": "ssh-rsa",
            "path": "/home/azureuser/.ssh/authorized_keys"
          }
        ]
      }
    },
    "requireGuestProvisionSignal": true,
    "secrets": [],
  },
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "storageProfile": {
    "dataDisks": [],
    "imageReference": {
      "exactVersion": "XXXXX",
      "offer": "myOffer",
      "publisher": "myPublisher",
      "sku": "mySKU",
      "version": "latest"
    },
    "osDisk": {
      "caching": "ReadWrite",
      "createOption": "FromImage",
      "deleteOption": "Delete",
      "diskSizeGb": 30,
      "managedDisk": {
        "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myScaleSet_instance1_disk1",
        "resourceGroup": "myResourceGroup",
        "storageAccountType": "Premium_LRS"
      },
      "name": "myScaleSet_instance1_disk1",
      "osType": "Linux",
    }
  },
  "tags": {},
  "timeCreated": "2022-11-16T20:32:15.024581+00:00",
  "type": "Microsoft.Compute/virtualMachines",
  "virtualMachineScaleSet": {
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet",
    "resourceGroup": "myResourceGroup"
  },
}

Membuat set skala dengan ukuran instans VM tertentu

Saat Anda membuat set skala di awal tutorial, sebuah SKU VM default Standard_D1_v2 telah disediakan untuk instance VM. Anda dapat menentukan ukuran instans VM yang berbeda berdasarkan output dari az vm list-sizes. Contoh berikut akan membuat set skala dengan --vm-sku parameter untuk menentukan ukuran instans VM Standard_F1. Karena dibutuhkan beberapa menit untuk membuat dan mengonfigurasi semua sumber daya untuk set skala dan instans mesin virtual (VM), Anda tidak perlu menerapkan set skala yang berikut.

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --orchestration-mode flexible \
  --image <SKU image> \
  --vm-sku Standard_F1 \
  --admin-user azureuser \
  --generate-ssh-keys

Menyesuaikan kapasitas set skala

Saat Anda mengatur skala set VM di awal tutorial, dua instans VM diterapkan secara default. Anda dapat menentukan parameter --instance-count dengan az vmss create untuk mengubah jumlah instans yang dibuat dengan grup skala. Untuk menambah atau mengurangi jumlah instans VM dalam set skala yang ada, Anda dapat mengubah kapasitas secara manual. Pengaturan skala membuat atau menghapus jumlah instans VM yang diperlukan, lalu mengonfigurasi penyeimbang beban untuk mendistribusikan lalu lintas.

Untuk meningkatkan atau mengurangi jumlah instans VM secara manual dalam set skala, gunakan skala az vmss. Contoh berikut menetapkan jumlah instans VM dalam skala Anda yang diatur ke 3:

az vmss scale \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --new-capacity 3

Dibutuhkan beberapa menit untuk memutakhirkan kapasitas skala set Anda. Untuk melihat jumlah instans yang sekarang Anda miliki dalam sekala set, gunakan az vm list dan lakukan kueri pada grup sumber daya terkait.

az vm list --resource-group myResourceGroup --output table
Name                 ResourceGroup    Location    Zones
-------------------  ---------------  ----------  -------
myScaleSet_instance1  myResourceGroup  eastus
myScaleSet_instance2  myResourceGroup  eastus
myScaleSet_instance3  myResourceGroup  eastus

Menghentikan dan melepaskan alokasi instans VM dalam kumpulan skala

Untuk menghentikan semua instans VM dalam set skala, gunakan az vmss stop.

az vmss stop \
  --resource-group myResourceGroup \
  --name myScaleSet

Untuk menghentikan instans VM individual dalam set skala, gunakan az vm stop dan tentukan nama instans.

az vm stop \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

Instans VM yang dihentikan tetap dialokasikan dan terus dikenakan biaya komputasi. Jika Anda ingin instans VM dibatalkan alokasinya dan hanya dikenakan biaya penyimpanan, gunakan az vm deallocate dan tentukan nama instans yang ingin Anda batalkan alokasinya.

az vm deallocate \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

Memulai instans VM dalam set skala

Untuk memulai semua instans VM dalam set skala, gunakan az vmss start.

az vmss start \
  --resource-group myResourceGroup \
  --name myScaleSet

Untuk memulai instans VM tertentu dalam himpunan skala, gunakan az vm start dan tentukan nama instans.

az vm start \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

Menghidupkan ulang instans VM dalam kelompok skala

Untuk menghidupkan ulang semua instans VM dalam set skala, gunakan az vmss restart.

az vmss restart \
  --resource-group myResourceGroup \
  --name myScaleSet

Untuk memulai ulang instans VM individual dalam set skala, gunakan az vm restart dan tentukan nama instans.

az vm restart \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

Membersihkan sumber daya

Saat Anda menghapus grup sumber daya, semua sumber daya yang ada di dalamnya, seperti instans VM, jaringan virtual, dan disk, juga dihapus. Parameter --no-wait mengembalikan kontrol ke permintaan tanpa menunggu operasi selesai. Parameter --yes mengonfirmasi bahwa Anda ingin menghapus sumber daya tanpa perintah tambahan untuk melakukannya.

az group delete --name myResourceGroup --no-wait --yes

Langkah selanjutnya

Dalam tutorial ini, Anda mempelajari cara melakukan beberapa tugas pembuatan dan manajemen set skala dasar dengan Azure CLI:

  • Membuat grup sumber daya
  • Membuat rangkaian skala
  • Melihat dan menggunakan ukuran VM tertentu
  • Menyesuaikan ukuran grup skala secara manual
  • Lakukan tugas manajemen set skala umum seperti menghentikan, memulai, dan memulai ulang set skala Anda

Lanjutkan ke tutorial berikutnya untuk mempelajari cara menyambungkan ke instans kumpulan skala Anda.