كيفية فتح المنافذ ونقاط النهاية إلى جهاز ظاهري باستخدام PowerShell
ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ أجهزة Windows الظاهرية ✔️ مجموعات المقياس المرنة
فتح منفذ أو إنشاء نقطة نهاية إلى جهاز ظاهري (VM) في Azure عن طريق إنشاء عامل تصفية شبكة على شبكة فرعية أو واجهة شبكة جهاز ظاهري. يمكنك وضع عوامل التصفية هذه، التي تتحكم في كل من نسبة استخدام الشبكة الواردة والصادرة، على مجموعة أمان شبكة متصلة بالمورد الذي يتلقى نسبة استخدام الشبكة.
يوضح المثال الوارد في هذه المقالة كيفية إنشاء عامل تصفية شبكة يستخدم منفذ TCP القياسي 80 (من المفترض أنك بدأت بالفعل الخدمات المناسبة وفتحت أي قواعد جدار حماية لنظام التشغيل على الجهاز الظاهري).
بعد إنشاء جهاز ظاهري تم تكوينه لخدمة طلبات الويب على منفذ TCP القياسي 80، يمكنك:
إنشاء مجموعة أمان الشبكة.
أنشئ قاعدة أمان واردة تسمح بنسبة استخدام الشبكة وقم بتعيين قيم للإعدادات التالية:
نطاقات منفذ الوجهات: 80
نطاقات منفذ المصدر: * (يسمح بأي منفذ مصدر)
قيمة الأولوية: أدخل قيمة أقل من 65,500 وأعلى في الأولوية من قاعدة رفض التجميع الواردة الافتراضية.
يمكنك إقران مجموعة أمان الشبكة بواجهة شبكة جهاز ظاهري أو الشبكة الفرعية.
على الرغم من أن هذا المثال يستخدم قاعدة بسيطة للسماح بنسبة استخدام شبكة HTTP، يمكنك أيضاً استخدام مجموعات وقواعد أمان الشبكة لإنشاء تكوينات شبكة أكثر تعقيداً.
أوامر سريعة
لإنشاء مجموعة أمان الشبكة وقواعد ACL، تحتاج إلى تثبيت أحدث إصدار من Azure PowerShell. يمكنك أيضاً تنفيذ هذه الخطوات باستخدام مدخل Microsoft Azure.
سجّل الدخول إلى حساب Azure:
Connect-AzAccount
في الأمثلة التالية، استبدل أسماء المعلمات بالقيم الخاصة بك. تتضمن أمثلة أسماء المعلمات myResourceGroup، وmyNetworkSecurityGroup، وmyVnet.
إنشاء قاعدة باستخدام New-AzNetworkSecurityRuleConfig. ينشئ المثال التالي قاعدة تسمى myNetworkSecurityGroupRule للسماح بنسبة استخدام الشبكة tcp على المنفذ 80:
$httprule = New-AzNetworkSecurityRuleConfig `
-Name "myNetworkSecurityGroupRule" `
-Description "Allow HTTP" `
-Access "Allow" `
-Protocol "Tcp" `
-Direction "Inbound" `
-Priority "100" `
-SourceAddressPrefix "Internet" `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80
بعد ذلك، قم بإنشاء مجموعة أمان الشبكة باستخدام New-AzNetworkSecurityGroup وقم بتعيين قاعدة HTTP التي أنشأتها للتو على النحو التالي. يُنشئ المثال التالي مجموعة أمان شبكة باسم myNetworkSecurityGroup:
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName "myResourceGroup" `
-Location "EastUS" `
-Name "myNetworkSecurityGroup" `
-SecurityRules $httprule
الآن دعنا نعيّن مجموعة أمان الشبكة إلى شبكة فرعية. يقوم المثال التالي بتعيين شبكة ظاهرية موجودة باسم myVnet إلى المتغير $vnet باستخدام Get-AzVirtualNetwork:
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName "myResourceGroup" `
-Name "myVnet"
قم بإقران مجموعة أمان الشبكة بالشبكة الفرعية باستخدام Set-AzVirtualNetworkSubnetConfig. يقوم المثال التالي بإقران الشبكة الفرعية المسماة mySubnet بمجموعة أمان الشبكة:
$subnetPrefix = $vnet.Subnets|?{$_.Name -eq 'mySubnet'}
Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name "mySubnet" `
-AddressPrefix $subnetPrefix.AddressPrefix `
-NetworkSecurityGroup $nsg
وأخيراً، قم بتحديث شبكتك الظاهرية باستخدام Set-AzVirtualNetwork حتى تصبح التغييرات سارية المفعول:
Set-AzVirtualNetwork -VirtualNetwork $vnet
مزيد من المعلومات حول مجموعات أمان الشبكة
تسمح لك الأوامر السريعة هنا بالاستعداد والتشغيل مع تدفق نسبة استخدام الشبكة إلى جهازك الظاهري. توفر مجموعات أمان الشبكة العديد من الميزات الرائعة والدقة للتحكم في إمكانية الوصول إلى مواردك. يمكنك قراءة المزيد حول إنشاء مجموعة أمان الشبكة وقواعد ACL هنا.
بالنسبة لتطبيقات الويب ذات إمكانية الوصول العالية، يجب عليك وضع الأجهزة الظاهرية خلف Azure Load Balancer. يقوم موازن التحميل بتوزيع نسبة استخدام الشبكة على الأجهزة الظاهرية، مع مجموعة أمان الشبكة التي توفر تصفية نسبة استخدام الشبكة. لمزيد من المعلومات، راجع كيفية موازنة التحميل للأجهزة الظاهرية التي تعمل بنظام تشغيل Linux في Azure لإنشاء تطبيق بإمكانية وصول عالية.
الخطوات التالية
في هذا المثال، قمت بإنشاء قاعدة بسيطة للسماح بنسبة استخدام الشبكة HTTP. يمكنك العثور على معلومات حول إنشاء بيئات أكثر تفصيلاً في المقالات التالية: