Load balancing في تكوينات IP المتعددة باستخدام Azure CLI

توضح هذه المقالة كيفية استخدام موازن التحميل في Azure مع عناوين IP متعددة على واجهة شبكة اتصال ثانوية (NIC). بالنسبة لهذا السيناريو، يتوفر لدينا جهازان ظاهريان يعملان بنظام Windows، لكل منهما بطاقة واجهة شبكة أساسية وثانوية. لدى كل من بطاقات واجهات الشبكة الثانوية اثنين من تكوينات IP. يستضيف كل جهاز ظاهري موقعي الويب contoso.com وfabrikam.com. يرتبط كل موقع ويب بأحد تكوينات IP على بطاقة واجهة الشبكة الثانوية. نستخدم موازن التحميل في Azure لكشف عنواني IP للواجهة الأمامية، واحد لكل موقع ويب، لتوزيع حركة المرور على تكوين IP الخاص بموقع الويب. يستخدم هذا السيناريو رقم المنفذ نفسه عبر كلتا الواجهتين الأماميتين، بالإضافة إلى عناوين IP لتجمع الخلفية.

خطوات لموازنة التحميل على تكوينات IP متعددة

لتحقيق السيناريو الموضح في هذه المقالة، استكمل الخطوات التالية:

  1. «Install and Configure» Azure CLI باتباع الخطوات الواردة في المقالة المرتبطة وتسجيل الدخول إلى حساب Azure الخاص بك.

  2. «Create» مجموعة موارد تسمى contosofabrikam كما يلي:

    az group create contosofabrikam westcentralus
    
  3. «Create» مجموعة توافر تحتوي على جهازين ظاهريين. بالنسبة لهذا السيناريو، استخدم الأمر التالي:

    az vm availability-set create --resource-group contosofabrikam --location westcentralus --name myAvailabilitySet
    
  4. «Create» شبكة ظاهرية تسمى myVNet وشبكة فرعية تسمى mySubnet:

    az network vnet create --resource-group contosofabrikam --name myVnet --address-prefixes 10.0.0.0/16  --location westcentralus --subnet-name MySubnet --subnet-prefix 10.0.0.0/24
    
    
  5. «Create» الـ load balancer يسمى mylb:

    az network lb create --resource-group contosofabrikam --location westcentralus --name mylb
    
  6. إنشاء عنواني IP عام ديناميكي لتكوينات IP الأمامية لـ load balancer:

    az network public-ip create --resource-group contosofabrikam --location westcentralus --name PublicIp1 --domain-name-label contoso --allocation-method Dynamic
    
    az network public-ip create --resource-group contosofabrikam --location westcentralus --name PublicIp2 --domain-name-label fabrikam --allocation-method Dynamic
    
  7. إنشاء تكوينين IP الواجهة الأمامية ،contosofeوfabrikamfe على التوالي:

    az network lb frontend-ip create --resource-group contosofabrikam --lb-name mylb --public-ip-name PublicIp1 --name contosofe
    az network lb frontend-ip create --resource-group contosofabrikam --lb-name mylb --public-ip-name PublicIp2 --name fabrkamfe
    
  8. إنشاء قائمة عناوين الخلفية - contosopool و fabrikampool، وهو - مجموعة HTTP، وقواعد load balancing - HTTPc و HTTPf:

    az network lb address-pool create --resource-group contosofabrikam --lb-name mylb --name contosopool
    azure network lb address-pool create --resource-group contosofabrikam --lb-name mylb --name fabrikampool
    
    az network lb probe create --resource-group contosofabrikam --lb-name mylb --name HTTP --protocol "http" --interval 15 --count 2 --path index.html
    
    az network lb rule create --resource-group contosofabrikam --lb-name mylb --name HTTPc --protocol tcp --probe-name http--frontend-port 5000 --backend-port 5000 --frontend-ip-name contosofe --backend-address-pool-name contosopool
    az network lb rule create --resource-group contosofabrikam --lb-name mylb --name HTTPf --protocol tcp --probe-name http --frontend-port 5000 --backend-port 5000 --frontend-ip-name fabrkamfe --backend-address-pool-name fabrikampool
    
  9. تحقق من الإخراج للتحقق من إنشاء load balancer بشكل صحيح عن طريق تشغيل الأمر التالي:

    az network lb show --resource-group contosofabrikam --name mylb
    
  10. إنشاء IP عام، myPublicIp، وحساب التخزين، mystorageaccont1 لجهاز VM1 الظاهري الأول على النحو التالي:

    az network public-ip create --resource-group contosofabrikam --location westcentralus --name myPublicIP --domain-name-label mypublicdns345 --allocation-method Dynamic
    
    az storage account create --location westcentralus --resource-group contosofabrikam --kind Storage --sku-name GRS mystorageaccount1
    
  11. إنشاء واجهات شبكة الاتصال لـ VM1 وإضافة تكوين IP الثاني VM1 ipconfig2، وإنشاء VM كما يلي:

    az network nic create --resource-group contosofabrikam --location westcentralus --subnet-vnet-name myVnet --subnet-name mySubnet --name VM1Nic1 --ip-config-name NIC1-ipconfig1
    az network nic create --resource-group contosofabrikam --location westcentralus --subnet-vnet-name myVnet --subnet-name mySubnet --name VM1Nic2 --ip-config-name VM1-ipconfig1 --public-ip-name myPublicIP --lb-address-pool-ids "/subscriptions/<your subscription ID>/resourceGroups/contosofabrikam/providers/Microsoft.Network/loadBalancers/mylb/backendAddressPools/contosopool"
    az network nic ip-config create --resource-group contosofabrikam --nic-name VM1Nic2 --name VM1-ipconfig2 --lb-address-pool-ids "/subscriptions/<your subscription ID>/resourceGroups/contosofabrikam/providers/Microsoft.Network/loadBalancers/mylb/backendAddressPools/fabrikampool"
    az vm create --resource-group contosofabrikam --name VM1 --location westcentralus --os-type linux --nic-names VM1Nic1,VM1Nic2  --vnet-name VNet1 --vnet-subnet-name Subnet1 --availability-set myAvailabilitySet --vm-size Standard_DS3_v2 --storage-account-name mystorageaccount1 --image-urn canonical:UbuntuServer:16.04.0-LTS:latest --admin-username <your username>  --admin-password <your password>
    
  12. كرر الخطوات 10-11 ل VM الثاني الخاص بك:

    az network public-ip create --resource-group contosofabrikam --location westcentralus --name myPublicIP2 --domain-name-label mypublicdns785 --allocation-method Dynamic
    az storage account create --location westcentralus --resource-group contosofabrikam --kind Storage --sku-name GRS mystorageaccount2
    az network nic create --resource-group contosofabrikam --location westcentralus --subnet-vnet-name myVnet --subnet-name mySubnet --name VM2Nic1
    az network nic create --resource-group contosofabrikam --location westcentralus --subnet-vnet-name myVnet --subnet-name mySubnet --name VM2Nic2 --ip-config-name VM2-ipconfig1 --public-ip-name myPublicIP2 --lb-address-pool-ids "/subscriptions/<your subscription ID>/resourceGroups/contosofabrikam/providers/Microsoft.Network/loadBalancers/mylb/backendAddressPools/contosopool"
    az network nic ip-config create --resource-group contosofabrikam --nic-name VM2Nic2 --name VM2-ipconfig2 --lb-address-pool-ids "/subscriptions/<your subscription ID>/resourceGroups/contosofabrikam/providers/Microsoft.Network/loadBalancers/mylb/backendAddressPools/fabrikampool"
    az vm create --resource-group contosofabrikam --name VM2 --location westcentralus --os-type linux --nic-names VM2Nic1,VM2Nic2 --vnet-name VNet1 --vnet-subnet-name Subnet1 --availability-set myAvailabilitySet --vm-size Standard_DS3_v2 --storage-account-name mystorageaccount2 --image-urn canonical:UbuntuServer:16.04.0-LTS:latest --admin-username <your username>  --admin-password <your password>
    
  13. وأخيرًا، يجب تكوين سجلات موارد DNS للإشارة إلى عنوان IP الواجهة الأمامية المعنية من موازن التحميل. يمكنك استضافة المجالات الخاصة بك في Azure DNS. لمزيد من المعلومات حول استخدام Azure DNS مع موازن التحميل، راجع استخدام Azure DNS مع خدمات Azure الأخرى.

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