البرنامج التعليمي: تمتع بإمكانية إنشاء وإدارة الشبكات الظاهرية في Azure للأجهزة الظاهرية التي تعمل بنظام Windows باستخدام Azure PowerShell
ينطبق على: ✔️ أجهزة Windows الظاهرية
تستخدم أجهزة Azure الظاهرية شبكة Azure لاتصالات الشبكة الداخلية والخارجية. يستعرض هذا البرنامج التعليمي نشر جهازين ظاهريين وتكوين شبكة Azure لهذه الأجهزة الظاهرية. تفترض الأمثلة في هذا البرنامج التعليمي أن الأجهزة الظاهرية تستضيف تطبيق ويب مع قاعدة بيانات خلفية، ومع ذلك لم يتم نشر التطبيق في البرنامج التعليمي. في هذا البرنامج التعليمي، تتعلم كيفية:
- إنشاء شبكة ظاهرية وشبكة فرعية
- بإنشاء عنوان IP عام
- إنشاء VM أمامي
- تأمين حركة مرور الشبكة
- إنشاء VM الخلفية
نظرة عامة على شبكات VM
تعمل شبكات Azure الظاهرية على تمكين اتصالات الشبكة الآمنة بين الأجهزة الظاهرية والإنترنت وخدمات Azure الأخرى مثل Azure SQL Database. يتم تقسيم الشبكات الظاهرية إلى مقاطع منطقية تسمى الشبكات الفرعية. تُستخدم الشبكات الفرعية للتحكم في تدفق الشبكة وكحد أمان. عند نشر جهاز ظاهري، فإنه يتضمن بشكل عام واجهة شبكة ظاهرية متصلة بشبكة فرعية.
أثناء إكمال هذا البرنامج التعليمي، يمكنك مشاهدة هذه الموارد التي تم إنشاؤها:
- myVNet - الشبكة الظاهرية التي تستخدمها الأجهزة الظاهرية للتواصل مع بعضها البعض ومع الإنترنت.
- myFrontendSubnet - الشبكة الفرعية في myVNet المستخدمة بواسطة موارد الواجهة الأمامية.
- myPublicIPAddress - عنوان IP العام المستخدم للوصول إلى myFrontendVM من الإنترنت.
- myFrontendNic -- واجهة الشبكة المستخدمة من قبل myFrontendVM للتواصل مع myBackendVM.
- myFrontendVM - الجهاز الظاهري المستخدم للاتصال بين الإنترنت وmyBackendVM.
- myBackendNSG - مجموعة أمان الشبكة التي تتحكم في الاتصال بين myFrontendVM و myBackendVM.
- myBackendSubnet - الشبكة الفرعية المرتبطة بـ myBackendNSG والمستخدمة بواسطة موارد النهاية.
- myFrontendNic -- واجهة الشبكة المستخدمة من قبل myFrontendVM للتواصل مع myBackendVM.
- myBackendVM - الجهاز الظاهري الذي يستخدم المنفذ 1433 للاتصال مع myFrontendVM.
إطلاق Azure Cloud Shell
Azure Cloud Shell هو shell تفاعلية مجانية التي يمكنك استخدامها لتشغيل الخطوات في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.
لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com/powershell. حدد "Copy" لنسخ كتل التعليمة البرمجية، ولصقها في Cloud Shell، ثم اضغط على "enter" لتشغيلها.
إنشاء شبكة فرعية
في هذا البرنامج التعليمي، يتم إنشاء شبكة ظاهرية واحدة مع اثنتين من الشبكات الفرعية. شبكة فرعية أمامية لاستضافة تطبيق ويب وشبكة فرعية خلفية لاستضافة خادم قاعدة بيانات.
قبل أن تتمكن من إنشاء شبكة اتصال ظاهرية، قم بإنشاء مجموعة موارد باستخدام New-AzResourceGroup. في المثال التالي، سيتم إنشاء مجموعة موارد باسمmyRGNetwork في موقع EastUS:
New-AzResourceGroup -ResourceGroupName myRGNetwork -Location EastUS
أنشئ تكوين شبكة فرعية باسم myFrontendSubnet بستخدام New-AzVirtualNetworkSubnetConfig:
$frontendSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myFrontendSubnet `
-AddressPrefix 10.0.0.0/24
وأنشئ تكوين شبكة فرعية باسم myBackendSubnet:
$backendSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet `
-AddressPrefix 10.0.1.0/24
إنشاء شبكة ظاهرية
إنشاء شبكة ظاهرية اسمها myVNet باستخدام myFrontendSubnet وmyBackendSubnet وباستخدام New-AzVirtualNetwork:
$vnet = New-AzVirtualNetwork `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myVNet `
-AddressPrefix 10.0.0.0/16 `
-Subnet $frontendSubnet, $backendSubnet
في هذه المرحلة، تم إنشاء شبكة وتقسيمها إلى شبكتين فرعيتين، واحدة لخدمات الواجهة الأمامية والأخرى للخدمات الخلفية. في القسم التالي، يتم إنشاء الأجهزة الظاهرية وتوصيلها بهذه الشبكات الفرعية.
بإنشاء عنوان IP عام
يتيح عنوان IP العام إمكانية الوصول إلى موارد Azure على الإنترنت. يمكن تكوين طريقة تخصيص عنوان IP العام على أنها ديناميكية أو ثابتة. بشكل افتراضي، يتم تخصيص عنوان IP العام ديناميكيًا. يتم إصدار عناوين IP الديناميكية عند إلغاء تخصيص الجهاز الظاهري. يؤدي هذا السلوك إلى تغيير عنوان IP في أثناء أي عملية تتضمن إلغاء تخصيص الجهاز الظاهري.
يمكن تعيين أسلوب التخصيص على ثابت، مما يضمن بقاء عنوان IP مخصصاً لجهاز ظاهري، حتى أثناء حالة إلغاء التخصيص. إذا كنت تستخدم عنوان IP ثابتاً، فلا يمكن تحديد عنوان IP نفسه. بدلاً من ذلك، يتم تخصيصه من مجموعة من العناوين المتوفرة.
أنشئ عنوان IP عاماً باسم myPublicIPAddress باستخدام New-AzPublicIpAddress:
$pip = New-AzPublicIpAddress `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-AllocationMethod Dynamic `
-Name myPublicIPAddress
يمكنك تغيير المعلمة -AllocationMethod Static
لتعيين عنوان IP عام ثابت.
إنشاء VM أمامي
كي يتصل الجهاز الظاهري في شبكة ظاهرية، فإنه يحتاج إلى واجهة شبكة ظاهرية (NIC). إنشاء NIC باستخدام New-AzNetworkInterface:
$frontendNic = New-AzNetworkInterface `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myFrontend `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id
عيِّن اسم المستخدم وكلمة المرور المطلوبة لحساب المسؤول على الجهاز الظاهري باستخدام Get-Credential. يمكنك استخدام بيانات الاعتماد هذه للاتصال بالجهاز الظاهري في خطوات إضافية:
$cred = Get-Credential
إنشاء أجهزة ظاهرية باستخدام New-AzVM.
New-AzVM `
-Credential $cred `
-Name myFrontend `
-PublicIpAddressName myPublicIPAddress `
-ResourceGroupName myRGNetwork `
-Location "EastUS" `
-Size Standard_D1 `
-SubnetName myFrontendSubnet `
-VirtualNetworkName myVNet
تأمين حركة مرور الشبكة
تحتوي مجموعة أمان الشبكة (NSG) على قائمة بقواعد الأمان التي تسمح بحركة مرور الشبكة إلى الموارد المتصلة بشبكات Azure الظاهرية (VNet) أو ترفضها. يمكن ربط مجموعات NSG بالشبكات الفرعية أو واجهات الشبكة الفردية. اقتران NSG بواجهة شبكة اتصال ينطبق فقط على الجهاز الظاهري المقترن. عندما يتم ربط NSG بشبكة فرعية، تنطبق القواعد على جميع الموارد المتصلة بالشبكة الفرعية.
قواعد مجموعة أمان الشبكة
تحدد قواعد NSG منافذ الشبكات التي يُسمح فيها بحركة المرور أو يتم رفضها. يمكن أن تتضمن القواعد نطاقات عناوين IP للمصدر والوجهة بحيث يتم التحكم في حركة المرور بين أنظمة أو شبكات فرعية محددة. تتضمن قواعد NSG أيضًا أولوية (بين 1 و4096). يتم تقييم القواعد بترتيب الأولوية. يتم تقييم القاعدة ذات الأولوية 100 قبل القاعدة ذات الأولوية 200.
تحتوي جميع مجموعات NSG على مجموعة من القواعد الافتراضية. لا يمكن حذف القواعد الافتراضية، ولكن نظراً لأنها تم تعيينها بأولوية أقل، يمكن تجاوزها بالقواعد التي تنشئها.
- الشبكة الظاهرية - يسمح بنقل البيانات التي تنشأ وتنتهي في شبكة ظاهرية في كل من الاتجاهات الواردة والصادرة.
- الإنترنت - يُسمح بحركة المرور الصادرة، ولكن يتم حظر حركة المرور الواردة.
- موازن التحميل - اسمح لموازن تحميل Azure بفحص حالة الأجهزة الظاهرية ومثيلات الأدوار. إذا كنت لا تستخدم مجموعة موازنة الحمل، فإنه يمكنك تجاوز هذه القاعدة.
إنشاء مجموعات أمان الشبكة
أنشئ قاعدة واردة تسمى myFrontendNSGRule للسماح بنقل البينات الواردة عبر شبكة الإنترنت على myFrontendVM باستخدام New-AzNetworkSecurityRuleConfig:
$nsgFrontendRule = New-AzNetworkSecurityRuleConfig `
-Name myFrontendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80 `
-Access Allow
يمكنك تقييد نقل البينات الداخلي إلى myBackendVM من myFrontendVM فقط عن طريق إنشاء NSG للشبكة الفرعية الخلفية. المثال التالي يوضح إنشاء قاعدة NSG باسم myBackendNSGRule:
$nsgBackendRule = New-AzNetworkSecurityRuleConfig `
-Name myBackendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 100 `
-SourceAddressPrefix 10.0.0.0/24 `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 1433 `
-Access Allow
إضافة مجموعة أمان شبكة الاتصال باسم myFrontendNSG باستخدام New-AzNetworkSecurityGroup:
$nsgFrontend = New-AzNetworkSecurityGroup `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myFrontendNSG `
-SecurityRules $nsgFrontendRule
والآن، أضف مجموعة أمان شبكة الاتصال باسم myBackendNSG باستخدام New-AzNetworkSecurityGroup:
$nsgBackend = New-AzNetworkSecurityGroup `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myBackendNSG `
-SecurityRules $nsgBackendRule
إضافة مجموعات أمان الشبكة إلى الشبكات الفرعية:
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myRGNetwork `
-Name myVNet
$frontendSubnet = $vnet.Subnets[0]
$backendSubnet = $vnet.Subnets[1]
$frontendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name myFrontendSubnet `
-AddressPrefix $frontendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgFrontend
$backendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name myBackendSubnet `
-AddressPrefix $backendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgBackend
Set-AzVirtualNetwork -VirtualNetwork $vnet
إنشاء جهاز ظاهري خلفي
أسهل طريقة لإنشاء جهاز ظاهري خلفي لهذا البرنامج التعليمي هو باستخدام صورة SQL Server. يقزم هذا البرنامج التعليمي فقط بإنشاء جهاز ظاهري مع خادم قاعدة البيانات، ولكن لا يوفر معلومات حول الوصول إلى قاعدة البيانات.
إنشاء myBackendNic:
$backendNic = New-AzNetworkInterface `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myBackend `
-SubnetId $vnet.Subnets[1].Id
تعيين اسم المستخدم وكلمة المرور اللازمة لحساب المسؤول على الجهاز الظاهري مع الحصول على بيانات الاعتماد:
$cred = Get-Credential
قم بإنشاء myBackendVM.
New-AzVM `
-Credential $cred `
-Name myBackend `
-ImageName "MicrosoftSQLServer:SQL2016SP1-WS2016:Enterprise:latest" `
-ResourceGroupName myRGNetwork `
-Location "EastUS" `
-SubnetName MyBackendSubnet `
-VirtualNetworkName myVNet
الصورة في هذا المثال مُثبت بها SQL Server، ولكن لا يتم استخدامه في هذا البرنامج التعليمي. يتم تضمينه ليُظهر لك كيف يمكنك تكوين جهاز ظاهري للتعامل مع نقل البيانات عبر شبكة الإنترنت و تكوين جهاز ظاهري للتعامل مع إدارة قاعدة البيانات.
الخطوات التالية
في هذا البرنامج التعليمي، قمت بإنشاء وتأمين شبكات Azure فيما يتعلق بالأجهزة الظاهرية.
- إنشاء شبكة ظاهرية وشبكة فرعية
- بإنشاء عنوان IP عام
- إنشاء VM أمامي
- تأمين حركة مرور الشبكة
- إنشاء جهاز ظاهري خلفي
لمعرفة المزيد حول حماية أقراص الجهاز الظاهري راجع النسخ الاحتياطي واسترداد البيانات بعد عطل فادح للأقراص.