البدء السريع: إنشاء موازن تحميل عام لتحميل موازنة الأجهزة الظاهرية باستخدام Azure CLI

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

رسم تخطيطي للموارد المنشورة لموازن تحميل عام قياسي.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

المتطلبات الأساسية

  • هذا يتطلب التشغيل السريع الإصدار 2.0.28 أو أحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.

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

مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها.

قم بإنشاء مجموعة موارد باستخدام az group create:

  az group create \
    --name CreatePubLBQS-rg \
    --location eastus

إنشاء شبكة ظاهرية

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

أنشئ شبكة ظاهرية باستخدام az network vnet create. تحتوي الشبكة الظاهرية والشبكة الفرعية على الموارد التي تم نشرها لاحقا في هذه المقالة.

  az network vnet create \
    --resource-group CreatePubLBQS-rg \
    --location eastus \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

بإنشاء عنوان IP عام

للوصول إلى تطبيق الويب الخاص بك على الإنترنت، تحتاج إلى عنوان IP عام لموازن التحميل.

استخدم az network-public-ip create لإنشاء IP عام للواجهة الأمامية لموازن التحميل.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard \
    --zone 1 2 3

لإنشاء عنوان IP عام للمنطقة في المنطقة 1 بدلا من ذلك، استخدم الأمر التالي:

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard \
    --zone 1

إنشاء موازنة التحميل

يوضح هذا القسم بالتفصيل كيفية إنشاء المكونات التالية من موازن التحميل وتكوينها:

  • تجمع IP للواجهة الأمامية الذي يتلقى نسبة استخدام الشبكة الواردة على موازن التحميل

  • تجمع IP للواجهة الخلفية حيث يرسل تجمع الواجهة الأمامية نسبة استخدام الشبكة متوازنة الأحمال

  • تحقيق صحي يحدد صحة مثيلات الأجهزة الظاهرية في الواجهة الخلفية

  • قاعدة موازن التحميل التي تحدد كيفية توزيع نسبة استخدام الشبكة على الأجهزة الظاهرية

إنشاء مورد موازن التحميل

قم بإنشاء موازن تحميل عام باستخدام az network lb create:

  az network lb create \
    --resource-group CreatePubLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --public-ip-address myPublicIP \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool

إذا كان IP العام الذي تم إنشاؤه منطقة، يجب تعريف المنطقة المحددة عند إنشاء موازن التحميل العام.

  az network lb create \
    --resource-group CreatePubLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --public-ip-address myPublicIP \
    --frontend-ip-name myFrontEnd \
    --public-ip-zone 1 \
    --backend-pool-name myBackEndPool

إنشاء مسبار فحص الصحة

يتحقق مسبار الصحة من جميع مثيلات الجهاز الظاهري للتأكد من قدرتها على إرسال حركة مرور الشبكة.

تتم إزالة جهاز ظاهري به اختبار فحص فاشل من موازن التحميل. تتم إضافة الجهاز الظاهري مرة أخرى إلى موازن التحميل عند معالجة الفشل.

قم بإنشاء اختبار صحة باستخدام az network lb probe create:

  az network lb probe create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHealthProbe \
    --protocol tcp \
    --port 80

قم بإنشاء قاعدة موازن التحميل

تحدد قاعدة موازن التحميل:

  • تكوين IP للواجهة الأمامية لنسبة استخدام الشبكة الواردة

  • تجمع IP للواجهة الخلفية لتلقي نسبة استخدام الشبكة

  • المنفذ المطلوب من المصدر والوجهة

أنشئ قاعدة موازن التحميل باستخدام az network lb rule create:

  az network lb rule create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHTTPRule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe \
    --disable-outbound-snat true \
    --idle-timeout 15 \
    --enable-tcp-reset true

إنشاء مجموعة أمان الشبكة

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

استخدم الأمر az network nsg create لإنشاء مجموعة أمان الشبكة:

  az network nsg create \
    --resource-group CreatePubLBQS-rg \
    --name myNSG

إنشاء قاعدة مجموعة أمان الشبكة

إنشاء قاعدة مجموعة أمان شبكة باستخدام az network nsg create:

  az network nsg rule create \
    --resource-group CreatePubLBQS-rg \
    --nsg-name myNSG \
    --name myNSGRuleHTTP \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

إنشاء مضيف bastion

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

هام

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

بإنشاء عنوان IP عام

استخدام az network public-ip create لإنشاء عنوان IP عام لمضيف bastion. يستخدم مضيف bastion عنوان IP العام للوصول الآمن إلى موارد الجهاز الظاهري.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

إنشاء شبكة فرعية bastion

استخدام az network vnet subnet create لإنشاء شبكة bastion الفرعية. يستخدم مضيف bastion شبكة bastion الفرعية للوصول إلى الشبكة الظاهرية.

  az network vnet subnet create \
    --resource-group CreatePubLBQS-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

إنشاء مضيف bastion

استخدام az network bastion create لإنشاء مضيف الحصن. يتم استخدام مضيف الحصن للاتصال بشكل آمن بموارد الجهاز الظاهري التي تم إنشاؤها لاحقاً في هذه المقالة.

  az network bastion create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

