أجهزة الشبكة (موازنات الحمل والموجّهات والمبدّلات والبوابات)

ضع موازن حمل أمام تطبيق، أو اربط شبكتين خاصتين بموجّه، أو اجمع التطبيقات على مبدّل، أو امنحها عنوان خروج ثابتًا ببوابة NAT، أو اربط مكتبك بشبكة VPN بين المواقع.

ما هي

تعمل تطبيقاتك وقواعد بياناتك وخدماتك على شبكات خاصة: شبكات VXLAN لا يراها أحد من خارج العنقود، تجد فيها الخدمات بعضها بالاسم. أجهزة الشبكة معدات صغيرة يشغّلها ISOGrid لك على هذه الشبكات بجانب تطبيقاتك. تبقى شبكاتك كما هي، ويضيف الجهاز شيئًا فوقها.

الجهاز ما يفعله
موازن الحمل يوزّع الحركة على كل نسخ تطبيقاتك، ويفحص سلامة كل نسخة، ويمكنه إبقاء الزائر على النسخة نفسها، ونشره على منفذ عام.
الموجّه يربط شبكتين من شبكاتك، خدمةً تلو الأخرى: لا يمر إلا ما تضيفه من مسارات.
المبدّل مقطع مشترك: تتحدث التطبيقات الموصولة به مباشرة مهما كانت شبكتها.
بوابة NAT تخرج حركة تطبيقاتك من عنوان ثابت واحد، إلى الوجهات المسموح بها فقط.
VPN بين المواقع يربط شبكة بمكتبك أو مركز بياناتك عبر WireGuard، فتصل تطبيقاتك إلى خوادمك بأسمائها.

افتح الشبكات ← الأجهزة في وحدة التحكم، أو استخدم isogrid networks devices من سطر الأوامر. يُطبَّق كل تغيير في بضع ثوانٍ، وتصبح الحالة نشط عند اكتماله. لا يستخدم الجهاز إلا شبكات تملكها مؤسستك، في منطقة واحدة.

موازن الحمل

يستمع موازن الحمل على منفذ في شبكة باسمه الخاص، ويمرّر الحركة إلى التطبيقات خلفه:

isogrid networks devices create lb web --network app-tier --backend acme-api:8000 --port 80
curl http://web/          # من أي تطبيق على app-tier
  • تُفحص كل نسخة على حدة. يُشار إلى التطبيق خلف الموازن باسمه الداخلي (الظاهر في صفحته). يجد الموازن كل نسخة عاملة منه ويفحص كلًّا منها، والنسخة التي تفشل لا تتلقى حركة حتى تتعافى. لا يستطيع توزيع Swarm نفسه ذلك، لأنه يخفي النسخ خلف عنوان واحد.
  • طريقة التوزيع: بالتناوب، أو إلى النسخة الأقل انشغالًا، أو الزائر نفسه إلى النسخة نفسها حسب عنوانه.
  • HTTP أو TCP. يمكن لمستمع HTTP فحص مسار (/health، سليم عند 2xx و3xx) وإبقاء كل زائر على النسخة نفسها بملف تعريف ارتباط. ويتحقق مستمع TCP (قاعدة بيانات، وسيط رسائل) من أن النسخة تقبل الاتصالات.
  • عام. فعّل متاح أيضًا من الإنترنت فيُنشر المستمع على منفذ عام في المنطقة (يظهر في صفحة الجهاز)، ويعمل الموازن حينها بنسخة واحدة على آلة الدخول في المنطقة. وإلا فإنه يعمل بنسختين حتى لا يقاطعه أي تحديث.

يعرض تحديث الحالة كل نسخة كما يراها الموازن: UP أو DOWN أو قيد الفحص.

الموجّه

يربط الموجّه شبكتين أو أكثر من شبكاتك ولا ينقل إلا المسارات التي تضيفها. يمنح كل مسار خدمةً على شبكة الوجهة اسمًا على شبكة المصدر:

route  db:  from front  ->  to back
            billing-db:5432  ->  acme-postgres:5432 (TCP)

يتصل تطبيق على front بـ billing-db:5432. لا يمكن الوصول إلى أي شيء آخر على back من front، ولا العكس، ما لم ينص على ذلك مسار آخر. لا يقبل المسار إلا اتصالات شبكته المصدر، ويمكنك حصره في عناوين معيّنة (allowed_sources في محرر JSON). ويمكنه الاستماع على منفذ غير منفذ الخدمة (target_port). تنقل المسارات TCP أو UDP.

المبدّل

المبدّل مقطع مستقل: صِل به تطبيقات فيصل بعضها إلى بعض مباشرة، باسمها الداخلي أو بالاسم الإضافي الذي تمنحه لكل منفذ، حتى لو كانت على شبكات مختلفة. يُعاد تشغيل التطبيق مرة واحدة عند وصله، نسخةً تلو الأخرى، ثم يبقى على المقطع في كل نشر لاحق. والتطبيق الذي لم يُنشر بعد ينضم عند أول نشر له.

بوابة NAT

