是否等同于Azure中的AWS主机名?

svujldwt  于 2023-04-22  发布在  其他
关注(0)|答案(4)|浏览(120)

在AWS中,这两个命令为我的配置提供了价值

export FQDN=`curl http://169.254.169.254/latest/meta-data/public-hostname`
export PRIVATE_FQDN=`curl http://169.254.169.254/latest/meta-data/hostname`

现在,如果我想在Azure中为Linux VM进行类似的设置,我如何使用元数据服务检索它?
我知道的一个命令是
curl -H元数据:true“http://169.254.169.254/metadata/instance?api-version=2017-08-01
但此命令仅返回IP和计算机特定的数据,而不是Azure中的主机名。

v64noz0r

v64noz0r1#

您可以使用curl -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2017-08-01"检索示例的所有元数据。
正如你所看到的,Azure不提供主机名。
所以,答案是不可能的。
不是:默认情况下,VM的主机名等于VM的名称。

9w11ddsr

9w11ddsr2#

您几乎是正确的,您的命令返回网络信息,因为您在/instance之后指定了/network。
curl -H元数据:true“http://169.254.169.254/metadata/instance?api-version=2017-08-01
您可以在此处找到更多详细信息https://learn.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service

k5ifujac

k5ifujac3#

该命令应该返回一个'name'值,它是VM名称,也应该是主机名。
这里的更多细节是你需要进一步阅读的。
https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-viewing-and-modifying-hostnames

vu8f3i0k

vu8f3i0k4#

从2023年起,这将无法完成。元数据API仅返回公共IP信息。有些人分享了如何从VM名称中找出DNS别名的技巧,但这实际上是不正确的-如果您通过API创建VM,则创建时不会使用任何DNS别名。您也可以将DNS别名更改为ANYTHING.eastus.cloudapp.azure.com,其中eastus是VM运行的位置/区域。
你可以从外部获取这个,不是从VM(这将是一个巨大的安全漏洞),而是从一个知道VM UUID并可以询问Azure DNS API的外部系统。

相关问题