التشغيل السريع: إنشاء نقطة نهاية خاصة باستخدام Azure PowerShell
ابدأ باستخدام Azure Private Link عن طريق إنشاء نقطة نهاية خاصة واستخدامها للاتصال بشكل آمن بتطبيق ويب Azure App Services.
في هذا التشغيل السريع، أنشئ نقطة نهاية خاصة لتطبيق ويب Azure App Services ثم أنشئ جهازا ظاهريا (VM) وانشره لاختبار الاتصال الخاص.
يمكنك إنشاء نقاط نهاية خاصة لخدمات Azure المختلفة، مثل Azure SQL وAzure Storage.
المتطلبات الأساسية
حساب Azure مع اشتراك نشط. إذا لم يكن لديك حساب Azure بالفعل، فأنشئ حسابًا مجانًا.
تطبيق ويب Azure مع خطة خدمة تطبيق PremiumV2-tier أو أعلى، تم توزيعه في اشتراك Azure الخاص بك.
لمزيد من المعلومات والتوضيح، يرجى مراجعة التشغيل السريع: إنشاء تطبيق ويب ASP.NET Core في Azure.
يسمى مثال webapp في هذه المقالة webapp-1. استبدل المثال باسم تطبيق الويب الخاص بك.
Azure Cloud Shell أو Azure PowerShell.
تعمل الخطوات الواردة في هذا التشغيل السريع على تشغيل أوامر Cmdlets Azure PowerShell بشكل تفاعلي في Azure Cloud Shell. لتشغيل الأوامر في Cloud Shell، حدد Open Cloudshell في الزاوية العلوية اليسرى من كتلة التعليمات البرمجية. حدد نسخ لنسخ التعليمات البرمجية ثم لصقها في Cloud Shell لتشغيلها. يمكنك أيضا تشغيل Cloud Shell من داخل مدخل Microsoft Azure.
يمكنك أيضا تثبيت Azure PowerShell محليا لتشغيل cmdlets. تتطلب الخطوات الواردة في هذه المقالة إصدار الوحدة النمطية Azure PowerShell 5.4.1 أو أحدث. للعثور على الإصدار المثبت، قم بتشغيل
Get-Module -ListAvailable Az
. إذا كنت بحاجة إلى الترقية، فشاهد تحديث الوحدة النمطية Azure PowerShell.إذا قمت بتشغيل PowerShell محليا، فقم بتشغيل
Connect-AzAccount
للاتصال ب Azure.
إنشاء مجموعة موارد
مجموعة موارد Azure عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها.
إنشاء مجموعة موارد باستخدام New AzResourceGroup:
$rg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rg
إنشاء شبكة ظاهرية
استخدم New-AzVirtualNetwork لإنشاء شبكة ظاهرية تسمى vnet-1 مع بادئة عنوان IP 10.0.0.0/16 في مجموعة موارد test-rg وموقع eastus2 .
$vnet = @{ Name = 'vnet-1' ResourceGroupName = 'test-rg' Location = 'eastus2' AddressPrefix = '10.0.0.0/16' } $virtualNetwork = New-AzVirtualNetwork @vnet
ينشر Azure الموارد إلى شبكة فرعية داخل شبكة ظاهرية. استخدم Add-AzVirtualNetworkSubnetConfig لإنشاء تكوين شبكة فرعية باسم subnet-1 مع بادئة العنوان 10.0.0.0/24.
$subnet = @{ Name = 'subnet-1' VirtualNetwork = $virtualNetwork AddressPrefix = '10.0.0.0/24' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
ثم قم بإقران تكوين الشبكة الفرعية بالشبكة الظاهرية مع Set-AzVirtualNetwork.
$virtualNetwork | Set-AzVirtualNetwork
نشر Azure Bastion
يستخدم Azure Bastion المستعرض للاتصال بالأجهزة الظاهرية في شبكتك الظاهرية عبر shell الآمن (SSH) أو بروتوكول سطح المكتب البعيد (RDP) باستخدام عناوين IP الخاصة بها. لا تحتاج الأجهزة الظاهرية إلى عناوين IP عامة أو برامج عميل أو تكوين خاص. لمزيد من المعلومات حول Azure Bastion، راجع Azure Bastion.
إشعار
يبدأ التسعير بالساعة من اللحظة التي يتم فيها نشر Bastion، بغض النظر عن استخدام البيانات الصادرة. لمزيد من المعلومات، راجع التسعير ووحدات SKU. إذا كنت تقوم بنشر Bastion كجزء من برنامج تعليمي أو اختبار، نوصي بحذف هذا المورد بعد الانتهاء من استخدامه.
تكوين شبكة فرعية Azure Bastion لشبكتك الظاهرية. هذه الشبكة الفرعية محجوزة حصريا لموارد Azure Bastion ويجب تسميتها AzureBastionSubnet.
$subnet = @{ Name = 'AzureBastionSubnet' VirtualNetwork = $virtualNetwork AddressPrefix = '10.0.1.0/26' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
تعيين التكوين.
$virtualNetwork | Set-AzVirtualNetwork
قم بإنشاء عنوان IP عام لـ Azure Bastion. يستخدم مضيف bastion عنوان IP العام للوصول إلى shell الآمن (SSH) وبروتوكول سطح المكتب البعيد (RDP) عبر المنفذ 443.
$ip = @{ ResourceGroupName = 'test-rg' Name = 'public-ip' Location = 'eastus2' AllocationMethod = 'Static' Sku = 'Standard' Zone = 1,2,3 } New-AzPublicIpAddress @ip
استخدم الأمر New-AzBastion لإنشاء مضيف SKU Azure Bastion قياسي جديد في AzureBastionSubnet.
$bastion = @{ Name = 'bastion' ResourceGroupName = 'test-rg' PublicIpAddressRgName = 'test-rg' PublicIpAddressName = 'public-ip' VirtualNetworkRgName = 'test-rg' VirtualNetworkName = 'vnet-1' Sku = 'Basic' } New-AzBastion @bastion
يستغرق توزيع موارد Bastion عدة دقائق.
قم بإنشاء نقطة نهاية خاصة
مطلوب خدمة Azure التي تدعم نقاط النهاية الخاصة لإعداد نقطة النهاية الخاصة والاتصال بالشبكة الظاهرية. للحصول على الأمثلة الواردة في هذه المقالة، نستخدم Azure App Services WebApp من المتطلبات الأساسية. لمزيد من المعلومات حول خدمات Azure التي تدعم نقطة نهاية خاصة، راجع توفر Azure Private Link.
يمكن أن يكون لنقطة النهاية الخاصة عنوان IP ثابت أو معين ديناميكيا.
هام
يجب أن يكون لديك تطبيق ويب لخدمات تطبيقات Azure تم نشره مسبقا لمتابعة الخطوات الواردة في هذه المقالة. لمزيد من المعلومات، راجع المتطلبات الأساسية.
في هذا القسم، ستقوم ب:
إنشاء اتصال خدمة ارتباط خاص باستخدام New-AzPrivateLinkServiceConnection.
إنشاء نقطة النهاية الخاصة باستخدام New-AzPrivateEndpoint.
بشكل اختياري، إنشاء تكوين IP ثابت لنقطة النهاية الخاصة باستخدام New-AzPrivateEndpointIpConfiguration.
## Place the previously created webapp into a variable. ##
$webapp = Get-AzWebApp -ResourceGroupName test-rg -Name webapp-1
## Create the private endpoint connection. ##
$pec = @{
Name = 'connection-1'
PrivateLinkServiceId = $webapp.ID
GroupID = 'sites'
}
$privateEndpointConnection = New-AzPrivateLinkServiceConnection @pec
## Place the virtual network you created previously into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'
## Create the private endpoint. ##
$pe = @{
ResourceGroupName = 'test-rg'
Name = 'private-endpoint'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
PrivateLinkServiceConnection = $privateEndpointConnection
}
New-AzPrivateEndpoint @pe
قم بتكوين منطقة خادم أسماء المجالات الخاصة
يتم استخدام منطقة DNS خاصة لحل اسم DNS لنقطة النهاية الخاصة في الشبكة الظاهرية. في هذا المثال، نستخدم معلومات DNS لتطبيق ويب Azure App Services، لمزيد من المعلومات حول تكوين DNS لنقاط النهاية الخاصة، راجع تكوين Azure Private Endpoint DNS.
في هذا القسم، ستقوم ب:
إنشاء منطقة Azure DNS خاصة جديدة باستخدام New-AzPrivateDnsZone
ربط منطقة DNS بالشبكة الظاهرية التي أنشأتها مسبقًا باستخدام New-AzPrivateDnsVirtualNetworkLink
إنشاء تكوين منطقة DNS باستخدام New-AzPrivateDnsZoneConfig
إنشاء مجموعة منطقة DNS باستخدام New-AzPrivateDnsZoneGroup
## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'
## Create the private DNS zone. ##
$zn = @{
ResourceGroupName = 'test-rg'
Name = 'privatelink.azurewebsites.net'
}
$zone = New-AzPrivateDnsZone @zn
## Create a DNS network link. ##
$lk = @{
ResourceGroupName = 'test-rg'
ZoneName = 'privatelink.azurewebsites.net'
Name = 'dns-link'
VirtualNetworkId = $vnet.Id
}
$link = New-AzPrivateDnsVirtualNetworkLink @lk
## Configure the DNS zone. ##
$cg = @{
Name = 'privatelink.azurewebsites.net'
PrivateDnsZoneId = $zone.ResourceId
}
$config = New-AzPrivateDnsZoneConfig @cg
## Create the DNS zone group. ##
$zg = @{
ResourceGroupName = 'test-rg'
PrivateEndpointName = 'private-endpoint'
Name = 'zone-group'
PrivateDnsZoneConfig = $config
}
New-AzPrivateDnsZoneGroup @zg
إنشاء جهاز ظاهري للاختبار
للتحقق من عنوان IP الثابت ووظيفة نقطة النهاية الخاصة، يلزم وجود جهاز ظاهري تجريبي متصل بشبكتك الظاهرية.
في هذا القسم، ستقوم ب:
إنشاء بيانات اعتماد تسجيل دخول للجهاز الظاهري باستخدام Get-Credential
إنشاء بطاقة شبكة باستخدام New-AzNetworkInterface للجهاز الظاهري
إنشاء تكوين جهاز ظاهري باستخدام New-AzVMConfig و Set-AzVMOperatingSystem و Set-AzVMSourceImageوAdd-AzVMNetworkInterface
إنشاء الجهاز الظاهري باستخدام New-AzVM
## Create the credential for the virtual machine. Enter a username and password at the prompt. ##
$cred = Get-Credential
## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name vnet-1 -ResourceGroupName test-rg
## Create a network interface for the virtual machine. ##
$nic = @{
Name = 'nic-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic
## Create the configuration for the virtual machine. ##
$vm1 = @{
VMName = 'vm-1'
VMSize = 'Standard_DS1_v2'
}
$vm2 = @{
ComputerName = 'vm-1'
Credential = $cred
}
$vm3 = @{
PublisherName = 'MicrosoftWindowsServer'
Offer = 'WindowsServer'
Skus = '2022-Datacenter'
Version = 'latest'
}
$vmConfig =
New-AzVMConfig @vm1 | Set-AzVMOperatingSystem -Windows @vm2 | Set-AzVMSourceImage @vm3 | Add-AzVMNetworkInterface -Id $nicVM.Id
## Create the virtual machine. ##
New-AzVM -ResourceGroupName 'test-rg' -Location 'eastus2' -VM $vmConfig
إشعار
لا تحتاج الأجهزة الظاهرية في شبكة ظاهرية مع مضيف معقل إلى عناوين IP عامة. يوفر Bastion عنوان IP العام، وتستخدم الأجهزة الظاهرية عناوين IP الخاصة للاتصال داخل الشبكة. يمكنك إزالة عناوين IP العامة من أي أجهزة ظاهرية في الشبكات الظاهرية المستضافة الأساسية. لمزيد من المعلومات، راجع فصل عنوان IP عام من جهاز Azure الظاهري.
إشعار
يوفر Azure عنوان IP افتراضيا للوصول الصادر للأجهزة الظاهرية التي لم يتم تعيين عنوان IP عام لها أو الموجودة في تجمع الواجهة الخلفية لموازن تحميل Azure الأساسي الداخلي. توفر آلية IP للوصول الصادر الافتراضي عنوان IP صادر غير قابل للتكوين.
يتم تعطيل عنوان IP الافتراضي للوصول الصادر عند حدوث أحد الأحداث التالية:
- يتم تعيين عنوان IP عام إلى الجهاز الظاهري.
- يتم وضع الجهاز الظاهري في تجمع الواجهة الخلفية لموازن التحميل القياسي، مع قواعد صادرة أو بدونها.
- يتم تعيين مورد Azure NAT Gateway إلى الشبكة الفرعية للجهاز الظاهري.
لا تتمتع الأجهزة الظاهرية التي تقوم بإنشائها باستخدام مجموعات مقياس الجهاز الظاهري في وضع التنسيق المرن بالوصول الصادر الافتراضي.
لمزيد من المعلومات حول الاتصالات الصادرة في Azure، راجع الوصول الصادر الافتراضي في Azure واستخدام ترجمة عنوان الشبكة المصدر (SNAT) للاتصالات الصادرة.
اختبر الاتصال بنقطة النهاية الخاصة
استخدم الجهاز الظاهري الذي قمت بإنشائه سابقا للاتصال بتطبيق الويب عبر نقطة النهاية الخاصة.
في مربع البحث الموجود أعلى المدخل، أدخل Virtual machine. حدد "Virtual machines".
حدد vm-1.
في صفحة النظرة العامة ل vm-1، حدد Connect، ثم حدد علامة التبويب Bastion .
حدد "Use Bastion".
أدخل اسم المستخدم وكلمة المرور اللذين استخدمتهما عند إنشاء الجهاز الظاهري.
حدد اتصال.
بعد الاتصال، افتح PowerShell على الخادم.
أدخل
nslookup webapp-1.azurewebsites.net
. تتلقى رسالة مشابهة للمثال التالي:Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: webapp-1.privatelink.azurewebsites.net Address: 10.0.0.10 Aliases: webapp-1.azurewebsites.net
يتم إرجاع عنوان IP خاص 10.0.0.10 لاسم تطبيق الويب إذا اخترت عنوان IP ثابت في الخطوات السابقة. هذا العنوان موجود في الشبكة الفرعية للشبكة الظاهرية التي تم إنشاؤها مسبقًا.
في اتصال bastion إلى vm-1، افتح مستعرض الويب.
أدخل عنوان URL لتطبيق الويب الخاص بك،
https://webapp-1.azurewebsites.net
.إذا لم يتم نشر تطبيق الويب الخاص بك، فستحصل على صفحة تطبيق الويب الافتراضية التالية:
تنظيف الموارد
عند عدم الحاجة، يمكنك استخدام الأمر Remove-AzResourceGroup لإزالة مجموعة الموارد والشبكة الظاهرية والموارد المتبقية.
Remove-AzResourceGroup -Name 'test-rg'
الخطوات التالية
لمزيد من المعلومات حول الخدمات التي تدعم نقطة نهاية خاصة، راجع: