تكوين 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 العائم.

رسم تخطيطي لحركة مرور موازن التحميل ل IPs الواجهة الأمامية المتعددة مع IP عائم.

لهذا السيناريو، كل VM في تجمع الخلفية يحتوي على ثلاث واجهات شبكة اتصال:

  • عنوان IP الخلفي: NIC ظاهري مقترن بالجهاز الظاهري (تكوين IP لمورد NIC الخاص ب Azure).
  • Frontend 1 (FIP1): واجهة التراجع داخل نظام التشغيل الضيف التي تم تكوينها باستخدام عنوان IP FIP1.
  • Frontend 2 (FIP2): واجهة التراجع داخل نظام التشغيل الضيف التي تم تكوينها باستخدام عنوان IP FIP2.

لنفترض نفس تكوين الواجهة الأمامية كما في السيناريو السابق:

Frontend عنوان IP البروتوكول المنفذ
الواجهة الخضراء 1 65.52.0.1 TCP 80
الواجهة الأرجوانية 2 65.52.0.2 TCP 80

نحن نحدد قاعدتي IP عائمتين:

‏‏قاعدة Frontend خريطة تجمع الخلفية
1 القاعدة الخضراء FIP1:80 الخلفية الخضراء FIP1:80 (في VM1 وVM2)
2 حكم الأرجواني FIP2:80 الخلفية الأرجوانية FIP2:80 (في VM1 وVM2)

يوضح الجدول التالي التعيين الكامل في موازن التحميل:

‏‏قاعدة عنوان IP للواجهة الأمامية البروتوكول المنفذ الوجهة المنفذ
القاعدة الخضراء 1 65.52.0.1 TCP 80 نفس الواجهة الأمامية (65.52.0.1) نفس الواجهة الأمامية (80)
حكم الأرجواني 2 65.52.0.2 TCP 80 نفس الواجهة الأمامية (65.52.0.2) نفس الواجهة الأمامية (80)

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

لاحظت أن منفذ الوجهة لا يتغير في المثال. في سيناريوهات IP العائمة، يدعم Azure Load Balancer أيضا تحديد قاعدة موازنة التحميل لتغيير منفذ وجهة الواجهة الخلفية وجعله مختلفا عن منفذ وجهة الواجهة الأمامية.

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

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

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

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

إشعار

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

Windows Server

قم بتوسيع

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

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

netsh interface ipv4 show interface 

بالنسبة للجهاز الظاهري NIC ( Azure المُدار)، اكتب هذا الأمر.

netsh interface ipv4 set interface "interfacename" weakhostreceive=enabled

(استبدل "اسم الواجهة" باسم هذه الواجهة)

لكل واجهة استرجاع قمت بإضافتها، كرر هذه الأوامر:

netsh interface ipv4 add addr floatingipaddress floatingip floatingipnetmask
netsh interface ipv4 set interface floatingipaddress weakhostreceive=enabled  weakhostsend=enabled 

(استبدل loopbackinterface باسم واجهة الارتجاع هذه والقابلية العائمة و floatingipnetmask بالقيم المناسبة التي تتوافق مع عنوان IP للواجهة الأمامية لموازن التحميل)

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

يفترض هذا التكوين المثال تكوين 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.

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

ip addr

لكل واجهة رد، كرر هذه الأوامر، التي تعين IP العائم إلى الاسم المستعار للتكرار:

sudo ip addr add floatingip/floatingipnetmask dev lo:0

(استبدل floatingip و floatingipnetmask بالقيم المناسبة التي تتوافق مع عنوان IP الأمامي لموازن التحميل)

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

يفترض هذا المثال تكوين 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 الصادر كتابة التدفق الصادر، ويفشل التدفق. راجع سيناريوهات المغادرة .

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