如何从自定义厨师食谱访问 opsworks elb 层 ip

How can I access opsworks elb layer ip from custom chef recipes

我正在尝试从我的厨师食谱中的其他层访问 elb ip 地址,以在多个实例中写入 conf 文件。

node[:opsworks][:layers][:layer_name][:instances][:instance_name]

只有 returns 应用程序实例,而不是它们前面的 elb 地址

在阅读了更多文档 (http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json.html#workingcookbook-json-obtain) 之后,我发现一旦我 ssh 进入一台机器,我就可以直接查看我的 Chef 堆栈配置和部署 json 文件。

拿到文件后,我意识到有一个与 node[:opsworks][:layers][:layer_name][:instances] 平行的字段叫做 node[:opsworks][:layers ][:layer_name]["elb-load-balancers"],其中包含一个对象数组,每个对象都具有该层中负载均衡器的 "dns_name" 字段名称。

希望这对以后的其他人有所帮助!