Översikt över offentlig IP-adress på instansnivå (klassisk)

En offentlig IP-adress på instansnivå (ILPIP) är en offentlig IP-adress som du kan tilldela direkt till en virtuell dator eller Cloud Services rollinstans, i stället för till den molntjänst som den virtuella datorn eller rollinstansen finns i. En ILPIP tar inte plats för den virtuella IP-adress (VIP) som är tilldelad till din molntjänst. Det är snarare en ytterligare IP-adress som du kan använda för att ansluta direkt till den virtuella datorn eller rollinstansen.

Viktigt

Azure har två olika distributionsmodeller för att skapa och arbeta med resurser: Resource Manager och klassisk. Den här artikeln beskriver den klassiska distributionsmodellen. Microsoft rekommenderar att du skapar virtuella datorer via Resource Manager. Se till att du förstår hur IP-adresser fungerar i Azure.

Difference between ILPIP and VIP

Som du ser i bild 1 används molntjänsten med hjälp av en VIP, medan de enskilda virtuella datorerna normalt används med HJÄLP av VIP:<portnummer>. Genom att tilldela en ILPIP till en specifik virtuell dator kan den virtuella datorn nås direkt med den IP-adressen.

När du skapar en molntjänst i Azure skapas motsvarande DNS A-poster automatiskt för att tillåta åtkomst till tjänsten via ett fullständigt kvalificerat domännamn (FQDN), i stället för att använda den faktiska VIP:en. Samma process sker för en ILPIP, vilket ger åtkomst till den virtuella datorn eller rollinstansen av FQDN i stället för ILPIP. Om du till exempel skapar en molntjänst med namnet contosoadservice och konfigurerar en webbroll med namnet contosoweb med två instanser, och i .cscfg domainNameLabel har angetts till WebPublicIP, registrerar Azure följande A-poster för instanserna:

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

Anteckning

Du kan bara tilldela en ILPIP för varje virtuell dator eller rollinstans. Du kan använda upp till 5 ILPIP:er per prenumeration. ILPIP:er stöds inte för virtuella datorer med flera nätverkskort.

Varför skulle jag begära en ILPIP?

Om du vill kunna ansluta till den virtuella datorn eller rollinstansen med en IP-adress som tilldelats direkt till den, i stället för att använda molntjänstens VIP:<portnummer>, begär du en ILPIP för den virtuella datorn eller din rollinstans.

  • Aktiv FTP – Genom att tilldela en ILPIP till en virtuell dator kan den ta emot trafik på valfri port. Slutpunkter krävs inte för att den virtuella datorn ska ta emot trafik. Mer information om FTP-protokollet finns i ÖVERSIKT över FTP-protokoll .
  • Utgående IP – Utgående trafik från den virtuella datorn mappas till ILPIP som källa och ILPIP identifierar den virtuella datorn unikt för externa entiteter.

Anteckning

Tidigare kallades en ILPIP-adress för en offentlig IP-adress (PIP).

Hantera en ILPIP för en virtuell dator

Med följande uppgifter kan du skapa, tilldela och ta bort ILPIP:er från virtuella datorer:

Så här begär du en ILPIP när den virtuella datorn skapas med PowerShell

Följande PowerShell-skript skapar en molntjänst med namnet FTPService, hämtar en avbildning från Azure, skapar en virtuell dator med namnet FTPInstance med den hämtade avbildningen, anger att den virtuella datorn ska använda en ILPIP och lägger till den virtuella datorn i den nya tjänsten:

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"

Om du vill ange ett annat lagringskonto som plats för den nya virtuella datordisken kan du använda parametern 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"

Hämta ILPIP-information för en virtuell dator

Om du vill visa ILPIP-informationen för den virtuella datorn som skapades med föregående skript kör du följande PowerShell-kommando och observerar värdena för PublicIPAddress och PublicIPName:

Get-AzureVM -Name FTPInstance -ServiceName FTPService

Förväntad utdata:

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

Ta bort en ILPIP från en virtuell dator

Om du vill ta bort ILPIP som lagts till i den virtuella datorn i föregående skript kör du följande PowerShell-kommando:

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

Så här lägger du till en ILPIP till en befintlig virtuell dator

Om du vill lägga till en ILPIP till den virtuella dator som skapades med skriptet tidigare kör du följande kommando:

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

Hantera en ILPIP för en Cloud Services rollinstans

Utför följande steg för att lägga till en ILPIP i en Cloud Services rollinstans:

  1. Ladda ned .cscfg-filen för molntjänsten genom att slutföra stegen i artikeln Konfigurera Cloud Services.

  2. Uppdatera .cscfg-filen genom att lägga till elementet InstanceAddress . Följande exempel lägger till en ILPIP med namnet MyPublicIP till en rollinstans med namnet 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-filen för molntjänsten genom att slutföra stegen i artikeln Konfigurera Cloud Services.

Hämta ILPIP-information för en molntjänst

Om du vill visa ILPIP-information per rollinstans kör du följande PowerShell-kommando och observerar värdena för PublicIPAddress, PublicIPName, PublicIPDomainNameLabel och PublicIPFqdns:

Add-AzureAccount

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

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

Du kan också använda nslookup för att fråga underdomänens A-post:

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

Nästa steg