2013-08-26 107 views
2

我在Amazon EC2上有一個Windows 2008r2實例。我希望能夠從實例中訪問其「公共DNS名稱」。公共DNS名稱也可以在我的AWS EC2控制檯上找到。如何找出Amazon EC2實例中的「公共DNS名稱」?

有沒有辦法做到這一點?

+0

反向DNS查找可以解決這個問題嗎?除非你在控制檯中改變了它,否則它會回到ec2-50-16-114-10.compute-1.amazonaws.com。 –

回答

4

Unknown's answer在技術上是正確的(+1),但爲了提供背景和一些更多的細節,我想提相應的Amazon EC2 Instance Metadata and User Data

實例元數據是關於數據您可以使用您的EC2實例 配置或管理正在運行的實例。實例元數據被分成 類別。有關更多信息,請參閱Instance Metadata Categories

在衆多可用的元數據類是public-hostname

實例的公共DNS。如果實例位於VPC中,則只有在enableDnsHostnames屬性設置爲true時才返回此類別 。 欲瞭解更多信息,請參閱Using DNS with Your VPC

您可以從正在運行的EC2實例中通過專用URI http://169.254.169.254/latest/meta-data/與任何具有HTTP功能的工具(例如,無處不在cURL,強烈推薦HTTPie一個CLI,類似於cURL的工具,用於人類),當然,最明顯的用例是使用PowerShell,尤其是使用PowerShell。版本3.0+,例如:

PS> $publicHostname = Invoke-WebRequest ` 
     -Uri http://169.254.169.254/latest/meta-data/public-hostname 
+0

謝謝。奇蹟般有效。當然,因爲我是一個Ruby人,我使用:RestClient.get「http://169.254.169.254/latest/meta-data/public-hostname」 –

3

看一看here,但使用public-hostname而不是instance-id

相關問題