我在Amazon EC2上有一个Windows 2008r2实例。我希望能够从实例中访问其“公共DNS名称”。公共DNS名称也可以在我的AWS EC2控制台上找到。
有办法做到这一点吗?
答案 0 :(得分: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。
您可以通过专用URI http://169.254.169.254/latest/meta-data/
在正在运行的EC2实例中Retrieve Instance Metadata使用任何支持HTTP的工具,例如无处不在的cURL,强烈推荐的HTTPie(一个CLI,类似cURL的工具),当然,对于你的用例来说,最明显的是PowerShell,尤其是。版本3.0+,例如:
PS> $publicHostname = Invoke-WebRequest `
-Uri http://169.254.169.254/latest/meta-data/public-hostname
答案 1 :(得分:3)
查看here,但请使用public-hostname
代替instance-id
。