2013-06-03 2 views
2

클라우드 서비스를 특정 가상 네트워크와 연결할 때 인스턴스는 선택한 서브넷 범위에서 IP를 자동으로 가져옵니다.가상 네트워크에서 IP 주소 가져 오기

이 IP를 인스턴스 자체에서 동적으로 알 수있는 방법이 있습니까? 그렇다면 인스턴스가 생성되는 즉시 (예 : 시작 작업이 실행될 때)이 정보를 사용할 수 있습니까?

그렇지 않은 경우 인스턴스가 생성 된 후 프로그래밍 방식으로 인스턴스 외부에서이 IP를 가져 오는 방법이 있습니까?

필자는 PowerShell 솔루션을 선호하지만 무엇이든 할 수 있습니다.

감사합니다.

답변

1

인스턴스의 경우 부팅시 IP 주소가 할당됩니다. 따라서 시작 작업 (PaaS/클라우드 서비스)이 실행될 때까지 네트워크 카드를 열거하여 IP 주소를 결정할 수 있습니다. 또는 IP 끝점을 가져 오는 중입니다. (테스트 적이있다)

샘플 PowerShell은 다음과 같이 보일 것입니다 :

[Reflection.Assembly]::LoadWithPartialName("Microsoft.WindowsAzure.ServiceRuntime") 
$ipEndpoint = [Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment]::CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint 

는 이제 .NET 유형 IPEndpoint이며 VM의 로컬 IP 주소를 보유하고있는 $ipEndpoint 변수가 있습니다.

+0

불행히도 이것은 내부 LAN IP를 제공합니다 (ipconfig를 할 때와 동일). 가상 네트워크 IP가 아닙니다. –

+1

"가상 네트워크 IP"란 무엇입니까? 배포의 가상 IP 주소 (공개 된 VIP)가 아닌 직접 IP 주소 (또는 DIP)를 제공합니다. 크로스 - 프레미스 연결을 설정하면 VNet 게이트웨이의 공용 IP 주소도 있습니다. 정확한 IP 주소를 알려주십시오. – astaykov

+0

가상 네트워크 내의 IP입니다. –

관련 문제