نظرة عامة على IP العام على مستوى المثيل (كلاسيكي)

IP العام على مستوى المثيل (ILPIP) هو عنوان IP عام يمكنك تعيينه مباشرة إلى مثيل دور VM أو Cloud Services، بدلا من الخدمة السحابية التي يوجد بها الجهاز الظاهري أو مثيل الدور. لا يأخذ ILPIP مكان IP الظاهري (VIP) الذي تم تعيينه لخدمة السحابة الخاصة بك. بدلا من ذلك، إنه عنوان IP إضافي يمكنك استخدامه للاتصال مباشرة بجهازك الظاهري أو مثيل الدور.

هام

لدى Azure نموذجان مختلفان للاستخدام لإنشاء الموارد والعمل معها: Resource Manager والكلاسيكي. تتناول هذه المقالة استخدام نموذج النشر الكلاسيكي. توصي Microsoft بإنشاء أجهزة ظاهرية من خلال Resource Manager. تأكد من فهم كيفية عمل عناوين IP في Azure.

Difference between ILPIP and VIP

كما هو موضح في الشكل 1، يتم الوصول إلى الخدمة السحابية باستخدام VIP، بينما يتم الوصول عادة إلى الأجهزة الظاهرية الفردية باستخدام رقم> VIP:<port. من خلال تعيين ILPIP إلى جهاز ظاهري معين، يمكن الوصول إلى هذا الجهاز الظاهري مباشرة باستخدام عنوان IP هذا.

عند إنشاء خدمة سحابية في Azure، يتم إنشاء سجلات DNS A المقابلة تلقائيا للسماح بالوصول إلى الخدمة من خلال اسم مجال مؤهل بالكامل (FQDN)، بدلا من استخدام VIP الفعلي. تحدث نفس العملية ل ILPIP، ما يسمح بالوصول إلى الجهاز الظاهري أو مثيل الدور بواسطة FQDN بدلا من ILPIP. على سبيل المثال، إذا قمت بإنشاء خدمة سحابية تسمى contosoadservice، وقمت بتكوين دور ويب يسمى contosoweb بمثيلين، وفي .cscfg domainNameLabel تم تعيينه إلى WebPublicIP، يسجل Azure سجلات A التالية للمثيلات:

  • WebPublicIP.0.contosoadservice.cloudapp.net
  • WebPublicIP.1.contosoadservice.cloudapp.net
  • ...

ملاحظة

يمكنك تعيين ILPIP واحد فقط لكل جهاز ظاهري أو مثيل دور. يمكنك استخدام ما يصل إلى 5 ILPIPs لكل اشتراك. لا يتم دعم ILPIPs للأجهزة الظاهرية متعددة NIC.

لماذا أطلب ILPIP؟

إذا كنت تريد أن تكون قادرا على الاتصال بالجهاز الظاهري أو مثيل الدور الخاص بك عن طريق عنوان IP معين مباشرة إليه، بدلا من استخدام رقم> منفذ VIP:<لخدمة السحابة، فاطلب ILPIP لجهازك الظاهري أو مثيل دورك.

  • FTP النشط - من خلال تعيين ILPIP إلى جهاز ظاهري، يمكنه تلقي نسبة استخدام الشبكة على أي منفذ. نقاط النهاية غير مطلوبة للجهاز الظاهري لتلقي نسبة استخدام الشبكة. راجع نظرة عامة على بروتوكول FTP للحصول على تفاصيل حول بروتوكول FTP.
  • IP الصادر - يتم تعيين نسبة استخدام الشبكة الصادرة التي تنشأ من الجهاز الظاهري إلى ILPIP كمصدر ويحدد ILPIP الجهاز الظاهري بشكل فريد إلى الكيانات الخارجية.

ملاحظة

في الماضي، تمت الإشارة إلى عنوان ILPIP كعنوان IP عام (PIP).

إدارة ILPIP لجهاز ظاهري

تمكنك المهام التالية من إنشاء ILPIPs وتعيينها وإزالتها من الأجهزة الظاهرية:

كيفية طلب ILPIP أثناء إنشاء الجهاز الظاهري باستخدام PowerShell

ينشئ البرنامج النصي PowerShell التالي خدمة سحابية تسمى FTPService، ويسترد صورة من Azure، وينشئ جهازا ظاهريا يسمى FTPInstance باستخدام الصورة المستردة، ويعين الجهاز الظاهري لاستخدام ILPIP، ويضيف الجهاز الظاهري إلى الخدمة الجديدة:

New-AzureService -ServiceName FTPService -Location "Central US"

$image = Get-AzureVMImage|?{$_.ImageName -like "*RightImage-Windows-2012R2-x64*"}

#Set "current" storage account for the subscription. It will be used as the location of new VM disk

Set-AzureSubscription -SubscriptionName <SubName> -CurrentStorageAccountName <StorageAccountName>

#Create a new VM configuration object

New-AzureVMConfig -Name FTPInstance -InstanceSize Small -ImageName $image.ImageName `
| Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! `
| Set-AzurePublicIP -PublicIPName ftpip | New-AzureVM -ServiceName FTPService -Location "Central US"

