获取虚拟网络中的IP地址

时间:2013-06-03 07:11:33

标签: azure azure-virtual-network

将云服务与特定虚拟网络关联时,该实例会自动从所选子网范围获取IP。

有没有办法从实例本身动态地了解这个IP?如果是这样,一旦创建实例,这个信息是否可用,例如在执行启动任务时?

如果没有,是否有办法在实例创建后的任何时间从实例外部以编程方式获取此IP?

我更喜欢PowerShell解决方案,但任何事情都可以。

感谢。

1 个答案:

答案 0 :(得分:1)

如果您来自实例,则在引导时分配IP地址。因此,当执行启动任务(PaaS / Cloud Service)时,您可以通过枚举网卡来确定IP地址。或者获得IP端点。

示例powershell(从未经过测试)看起来像这样:

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

现在您拥有$ipEndpoint变量,该变量是.NET类型IPEndpoint并保存VM的本地IP地址。