如何从 Amazon EC2 实例中找出“公共 DNS 名称”?

Jay*_*dse 4 windows amazon-ec2

我在Amazon EC2上有一个 Windows 2008r2 实例。我希望能够从实例中访问其“公共 DNS 名称”。公共 DNS 名称也可以在我的 AWS EC2 控制台上找到。

有没有办法做到这一点?

Ste*_*pel 6

Unknown 的答案在技​​术上是正确的 (+1),但为了提供背景和更多细节,我想提一下各自的 Amazon EC2 Instance Metadata 和 User Data

实例元数据是有关您的 EC2 实例的数据,可用于配置或管理正在运行的实例。实例元数据分为几类。有关更多信息,请参阅实例元数据类别

许多可用的元数据类别之一是public-hostname

实例的公共 DNS。如果实例在 VPC 中,则仅当 enableDnsHostnames 属性设置为 true 时才返回此类别。有关更多信息,请参阅在您的 VPC 中使用 DNS

您可以使用任何支持 HTTP 的工具通过专用 URI 从正在运行的 EC2 实例中检索实例元数据http://169.254.169.254/latest/meta-data/,例如无处不在的cURL、强烈推荐的HTTPie一种 CLI,类似于人类的 cURL 工具),当然,最适合您的使用案例,使用 PowerShell,尤其是。版本 3.0+,例如:

PS> $publicHostname = Invoke-WebRequest `
      -Uri http://169.254.169.254/latest/meta-data/public-hostname
Run Code Online (Sandbox Code Playgroud)