2017-08-12 85 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" 
     } 
    ] 
    } 
} 

文檔。