我在Amazon EC2上有一个Windows 2008r2实例。 我希望能够从实例中访问其“公共DNS名称”。 公共DNS名称也可以在我的AWS EC2控制台上find。
有没有办法做到这一点?
未知的答案在技术上是正确的(+1),但为了提供背景和一些更多细节,我想提一提各自的Amazon EC2 实例元数据和用户数据 :
实例元数据是关于您的EC2实例的数据,可用于配置或管理正在运行的实例。 实例元数据分为几类。 有关更多信息,请参阅实例元数据类别 。
许多可用的元数据类别之一是public-hostname
:
该实例的公共DNS。 如果实例位于VPC中,则只有在enableDnsHostnames属性设置为true时才会返回此类别。 有关更多信息,请参阅在您的VPC中使用DNS 。
您可以通过专用URI( http://169.254.169.254/latest/meta-data/
使用任何具有HTTP功能的工具(例如无处不在的cURL ,强烈推荐的HTTPie ( CLI,cURL-像人类的工具 ),当然,最明显的是你的用例,PowerShell,特别是。 版本3.0+,例如:
PS> $publicHostname = Invoke-WebRequest ` -Uri http://169.254.169.254/latest/meta-data/public-hostname
看看这里 ,但使用public-hostname
而不是instance-id
。