إنشاء اتصال مختلط لـ Azure Relay
يمنحك Azure Relay طريقة لتوصيل الخدمات عبر حدود الشبكة والجدران النارية، دون الحاجة إلى إعادة تكوين إعداد الأمان.
تريد نقل جميع الأنظمة في مؤسستك المالية إلى السحابة. ومع ذلك، تمنعك الأنظمة في نطاق سلطتك من ترحيل خدمة فحص الرصيد. يجب أن تظل هذه الخدمة في محليًا لأغراض حماية البيانات. تحتاج إلى طريقة لتوصيل الخدمات السحابية بخدمة فحص الرصيد. من الناحية المثالية، كنت تفضل عدم فتح منافذ إضافية في جدار الحماية الداخلي أو إنشاء شبكة ظاهرية خاصة.
في هذه الوحدة، ستتعرف على كيفية توفير Azure Relay لهذا الاتصال.
ما هو Azure Relay؟
ترحّل العديد من المؤسسات أنظمتها إلى السحابة. وكثيرًا ما تتم هذه العملية عنصرًا تلو الآخر كنهج مرحلي. ويحد هذا النهج من أثر المشاكل التي قد تنشأ أثناء الترحيل، ولكنه يواجه تحدياته الخاصة. على سبيل المثال، غالبًا ما يحتاج مكون السحابة الذي تم ترحيله حديثًا إلى الاتصال بمكون آخر يظل محليًا، ولكنه محمي بواسطة جدار حماية أو أنظمة أمان أخرى.
في حالات أخرى، قد تجد أنه لا يمكن ترحيل خدمة محلية إلى السحابة. على سبيل المثال، قد تفرض سلطتك القضائية متطلبات أمان إضافية على الأنظمة المالية، والتي لا يمكنك الالتزام بها في نظام السحابة.
في مثل هذه الحالات، تحتاج إلى أن تكون الخدمات المحلية قابلة للتعامل معها من خلال عملاء الإنترنت أو مكونات السحابة. يمكنك فتح منفذ جدار حماية لتمكين هذا الاتصال، ولكن قد يكون لهذا الأسلوب عواقب غير مقصودة. على سبيل المثال، قد تكشف خدمات أخرى بالخطأ بخلاف تلك التي تفكر فيها. في المؤسسات الكبيرة، قد لا تكون مسؤولاً عن جدار الحماية. وقد يتطلب أي تغيير في نظام الأمان الحصول على تخويل رفيع المستوى يستغرق وقتًا.
يعالج Azure Relay هذه الأنواع من المشاكل من خلال توفير نقطة في السحابة، تتيح إمكانية اتصال المكونات المحلية والمكونات المستندة إلى الإنترنت. نظرًا إلى أن النظام المحلي يبدأ هذا الاتصال، فلن تحتاج إلى فتح منافذ جدار حماية أو إعادة تكوين الشبكة المحلية بأي شكل من الأشكال.
الاتصالات المختلطة واتصالات Windows Communication Foundation
يؤسس Azure Relay اتصالاً بين مكونين، مثل وظيفة Azure وخدمة محلية. عندما يتم تأسيس الاتصال، يمكن تبادل الطلبات والاستجابات من خلال المرحّل، كما لو كان هناك اتصال مباشر. يمكنك إجراء نوعين من الاتصالات في Azure Relay:
- الاتصالات المختلطة:الاتصالات المختلطة عبارة عن دفق مزدوج الاتجاه للبيانات الثنائية التي تستخدم إما معيار WebSocket أو HTTP. ونظرًا إلى أن هذه الاتصالات تستند إلى معايير مفتوحة، يمكنك استخدامها من أي لغة أو إطار عمل ترميز تقريبًا. على سبيل المثال، يمكنك استخدامها لتوصيل خادم Node.js محلي بمهمة ويب Azure تمت كتابتها في C# و.NET Framework.
- اتصالات WCF: يستخدم بعض المطورين Windows Communication Foundation لتمكين عمليات استدعاء الإجراءات عن بُعد. تم استخدام WCF بشكل شائع لاتصالات الشبكات بإصدارات أقدم لـ .NET Framework. يعتبر WCF الآن بروتوكولاً قديمًا، ولكنه لا يزال يشيع استخدامه في التطبيقات القديمة. لأن Azure Relay يدعم WCF، يمكنك استخدامه مع مكونات .NET Framework الموجودة التي تستخدم هذا المعيار، دون الحاجة إلى إعادة كتابتها.
استخدم الاتصالات المختلطة ما لم تكن تدعم مكونات .NET Framework الموجودة التي تستخدم WCF.
اتصالات WebSocket واتصالات HTTP
يمكن للاتصالات المختلطة استخدام أحد هذه البروتوكولات:
- HTTP: يتكون هذا البروتوكول عديم الحالة من طلبات مثل GET وPOST، ويُستخدم لنقل صفحات الويب بين خوادم الويب والمتصفحات. عادةً، يستخدم بروتوكول HTTP منفذ TCP 80 أو 443 عند تأمين الطلب مع طبقة مآخذ توصيل آمنة. هذا البروتوكول معتمد على نطاق واسع ويسهل إنشاء تعليمة برمجية له. ومع ذلك، نظرًا إلى أن هذا البروتوكول عديم الحالة، فهو يعد أقل كفاءة في الاتصالات المستمرة.
- WebSocket:ينشئ هذا البروتوكول قناة اتصال بازدواج كامل عبر منفذ 80 أو 443، وهو يعد أكثر كفاءة من بروتوكول HTTP عديم الحالة. يعد اتصال WebSocket فعالاً بشكل خاص عندما يتكون الاتصال من العديد من الرسائل، وليس فقط طلب واحد واستجابة واحدة.
في هذه الوحدة النمطية، لأن العملية هي طلب بسيط لفحص الائتمان، متبوعا باستجابة واحدة، يمكنك استخدام اتصال مختلط وبروتوكول HTTP.
كيف يعمل Azure Relay
لأن كلاً من المكونات المستضافة على السحابة والمكونات المحلية تبدأ الاتصال مع Azure Relay، نجد أن جدران الحماية المحلية لا تتدخل. عند تأسيس الاتصال، يمكن إرسال الاتصالات في كلا الاتجاهين.
يوضح الرسم التخطيطي التالي كيفية إجراء الاتصال:
- يرسل عميل الاستماع طلب استماع إلى خدمة Azure Relay. موازن تحميل Azure يوجه الطلب إلى إحدى عُقد البوابة.
- تنشئ خدمة Azure Relay ترحيل في مخزن البوابة.
- يرسل عميل الإرسال طلباً للاتصال بخدمة الاستماع.
- البوابة التي تتلقى الطلب تبحث عن الترحيل في مخزن البوابة.
- تعيد البوابة توجيه طلب الاتصال إلى البوابة الصحيحة المذكورة في متجر البوابة.
- ترسل البوابة طلباً إلى عميل وحدة الاستماع لإنشاء قناة مؤقتة إلى عقدة البوابة الأقرب إلى العميل المرسل.
- ينشئ عميل وحدة الاستماع قناة مؤقتة للبوابة الأقرب إلى العميل المُرسِل. الآن بعد إنشاء الاتصال بين العملاء عبر بوابة، يمكن للعملاء تبادل الرسائل مع بعضهم البعض.
- تقوم البوابة بإعادة توجيه أي رسائل من عميل وحدة الاستماع إلى العميل المرسل.
- تعيد البوابة توجيه أي رسائل من العميل المرسل إلى عميل وحدة الاستماع.
كيفية إنشاء مرحّل
لإنشاء مرحّل، تحتاج إلى مساحة اسم فريدة داخل المجال servicebus.windows.net. يمكنك أيضًا تحديد اشتراك ومجموعة موارد وموقع المرحّل، وهي يجب أن تكون قريبة من معظم العملاء.
للتحكم فيما يمكن للعملاء إجراؤه عند الاتصال، استخدم نُهج الوصول المشتركة. يمكنك استخدام هذه النُهج للسماح بما إذا كان يمكن للعملاء إرسال رسائل إلى المرحّل أو قراءة الرسائل منه. يحتوي كل نهج للوصول المشترك على مفاتيح أساسية وثانوية. للاتصال بمرحّل، يجب على كل عميل توفير أحد هذه المفاتيح.
وأخيرًا، يجب إنشاء اتصال في مساحة الاسم. يمكن أن يكون ذلك إما اتصالاً مختلطًا أو اتصال WCF.