مشاركة عبر


تكوين IP عائم لموازنة تحميل Azure

توفر موازنة التحميل العديد من القدرات لكل من تطبيقات UDP و TCP.

IP عائم

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

حالة IP العائمة النتيجة
تمكين IP عائم يغير Azure تعيين عنوان IP إلى عنوان IP للواجهة الأمامية لموازن التحميل
تم تعطيل IP العائم يعرض Azure عنوان IP لمثيلات الجهاز الظاهري

في الرسومات التخطيطية، سترى كيف يعمل تعيين عنوان IP قبل وبعد تمكين IP العائم: يوضح هذا الرسم التخطيطي حركة مرور الشبكة من خلال موازن تحميل قبل تمكين IP العائم.

يوضح هذا الرسم التخطيطي حركة مرور الشبكة من خلال موازن تحميل بعد تمكين IP العائم.

يمكنك تكوين IP العائم على قاعدة موازن التحميل عبر مدخل Microsoft Azure أو واجهة برمجة تطبيقات REST أو CLI أو PowerShell أو عميل آخر. بالإضافة إلى تكوين القاعدة، يتعين عليك أيضًا تكوين نظام التشغيل الضيف الخاص بجهازك الظاهري للاستفادة من عنوان IP العائم.

نوع قاعدة IP العائم هو الأساس للعديد من أنماط تكوين موازن التحميل. أحد الأمثلة المتوفرة حالياً هو تكوين مستمع مجموعات قابلية الوصول عالية التوفر AlwaysOn واحد أو أكثر. بمرور الوقت، سنقوم بتوثيق المزيد من هذه السيناريوهات.

تكوين نظام تشغيل ضيف بعنوان IP حُر

لكي تعمل، يمكنك تكوين نظام التشغيل Guest للجهاز الظاهري لتلقي جميع نسبة استخدام الشبكة المرتبطة ب IP الأمامي ومنفذ موازن التحميل. يتطلب تكوين الجهاز الظاهري ما يلي:

  • إضافة واجهة شبكة الارتجاع
  • تكوين التكرار الحلقي باستخدام عنوان IP للواجهة الأمامية لموازن التحميل
  • ضمان أن النظام يمكنه إرسال/تلقي الحزم على الواجهات التي لا تحتوي على عنوان IP المعين لتلك الواجهة. تتطلب أنظمة Windows واجهات إعداد لاستخدام نموذج "المضيف الضعيف". بالنسبة لأنظمة Linux، يستخدم هذا النموذج عادة بشكل افتراضي.
  • تكوين جدار حماية المضيف للسماح بحركة المرور على منفذ IP للواجهة الأمامية.

إشعار

تستخدم الأمثلة أدناه IPv4؛ لاستخدام IPv6، استبدل "ipv6" بـ "ipv4".

Windows Server

قم بتوسيع

لكل جهاز افتراضي في تجمع الواجهة الخلفية، شغّل الأوامر التالية في موجه أوامر Windows.

  1. للحصول على قائمة أسماء الواجهات الموجودة على الجهاز الظاهري، أدخل هذا الأمر:

    netsh interface ipv4 show interface 
    
  2. بالنسبة إلى VM NIC (Azure managed)، أدخل الأمر التالي بعد استبدال اسم الواجهة باسم الواجهة التي تريد استخدامها:

    netsh interface ipv4 set interface <interface-name> weakhostreceive=enabled
    
  3. لكل واجهة استرجاع قمت بإضافتها، أدخل هذه الأوامر بعد استبدال loopback-interface-name باسم واجهة الارتجاع و floating-IP و Floating-IPnetmask بالقيم المناسبة التي تتوافق مع عنوان IP للواجهة الأمامية لموازن التحميل:

    netsh interface ipv4 add addr <loopback-interface-name> <floating-IP> <floating-IPnetmask>
    netsh interface ipv4 set interface <loopback-interface-name> weakhostreceive=enabled  weakhostsend=enabled 
    
  4. وأخيرا، إذا كان المضيف الضيف يستخدم جدار حماية، فتأكد من إعداد قاعدة حتى تتمكن نسبة استخدام الشبكة من الوصول إلى الجهاز الظاهري على المنافذ المناسبة. يفترض هذا التكوين المثال تكوين IP للواجهة الأمامية لموازن التحميل 1.2.3.4 وقاعدة موازنة التحميل للمنفذ 80:

    netsh int ipv4 set int "Ethernet" weakhostreceive=enabled
    netsh int ipv4 add addr "Loopback Pseudo-Interface 1" 1.2.3.4 255.255.255.0
    netsh int ipv4 set int "Loopback Pseudo-Interface 1" weakhostreceive=enabled weakhostsend=enabled
    netsh advfirewall firewall add rule name="http" protocol=TCP localport=80 dir=in action=allow enable=yes
    

Ubuntu

قم بتوسيع

لكل جهاز افتراضي في تجمع الواجهة الخلفية، قم بتشغيل الأوامر التالية عبر جلسة SSH.

  1. للحصول على قائمة أسماء الواجهات الموجودة على الجهاز الافتراضي، اكتب هذا الأمر:

    ip addr
    
  2. لكل واجهة استرجاع قمت بإضافتها، أدخل هذه الأوامر بعد استبدال loopback-interface-name باسم واجهة الارتجاع و floating-IP و Floating-IPnetmask بالقيم المناسبة التي تتوافق مع عنوان IP للواجهة الأمامية لموازن التحميل:

    sudo ip addr add <floating-IP>/<floating-IPnetmask> dev lo:0
    
  3. وأخيرا، إذا كان المضيف الضيف يستخدم جدار حماية، فتأكد من إعداد قاعدة حتى تتمكن نسبة استخدام الشبكة من الوصول إلى الجهاز الظاهري على المنافذ المناسبة. يفترض تكوين المثال هذا تكوين IP للواجهة الأمامية لموازن التحميل 1.2.3.4، وقاعدة موازنة التحميل للمنفذ 80، واستخدام UFW (جدار حماية غير معقدة) في Ubuntu.

    sudo ip addr add 1.2.3.4/24 dev lo:0
    sudo ufw allow 80/tcp
    

القيود

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

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