Overzicht van openbaar IP-adres op exemplaarniveau (klassiek)

Een openbaar IP-adres (ILPIP) op exemplaarniveau is een openbaar IP-adres dat u rechtstreeks kunt toewijzen aan een VM of Cloud Services rolinstantie, in plaats van aan de cloudservice waarin uw VM of rolinstantie zich bevindt. Een ILPIP neemt niet de plaats in van het virtuele IP(VIP) dat is toegewezen aan uw cloudservice. In plaats daarvan is het een extra IP-adres dat u kunt gebruiken om rechtstreeks verbinding te maken met uw VM of rolinstantie.

Belangrijk

Azure heeft twee verschillende implementatiemodellen voor het maken en werken met resources: Resource Manager en klassiek. Dit artikel gaat over het gebruik van het klassieke implementatiemodel. Microsoft raadt het maken van VM's aan via Resource Manager. Zorg ervoor dat u begrijpt hoe IP-adressen werken in Azure.

Difference between ILPIP and VIP

Zoals wordt weergegeven in afbeelding 1, wordt de cloudservice geopend met behulp van een VIP, terwijl de afzonderlijke VM's normaal gesproken worden geopend met vip:<poortnummer>. Door een ILPIP toe te wijzen aan een specifieke VIRTUELE machine, kan die VM rechtstreeks worden geopend met dat IP-adres.

Wanneer u een cloudservice maakt in Azure, worden overeenkomende DNS A-records automatisch gemaakt om toegang tot de service mogelijk te maken via een FQDN (Fully Qualified Domain Name), in plaats van het daadwerkelijke VIP te gebruiken. Hetzelfde proces vindt plaats voor een ILPIP, waardoor toegang tot de VM of het rolexemplaren door FQDN wordt toegestaan in plaats van de ILPIP. Als u bijvoorbeeld een cloudservice met de naam contosoadservice maakt en u een webrol met de naam contosoweb met twee exemplaren configureert en in .cscfg domainNameLabel is ingesteld op WebPublicIP, registreert Azure de volgende A-records voor de exemplaren:

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

Notitie

U kunt slechts één ILPIP toewijzen voor elke VM of elk rolexemplaren. U kunt maximaal 5 ILPIPs per abonnement gebruiken. ILPIPs worden niet ondersteund voor VM's met meerdere NIC's.

Waarom zou ik een ILPIP aanvragen?

Als u rechtstreeks verbinding wilt kunnen maken met uw VM of rolinstantie door een IP-adres dat rechtstreeks aan het IP-adres is toegewezen, in plaats van het VIP:<poortnummer> van de cloudservice te gebruiken, vraagt u een ILPIP aan voor uw VM of uw rolinstantie.

  • Actieve FTP : door een ILPIP toe te wijzen aan een VIRTUELE machine, kan het verkeer op elke poort ontvangen. Eindpunten zijn niet vereist voor het ontvangen van verkeer door de VIRTUELE machine. Zie overzicht van FTP-protocol voor meer informatie over het FTP-protocol.
  • Uitgaand IP- Uitgaand verkeer dat afkomstig is van de VIRTUELE machine, wordt als bron toegewezen aan de ILPIP en de ILPIP identificeert de VIRTUELE machine op unieke wijze aan externe entiteiten.

Notitie

In het verleden werd een ILPIP-adres aangeduid als een openbaar IP-adres (PIP).

Een ILPIP voor een VM beheren

Met de volgende taken kunt u ILPIPs maken, toewijzen en verwijderen van VM's:

Een ILPIP aanvragen tijdens het maken van een VM met behulp van PowerShell

Met het volgende PowerShell-script maakt u een cloudservice met de naam FTPService, haalt u een installatiekopie op uit Azure, maakt u een VIRTUELE machine met de naam FTPInstance met behulp van de opgehaalde installatiekopie, stelt u de VM in op het gebruik van een ILPIP en voegt u de VM toe aan de nieuwe service:

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"

Als u een ander opslagaccount wilt opgeven als de locatie van de nieuwe VM-schijf, kunt u de parameter MediaLocation gebruiken:

	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-informatie ophalen voor een VIRTUELE machine

Voer de volgende PowerShell-opdracht uit om de ILPIP-informatie weer te geven voor de VIRTUELE machine die met het vorige script is gemaakt en bekijk de waarden voor PublicIPAddress en PublicIPName:

Get-AzureVM -Name FTPInstance -ServiceName FTPService

Verwachte uitvoer:

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

Een ILPIP verwijderen uit een VIRTUELE machine

Voer de volgende PowerShell-opdracht uit om de ILPIP die in het vorige script is toegevoegd aan de VIRTUELE machine te verwijderen:

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

Een ILPIP toevoegen aan een bestaande VM

Voer de volgende opdracht uit om een ILPIP toe te voegen aan de VIRTUELE machine die is gemaakt met behulp van het vorige script:

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

Een ILPIP beheren voor een Cloud Services-rolinstantie

Voer de volgende stappen uit om een ILPIP toe te voegen aan een Cloud Services rolinstantie:

  1. Download het CSCFG-bestand voor de cloudservice door de stappen in het artikel How to Configure Cloud Services uit te voeren.

  2. Werk het CSCFG-bestand bij door het InstanceAddress element toe te voegen. In het volgende voorbeeld wordt een ILPIP met de naam MyPublicIP toegevoegd aan een rolinstantie met de naam 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 het CSCFG-bestand voor de cloudservice door de stappen in het artikel Cloud Services configureren te voltooien.

ILPIP-gegevens ophalen voor een cloudservice

Als u de ILPIP-gegevens per rolinstantie wilt weergeven, voert u de volgende PowerShell-opdracht uit en bekijkt u de waarden voor PublicIPAddress, PublicIPName,PublicIPDomainNameLabel en PublicIPFqdns:

Add-AzureAccount

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

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

U kunt ook een query uitvoeren nslookup op de A-record van het subdomein:

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

Volgende stappen