다음을 통해 공유


인스턴스 수준 공용 IP(클래식) 개요

인스턴스 수준 공용 IP(ILPIP)는 VM 또는 역할 인스턴스가 상주하는 클라우드 서비스가 아닌 VM 또는 Cloud Services 역할 인스턴스에 직접 할당할 수 있는 공용 IP 주소입니다. ILPIP는 클라우드 서비스에 할당된 VIP(가상 IP)를 대신하지 않습니다. 대신 VM 또는 역할 인스턴스에 직접 연결하는 데 사용할 수 있는 추가 IP 주소입니다.

중요합니다

Azure에는 리소스를 만들고 작업하기 위한 두 가지 배포 모델인 Resource Manager와 클래식이 있습니다. 이 문서에서는 클래식 배포 모델 사용에 대해 설명합니다. Resource Manager를 통해 VM을 만드는 것이 좋습니다. Azure에서 IP 주소가 작동하는 방식을 이해해야 합니다.

ILPIP와 VIP의 차이점

그림 1에 표시된 것처럼, 개별 VM은 일반적으로 VIP:<포트 번호를> 사용하여 액세스하는 반면, 클라우드 서비스는 VIP를 사용하여 액세스됩니다. 특정 VM에 ILPIP를 할당하면 해당 IP 주소를 사용하여 해당 VM에 직접 액세스할 수 있습니다.

Azure에서 클라우드 서비스를 만들면 실제 VIP를 사용하는 대신 FQDN(정규화된 도메인 이름)을 통해 서비스에 액세스할 수 있도록 해당 DNS A 레코드가 자동으로 만들어집니다. ILPIP에 대해 동일한 프로세스가 수행되므로 ILPIP 대신 FQDN에서 VM 또는 역할 인스턴스에 액세스할 수 있습니다. 예를 들어 contosoadservice라는 클라우드 서비스를 만들고 두 개의 인스턴스를 사용하여 contosoweb 이라는 웹 역할을 구성하고 .cscfg domainNameLabel 에서 WebPublicIP로 설정된 경우 Azure는 인스턴스에 대해 다음 A 레코드를 등록합니다.

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

비고

각 VM 또는 역할 인스턴스에 대해 하나의 ILPIP만 할당할 수 있습니다. 구독당 최대 5ILPIP를 사용할 수 있습니다. 다중 NIC VM에는 ILPIP가 지원되지 않습니다.

ILPIP를 요청하는 이유는 무엇인가요?

클라우드 서비스 VIP:<포트 번호를> 사용하는 대신 직접 할당된 IP 주소로 VM 또는 역할 인스턴스에 연결할 수 있도록 하려면 VM 또는 역할 인스턴스에 대한 ILPIP를 요청합니다.

  • 활성 FTP - VM에 ILPIP를 할당하면 모든 포트에서 트래픽을 수신할 수 있습니다. VM이 트래픽을 수신하는 데 엔드포인트가 필요하지 않습니다. FTP 프로토콜에 대한 자세한 내용은 FTP 프로토콜 개요를 참조하세요.
  • 아웃바운드 IP - VM에서 발생하는 아웃바운드 트래픽은 원본으로 ILPIP에 매핑되고 ILPIP는 VM을 외부 엔터티로 고유하게 식별합니다.

비고

이전에는 ILPIP 주소를 PIP(공용 IP) 주소라고 했습니다.

VM에 대한 ILPIP 관리

다음 작업을 통해 VM에서ILPIP를 만들고, 할당하고, 제거할 수 있습니다.

PowerShell을 사용하여 VM을 만드는 동안 ILPIP를 요청하는 방법

다음 PowerShell 스크립트는 FTPService라는 클라우드 서비스를 만들고, Azure에서 이미지를 검색하고, 검색된 이미지를 사용하여 FTPInstance 라는 VM을 만들고, ILPIP를 사용하도록 VM을 설정하고, VM을 새 서비스에 추가합니다.

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"

다른 스토리지 계정을 새 VM 디스크의 위치로 지정하려는 경우 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"

VM에 대한 ILPIP 정보를 검색하는 방법

이전 스크립트를 사용하여 만든 VM에 대한 ILPIP 정보를 보려면 다음 PowerShell 명령을 실행하고 PublicIPAddressPublicIPName에 대한 값을 확인합니다.

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

VM에서 ILPIP를 제거하는 방법

이전 스크립트에서 VM에 추가된 ILPIP를 제거하려면 다음 PowerShell 명령을 실행합니다.

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

기존 VM에 ILPIP를 추가하는 방법

이전 스크립트를 사용하여 만든 VM에 ILPIP를 추가하려면 다음 명령을 실행합니다.

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

Cloud Services 역할 인스턴스에 대한 ILPIP 관리

Cloud Services 역할 인스턴스에 ILPIP를 추가하려면 다음 단계를 완료합니다.

  1. Cloud Services 구성 방법 문서의 단계를 완료하여 클라우드 서비스에 대한 .cscfg 파일을 다운로드합니다.

  2. 요소를 추가하여 .cscfg 파일을 업데이트합니다 InstanceAddress . 다음 샘플에서는 WebRole1이라는 역할 인스턴스에 MyPublicIP라는 ILPIP를 추가합니다.

     <?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. Cloud Services 구성 방법 문서의 단계를 완료하여 클라우드 서비스에 대한 .cscfg 파일을 업로드합니다.

클라우드 서비스에 대한 ILPIP 정보를 검색하는 방법

역할 인스턴스당 ILPIP 정보를 보려면 다음 PowerShell 명령을 실행하고 PublicIPAddress, PublicIPName, PublicIPDomainNameLabelPublicIPFqdns 값을 확인합니다.

Add-AzureAccount

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

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

하위 도메인의 A 레코드를 쿼리하는 데 사용할 nslookup 수도 있습니다.

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

다음 단계

  • 클래식 배포 모델에서 IP 주소 지정 이 작동하는 방식을 이해합니다.
  • 예약 IP에 대해 알아봅니다.