Buat komputer virtual di availability zone menggunakan Azure CLI

Berlaku untuk: ✔️ VM Linux ✔️ Set skala fleksibel

Artikel ini membahas penggunaan Azure CLI untuk membuat VM Linux di Azure availability zone. Availability zoneadalah zona terpisah secara fisik di wilayah Azure. Gunakan zona ketersediaan untuk melindungi aplikasi dan data Anda dari kemungkinan kegagalan atau kehilangan seluruh pusat data.

Untuk menggunakan availability zone, buat komputer virtual Anda di wilayah Azure yang didukung.

Pastikan Anda telah menginstal Azure CLI terbaru dan masuk ke akun Azure dengan az masuk.

Cek ketersediaan VM SKU

Ketersediaan ukuran VM, atau SKU, dapat beragam menurut wilayah dan zona. Untuk membantu merencanakan penggunaan Zona Ketersedaiaan, Anda dapat mencantumkan SKU VM yang tersedia menurut wilayah dan zona Azure. Kemampuan ini memastikan bahwa Anda memilih ukuran VM yang sesuai, dan mendapatkan ketahanan yang diinginkan di seluruh zona. Untuk informasi selengkapnya tentang berbagai jenis dan ukuran VM, lihat gambaran Ukuran VM.

Anda dapat melihat VM SKU yang tersedia dengan perintah az vm list-skus. Contoh berikut mencantumkan SKU VM yang tersedia di wilayah eastus2:

az vm list-skus --location eastus2 --output table

Outputnya mirip dengan contoh ringkas berikut, yang menunjukkan Zona Ketersediaan tempat setiap ukuran VM tersedia:

ResourceType      Locations  Name               [...]    Tier       Size     Zones
----------------  ---------  -----------------           ---------  -------  -------
virtualMachines   eastus2    Standard_DS1_v2             Standard   DS1_v2   1,2,3
virtualMachines   eastus2    Standard_DS2_v2             Standard   DS2_v2   1,2,3
[...]
virtualMachines   eastus2    Standard_F1s                Standard   F1s      1,2,3
virtualMachines   eastus2    Standard_F2s                Standard   F2s      1,2,3
[...]
virtualMachines   eastus2    Standard_D2s_v3             Standard   D2_v3    1,2,3
virtualMachines   eastus2    Standard_D4s_v3             Standard   D4_v3    1,2,3
[...]
virtualMachines   eastus2    Standard_E2_v3              Standard   E2_v3    1,2,3
virtualMachines   eastus2    Standard_E4_v3              Standard   E4_v3    1,2,3

Membuat grup sumber daya

Buat grup sumber daya dengan perintah az group create.

Grup sumber daya Azure adalah kontainer logis yang disebarkan dan dikelola sumber daya Azure. Grup sumber daya harus dibuat sebelum pembuatan komputer virtual. Dalam contoh ini, grup sumber daya bernama myResourceGroupVM dibuat di wilayah eastus2. US Timur 2 adalah salah satu wilayah Azure yang mendukung availability zone.

az group create --name myResourceGroupVM --location eastus2

Grup sumber daya ditentukan saat membuat atau memodifikasi VM, yang dapat dilihat di seluruh artikel ini.

Buat komputer virtual

Buat komputer virtual dengan perintah az vm create.

Saat membuat komputer virtual, tersedia beberapa opsi seperti gambar sistem operasi, ukuran disk, dan kredensial administratif. Dalam contoh ini, komputer virtual dibuat dengan nama myVM yang menjalankan Server Ubuntu. VM dibuat di availability zone 1. Secara default, VM dibuat di ukuran Standard_DS1_v2.

az vm create --resource-group myResourceGroupVM --name myVM --location eastus2 --image Ubuntu2204 --generate-ssh-keys --zone 1

Mungkin perlu waktu beberapa menit untuk membuat VM. Setelah VM dibuat, Azure CLI mengeluarkan informasi tentang VM. Catat nilai zones, yang menunjukkan availability zone tempat VM berjalan.

