إنشاء جهاز ظاهري في منطقة توفر باستخدام Azure CLI

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة

توضح هذه المقالة استخدام Azure CLI لإنشاء جهاز ظاهري بنظام Linux في منطقة توفر Azure. منطقة التوفر عبارة عن منطقة منفصلة فعليًا، داخل منطقة Azure. يمكنك استخدام مناطق التوفر لحماية التطبيقات والبيانات من فشل أو فقدان غير محتمل لمركز بيانات بأكمله.

لاستخدام منطقة توفر، أنشئ جهازك الظاهري في منطقة Azure مدعومة.

تأكد من تثبيت أحدث إصدار من Azure CLI وتسجيل الدخول إلى حساب Azure باستخدام az login.

التحقق من توفر SKU للجهاز الظاهري

قد يختلف توفر أحجام الأجهزة الظاهرية أو وحدات SKU حسب المنطقة والإقليم. لمساعدتك في التخطيط لاستخدام مناطق توفر، يمكنك إدراج وحدات SKU المتوفرة للأجهزة الظاهرية حسب منطقة وإقليم Azure. تضمن هذه القدرة اختيار حجم جهاز ظاهري مناسب، والحصول على المرونة المطلوبة عبر المناطق. لمزيد من المعلومات حول أنواع الأجهزة الظاهرية وأحجامها المختلفة، راجع نظرة عامة على أحجام الأجهزة الظاهرية.

يمكنك عرض وحدات SKU للأجهزة الظاهرية المتوفرة باستخدام الأمر az vm list-skus. يسرد المثال التالي وحدات SKU للأجهزة الظاهرية المتوفرة في منطقة Eastus2:

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

الإخراج مشابه للمثال المكثف التالي، والذي يُظهر مناطق التوفر التي يتوفر فيها كل حجم جهاز ظاهري:

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

إنشاء مجموعة الموارد

أنشئ مجموعة موارد باستخدام الأمر az group create.

مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها. يجب إنشاء مجموعة موارد قبل جهاز ظاهري. في هذا المثال، يتم إنشاء مجموعة موارد باسم myResourceGroupVM في منطقة eastus2. East US 2 هي إحدى مناطق Azure التي تدعم مناطق التوفر.

az group create --name myResourceGroupVM --location eastus2

عند إنشاء أو تعديل الجهاز الظاهري، يتم تحديد مجموعة الموارد التي يمكن رؤيتها من خلال هذه المقالة.

إنشاء جهاز ظاهري

أنشئ جهازًا ظاهريًا باستخدام الأمر az vm create.

عند إنشاء جهاز ظاهري، تتوفر العديد من الخيارات مثل صورة نظام التشغيل وحجم القرص وبيانات الاعتماد الإدارية. في هذا المثال، يتم إنشاء جهاز ظاهري بالاسم myVM يعمل على تشغيل خادم Ubuntu. يتم إنشاء الجهاز الظاهري في منطقة توفر 1. بشكل افتراضي، يتم إنشاء الجهاز الظاهري بالحجم Standard_DS1_v2.

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

قد يستغرق إنشاء جهاز ظاهري بضع دقائق. بمجرد إنشاء جهاز ظاهري، يقوم Azure CLI بإخراج معلومات حول الجهاز الظاهري. لاحظ قيمة zones، التي تشير إلى منطقة التوفر التي يعمل فيها الجهاز الظاهري.

{
  "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"
}

تأكيد المنطقة للقرص المُدار وعنوان IP

عند توزيع جهاز ظاهري في منطقة توفر، يتم إنشاء قرص مدار للجهاز الظاهري في نفس منطقة التوفر. بشكل افتراضي، يتم أيضاً إنشاء عنوان IP عام في تلك المنطقة. تحصل الأمثلة التالية على معلومات حول هذه الموارد.

للتحقق من وجود القرص المُدار للجهاز الظاهري في منطقة التوفر، استخدم الأمر az vm show لإرجاع معرّف القرص. في هذا المثال، يتم تخزين معرّف القرص في متغير بحيث يمكن استخدامه في خطوة لاحقة.

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

يمكنك الآن الحصول على معلومات حول القرص المُدار:

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

يوضح الإخراج أن القرص المُدار في نفس منطقة التوفر مثل الجهاز الظاهري:

{
  "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"
  ]
}

استخدم الأمر az vm list-ip-addresses لإرجاع اسم مورد عنوان IP العام في myVM. في هذا المثال، يتم تخزين الاسم في متغير بحيث يمكن استخدامه في خطوة لاحقة.

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

الآن يمكنك الحصول على معلومات حول عنوان IP:

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

يوضح الإخراج أن عنوان IP في نفس منطقة التوفر مثل الجهاز الظاهري:

{
  "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"
  ]
}

الخطوات التالية

في هذه المقالة، تعلمت كيفية إنشاء جهاز ظاهري في منطقة توافر الخدمات. تعرف على المزيد حول توفر أجهزة Azure الظاهرية.