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