{
  "fqdns": "",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus2",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVM",
  "zones": "1"
}

Konfirmasi zona untuk disk terkelola dan alamat IP

Saat VM disebarkan di zona ketersediaan, disk terkelola untuk VM dibuat di zona ketersediaan yang sama. Secara default, alamat IP publik juga dibuat di zona tersebut. Contoh berikut mendapatkan informasi tentang sumber daya ini.

Untuk memverifikasi bahwa disk yang dikelola VM berada di availability zone, gunakan perintah az vm show untuk mengembalikan ID disk. Dalam contoh ini, ID disk disimpan dalam variabel yang digunakan di langkah selanjutnya.

osdiskname=$(az vm show -g myResourceGroupVM -n myVM --query "storageProfile.osDisk.name" -o tsv)

Sekarang Anda bisa mendapatkan informasi tentang managed disk:

az disk show --resource-group myResourceGroupVM --name $osdiskname

Outputnya menunjukkan bahwa managed disk berada di zona ketersediaan yang sama dengan VM:

{
  "creationData": {
    "createOption": "FromImage",
    "imageReference": {
      "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westeurope/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/16.04-LTS/Versions/latest",
      "lun": null
    },
    "sourceResourceId": null,
    "sourceUri": null,
    "storageAccountId": null
  },
  "diskSizeGb": 30,
  "encryptionSettings": null,
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/disks/osdisk_761c570dab",
  "location": "eastus2",
  "managedBy": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "name": "myVM_osdisk_761c570dab",
  "osType": "Linux",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroupVM",
  "sku": {
    "name": "Premium_LRS",
    "tier": "Premium"
  },
  "tags": {},
  "timeCreated": "2018-03-05T22:16:06.892752+00:00",
  "type": "Microsoft.Compute/disks",
  "zones": [
    "1"
  ]
}

Gunakan perintah az vm list-ip-addresses untuk mengembalikan nama sumber daya alamat IP publik di myVM. Dalam contoh ini, nama disimpan dalam variabel yang digunakan di langkah selanjutnya.

ipaddressname=$(az vm list-ip-addresses -g myResourceGroupVM -n myVM --query "[].virtualMachine.network.publicIpAddresses[].name" -o tsv)

Sekarang Anda bisa mendapatkan informasi tentang alamat IP:

az network public-ip show --resource-group myResourceGroupVM --name $ipaddressname

Outputnya menunjukkan bahwa alamat IP berada di availability zone yang sama dengan VM:

{
  "dnsSettings": null,
  "etag": "W/\"b7ad25eb-3191-4c8f-9cec-c5e4a3a37d35\"",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupVM/providers/Microsoft.Network/publicIPAddresses/myVMPublicIP",
  "idleTimeoutInMinutes": 4,
  "ipAddress": "52.174.34.95",
  "ipConfiguration": {
    "etag": null,
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupVM/providers/Microsoft.Network/networkInterfaces/myVMVMNic/ipConfigurations/ipconfigmyVM",
    "name": null,
    "privateIpAddress": null,
    "privateIpAllocationMethod": null,
    "provisioningState": null,
    "publicIpAddress": null,
    "resourceGroup": "myResourceGroupVM",
    "subnet": null
  },
  "location": "eastUS2",
  "name": "myVMPublicIP",
  "provisioningState": "Succeeded",
  "publicIpAddressVersion": "IPv4",
  "publicIpAllocationMethod": "Dynamic",
  "resourceGroup": "myResourceGroupVM",
  "resourceGuid": "8c70a073-09be-4504-0000-000000000000",
  "tags": {},
  "type": "Microsoft.Network/publicIPAddresses",
  "zones": [
    "1"
  ]
}

Langkah berikutnya

Dalam artikel ini, Anda telah mempelajari cara membuat VM di zona ketersediaan. Pelajari selengkapnya tentang ketersediaan untuk Azure VM.