قد يستغرق الأمر بضع دقائق حتى يتم نشر مضيف Azure Bastion.

إنشاء خوادم خلفية

في هذا القسم، ستقوم بإنشاء:

  • واجهتا شبكة للأجهزة الظاهرية

  • جهازان ظاهريان لاستخدامهما كخوادم خلفية لموازن التحميل

إنشاء واجهات شبكة الاتصال للأجهزة الظاهرية

أنشئ واجهتي شبكة باستخدام az network nic create:

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group CreatePubLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

أنشئ الأجهزة الظاهرية

أنشئ الأجهزة الافتراضية باستخدام az vm create:

  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM1 \
    --nics myNicVM1 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 1 \
    --no-wait
  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM2 \
    --nics myNicVM2 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 2 \
    --no-wait

يمكن أن يستغرق الأمر بضع دقائق حتى يتم نشر الأجهزة الظاهرية. يمكنك المتابعة إلى الخطوات التالية أثناء إنشاء الأجهزة الظاهرية.

إشعار

يوفر Azure عنوان IP افتراضيا للوصول الصادر للأجهزة الظاهرية التي لم يتم تعيين عنوان IP عام لها أو الموجودة في تجمع الواجهة الخلفية لموازن تحميل Azure الأساسي الداخلي. توفر آلية IP للوصول الصادر الافتراضي عنوان IP صادر غير قابل للتكوين.

يتم تعطيل عنوان IP الافتراضي للوصول الصادر عند حدوث أحد الأحداث التالية:

  • يتم تعيين عنوان IP عام إلى الجهاز الظاهري.
  • يتم وضع الجهاز الظاهري في تجمع الواجهة الخلفية لموازن التحميل القياسي، مع قواعد صادرة أو بدونها.
  • يتم تعيين مورد Azure NAT Gateway إلى الشبكة الفرعية للجهاز الظاهري.

لا تتمتع الأجهزة الظاهرية التي تقوم بإنشائها باستخدام مجموعات مقياس الجهاز الظاهري في وضع التنسيق المرن بالوصول الصادر الافتراضي.

لمزيد من المعلومات حول الاتصالات الصادرة في Azure، راجع الوصول الصادر الافتراضي في Azure واستخدام ترجمة عنوان الشبكة المصدر (SNAT) للاتصالات الصادرة.

إضافة أجهزة افتراضية لتحميل تجمع الواجهة الخلفية الموازن

إضافة الأجهزة الظاهرية إلى تجمع الخلفية بـ az network nic ip-config address-pool add:

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic ip-config address-pool add \
     --address-pool myBackendPool \
     --ip-config-name ipconfig1 \
     --nic-name $vmnic \
     --resource-group CreatePubLBQS-rg \
     --lb-name myLoadBalancer
  done

إنشاء بوابة NAT

لتوفير الوصول إلى الإنترنت الصادر للموارد الموجودة في تجمع الواجهة الخلفية، قم بإنشاء بوابة ترجمة عناوين الشبكة.

إنشاء عنوان IP عام

استخدام شبكة AZ العامة الملكية الفكرية إنشاء لإنشاء IP واحد للاتصال الصادر.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1 2 3

لإنشاء عنوان IP عام مكرر في المنطقة 1 بدلا من ذلك، استخدم الأمر التالي:

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1

إنشاء مورد بوابة NAT

استخدم az network nat gateway create لإنشاء مورد بوابة NAT. يقترن عنوان IP العام الذي تم إنشاؤه في الخطوة السابقة ببوابة NAT.

  az network nat gateway create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgateway \
    --public-ip-addresses myNATgatewayIP \
    --idle-timeout 10

إقران بوابة NAT بالشبكة الفرعية

قم بتكوين الشبكة الفرعية المصدر في الشبكة الظاهرية لاستخدام مورد بوابة NAT محدد باستخدام az network vnet subnet update.

  az network vnet subnet update \
    --resource-group CreatePubLBQS-rg \
    --vnet-name myVNet \
    --name myBackendSubnet \
    --nat-gateway myNATgateway

تثبيت IIS

استخدام az vm extension set لتثبيت IIS على الأجهزة الظاهرية وتعيين موقع الويب الافتراضي إلى اسم الكمبيوتر.

  array=(myVM1 myVM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group CreatePubLBQS-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

اختبار موازن التحميل

للحصول على عنوان IP العام الخاص بموازن التحميل، استخدم az network public-ip show.

نسخ عنوان IP العام، ثم ألصقه في شريط العنوان في متصفحك.

  az network public-ip show \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --query ipAddress \
    --output tsv

اختبار موازن التحميل

تنظيف الموارد

يمكنك استخدام الأمر az group delete وموازن الحمل وجميع الموارد ذات الصلة عندما لا تعد حاجة لها.

  az group delete \
    --name CreatePubLBQS-rg

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

في هذه البداية السريعة:

  • أنت أنشأت موازن تحميل قياسياً عاماً

  • وتم إرفاق جهازين ظاهريين

  • قمت بتكوين قاعدة نسبة استخدام الشبكة وفحص الحالة لموازنة التحميل

  • اختبار موازن التحميل

لمعرفة المزيد حول موازن تحميل Azure، تابع: