2017-08-12 84 views
0

this link中有两个公用地址(http://169.254.169.254/latest/meta-data/public-hostnamehttp://169.254.169.254/latest/meta10-data/local-hostname),它们将返回您的实例(虚拟机)的公共和本地主机名。
请按照此link了解更多关于Amazon AWS中的169.254.169.254的信息。

对于Microsoft Azure VM有没有相同的方法?如何在Azure VM中获取本地和公共HostName?

+0

public HostName?你的意思是公共DNS名称或虚拟机的主机名? –

+0

我正在寻找公共DNS并感谢您的评论。我在下面的回答中找到了解决方案 –

回答

1

Azure中有类似的服务(Azure Instance Metadata Service),但似乎没有提供您需要的数据(私有和公有主机名)。

作为一种解决方法,我想您可以使用此服务来获取足够的元数据以查询Azure RM API并获取所需的信息。

+0

谢谢。这正是我正在寻找的东西 –

1

在这里你去:可here

Azure_VM$ curl -H Metadata:true \ 
       "http://169.254.169.254/metadata/instance?api-version=2017-04-02" | jq 

{ 
    "compute": { 
    "location":"westeurope", 
    "name":"apibuntu", 
    "offer":"UbuntuServer", 
    "osType":"Linux", 
    "publisher": "Canonical", 
    "sku": "16.04.0-LTS", 
    "version": "16.04.201611150", 
    "vmId": "0dcfd4a2-c786-404a-bc08-6fdfe82e68db", 
    "vmSize": "Standard_D2_v2" 
    }, 
    "network": { 
    "interface": [ 
     { 
     "ipv4": { 
      "ipAddress": [ 
      { 
       "privateIpAddress": "10.90.2.4", 
       "publicIpAddress": "104.45.24.73" 
      } 
      ], 
      "subnet": [ 
      { 
       "address": "10.90.2.0", 
       "prefix": "24" 
      } 
      ] 
     }, 
     "ipv6": { 
      "ipAddress": [] 
     }, 
     "macAddress": "000D3A238014" 
     } 
    ] 
    } 
} 

文档。