إذا كنت تريد تحديد حساب تخزين آخر كموقع لقرص الجهاز الظاهري الجديد، يمكنك استخدام معلمة MediaLocation :

	New-AzureVMConfig -Name FTPInstance -InstanceSize Small -ImageName $image.ImageName `
	 -MediaLocation https://management.core.windows.net/<SubscriptionID>/services/storageservices/<StorageAccountName> `
	| Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! `
	| Set-AzurePublicIP -PublicIPName ftpip | New-AzureVM -ServiceName FTPService -Location "Central US"

كيفية استرداد معلومات ILPIP لجهاز ظاهري

لعرض معلومات ILPIP للجهاز الظاهري الذي تم إنشاؤه باستخدام البرنامج النصي السابق، قم بتشغيل أمر PowerShell التالي ولاحظ قيم PublicIPAddress و PublicIPName:

Get-AzureVM -Name FTPInstance -ServiceName FTPService

الناتج المتوقع:

DeploymentName              : FTPService
Name                        : FTPInstance
Label                       : 
VM                          : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVM
InstanceStatus              : ReadyRole
IpAddress                   : 100.74.118.91
InstanceStateDetails        : 
PowerState                  : Started
InstanceErrorCode           : 
InstanceFaultDomain         : 0
InstanceName                : FTPInstance
InstanceUpgradeDomain       : 0
InstanceSize                : Small
HostName                    : FTPInstance
AvailabilitySetName         : 
DNSName                     : http://ftpservice888.cloudapp.net/
Status                      : ReadyRole
GuestAgentStatus            : 	Microsoft.WindowsAzure.Commands.ServiceManagement.Model.GuestAgentStatus
ResourceExtensionStatusList : {Microsoft.Compute.BGInfo}
PublicIPAddress             : 104.43.142.188
PublicIPName                : ftpip
NetworkInterfaces           : {}
ServiceName                 : FTPService
OperationDescription        : Get-AzureVM
OperationId                 : 568d88d2be7c98f4bbb875e4d823718e
OperationStatus             : OK

كيفية إزالة ILPIP من جهاز ظاهري

لإزالة ILPIP المضافة إلى الجهاز الظاهري في البرنامج النصي السابق، قم بتشغيل أمر PowerShell التالي:

Get-AzureVM -ServiceName FTPService -Name FTPInstance | Remove-AzurePublicIP | Update-AzureVM

كيفية إضافة ILPIP إلى جهاز ظاهري موجود

لإضافة ILPIP إلى الجهاز الظاهري الذي تم إنشاؤه باستخدام البرنامج النصي السابق، قم بتشغيل الأمر التالي:

Get-AzureVM -ServiceName FTPService -Name FTPInstance | Set-AzurePublicIP -PublicIPName ftpip2 | Update-AzureVM

إدارة ILPIP لمثيل دور الخدمات السحابية

لإضافة ILPIP إلى مثيل دور Cloud Services، أكمل الخطوات التالية:

  1. قم بتنزيل ملف .cscfg للخدمة السحابية عن طريق إكمال الخطوات الواردة في مقالة كيفية تكوين الخدمات السحابية .

  2. قم بتحديث ملف .cscfg عن طريق إضافة InstanceAddress العنصر . يضيف النموذج التالي ILPIP باسم MyPublicIP إلى مثيل دور يسمى WebRole1:

     <?xml version="1.0" encoding="utf-8"?>
     <ServiceConfiguration serviceName="ILPIPSample" xmlns="https://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2014-01.2.3">
       <Role name="WebRole1">
         <Instances count="1" />
           <ConfigurationSettings>
     	<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
           </ConfigurationSettings>
       </Role>
       <NetworkConfiguration>
         <AddressAssignments>
           <InstanceAddress roleName="WebRole1">
     	<PublicIPs>
     	  <PublicIP name="MyPublicIP" domainNameLabel="WebPublicIP" />
             </PublicIPs>
           </InstanceAddress>
         </AddressAssignments>
       </NetworkConfiguration>
     </ServiceConfiguration>
    
  3. Upload ملف .cscfg للخدمة السحابية عن طريق إكمال الخطوات الواردة في مقالة كيفية تكوين الخدمات السحابية.

كيفية استرداد معلومات ILPIP لخدمة سحابية

لعرض معلومات ILPIP لكل مثيل دور، قم بتشغيل أمر PowerShell التالي ولاحظ قيم PublicIPAddress و PublicIPName و PublicIPDomainNameLabel و PublicIPFqdns:

Add-AzureAccount

$roles = Get-AzureRole -ServiceName <Cloud Service Name> -Slot Production -RoleName WebRole1 -InstanceDetails

$roles[0].PublicIPAddress
$roles[1].PublicIPAddress

يمكنك أيضا استخدام nslookup للاستعلام عن سجل A للمجال الفرعي:

nslookup WebPublicIP.0.<Cloud Service Name>.cloudapp.net

الخطوات التالية