2

我目前正在使用 Chef 尝试自动部署几台服务器,但遇到了一些问题。长话短说,我需要以编程方式查找 AWS 实例的公共 dns,但我似乎找不到任何类型的命令来执行此操作。该实例已经是一个节点,所以我正在寻找类似于 Chef::Config[:node_name] 的东西,但要使用公共 dns (Chef::Config[:node_public_dns] 可以解决问题......如果它存在) . 我确信这个功能以某种形式存在,因为在创建节点时 Chef 会将 public_dns 字段吐出到屏幕上。

无论如何,提前谢谢你们!

4

2 回答 2

13

Ohai已经为您挑选了。所以只需在你的食谱中使用 node 属性:

node[:ec2][:public_hostname]
于 2012-09-01T03:01:38.810 回答
1

您可以通过 curl 实例的元数据服务来获取它,特别是对于public-hostname.

应该是这样的:

http://169.254.169.254/latest/meta-data/public-hostname
于 2012-08-31T12:51:57.270 回答