كثير من البنوك ومزوّدي الدفع والواجهات الحكومية لا يقبل إلا عناوين معروفة. تمنح بوابة NAT تطبيقاتك عنوانًا كهذا: تخرج الحركة التي تمر عبرها من عنوان آلة واحدة في المنطقة، يظهر في صفحة الجهاز باسم عنوان الخروج.

مرّر حركة تطبيق عبرها بتعيين ما يلي على ذلك التطبيق:

HTTP_PROXY=http://egress:3128
HTTPS_PROXY=http://egress:3128
NO_PROXY=localhost,127.0.0.1

(تعرض وحدة التحكم القيم الدقيقة لبوابتك). الوجهات المسموح بها نطاقات (api.bank.dz، أو .bank.dz للنطاق وكل ما تحته) وكتل عناوين. اترك القائمة فارغة للسماح بأي وجهة عامة. العناوين الخاصة وشبكات العنقود وعناوين البيانات الوصفية للسحابة مرفوضة دائمًا مهما كانت القائمة. المنافذ المسموح بها 80 و443 ما لم تغيّرها.

VPN بين المواقع

التوفر: خدمة VPN بين المواقع متاحة حاليًا للشركات فقط، لخوادمها المحلية.

تربط بوابة الموقع شبكة خاصة بالشبكة المحلية خلف موجّه مكتبك أو مركز بياناتك عبر WireGuard. تحدد:

  • شبكات الموقع: كتل العناوين خلف موجّهك، مثل 192.168.10.0/24.
  • الخوادم التي تصل إليها تطبيقاتك: لكل منها اسم وعنوان في الموقع ومنافذه. مع erp=192.168.10.20:443 تتصل تطبيقاتك بـ erp:443 فتصل إلى ذلك الخادم.
  • العنوان العام لموجّهك (اختياري). بدونه يتصل موجّهك بـ ISOGrid، ومعه يمكن لأي طرف بدء النفق.
  • هل يمكن للموقع أيضًا الوصول إلى خدمات الشبكة.

ثم نزّل إعدادات الموقع واستوردها على موجّهك (MikroTik أو OPNsense أو pfSense أو Ubiquiti أو OpenWrt أو أي جهاز WireGuard)، وهي تحتوي على المفتاح الخاص للموجّه. تبقى خطوة واحدة من جهتك: وجّه عناوين النفق (الظاهرة في صفحة الجهاز) إلى الموجّه على شبكتك المحلية لتتمكن خوادمك من الرد. يستبدل تجديد المفاتيح مفاتيح الطرفين، ثم يستورد الموجّه إعداداته من جديد.

تحقّق من أنه يعمل

لا يوفّر ISOGrid سطر أوامر داخل حاوياتك، لذا اختبر الجهاز من تطبيق مِسبار صغير: انشر صورة عامة (نشر تطبيق ← من سجل آخر ← صورة عامة) على الشبكة التي تختبر منها، وفعّل يعمل بلا منفذ، وضع الأمر في الطرح والتوزيع ← الحاوية، ثم اقرأ السجلات. احذفه عند الانتهاء.

الجهاز صورة المِسبار الأمر إن كان يعمل
موازن الحمل busybox:1.37 sh -c "while true; do wget -S -q -O /dev/null http://web/ 2>&1 | head -1; sleep 5; done" HTTP/1.1 200 OK
الموجّه busybox:1.37 sh -c "while true; do nc -zv -w 3 billing-db 5432; sleep 10; done" billing-db (10.0.67.2:5432) open
بوابة NAT curlimages/curl:8.11.1 + HTTPS_PROXY sh -c "while true; do curl -sS https://api.ipify.org; echo; sleep 30; done" عنوان الخروج
VPN بين المواقع busybox:1.37 sh -c "while true; do nc -zv -w 3 erp 443; sleep 10; done" erp (…:443) open
  • يعرض تحديث الحالة في صفحة الجهاز كل نسخة خلف موازن الحمل UP أو DOWN، وآخر مصافحة لنفق VPN بين المواقع.
  • يمكن اختبار موازن الحمل العام من حاسوبك أيضًا: curl -i http://<نقطة الوصول العامة>/.
  • عبر الموجّه، لا تثبت open إلا أن الموجّه ردّ. أرسل طلبًا حقيقيًا أيضًا (pg_isready -h billing-db -p 5432 من postgres:17-alpine، أو wget على صفحة سلامة)، وتحقّق من شبكة الوجهة أن اسم المسار لا يُحلّ (nc: bad address).
  • عبر بوابة NAT، تردّ الوجهة غير المسموح بها بـ curl: (56) CONNECT tunnel failed, response 403.

تشرح دورات ISOGrid Academy موازنات الحمل والموجّهات والمبدّلات وبوابات NAT وVPN بين المواقع كل اختبار خطوة بخطوة.

الأسعار

لكل نوع من الأجهزة سعر حسب المنطقة كسائر الخدمات، والمنطقة التي لم تحدد سعر نوع ما لا تعرضه بعد.