如何在Cloudify中获取ip public AWS

时间:2015-11-18 22:29:52

标签: cloudify

在我的脚本文件中使用.sh:

ctx logger info $(ctx instance host_ip)

我在AWS上获得了我的实例的私有IP。我如何获得公共IP?

2 个答案:

答案 0 :(得分:2)

简短的回答是,截至目前你不能,但该功能已经计划好了。

更完整的答案 -

ctx.instance.host_ip映射到计算节点实例的运行时属性ctx.instance.runtime_properties [ip]。按照惯例,这是一个私人IP地址。

如果当前节点是cloudify.nodes.Compute类型,或者派生自cloudify.nodes.Compute类型,或者当前节点与cloudify.relationships.contained_in类型有关系,或者派生自该类型,则设置此属性。具有节点类型的目标,或者派生自cloudify.nodes.Compute。

AWS插件在节点类型cloudify.aws.nodes.Instance ctx.instance.runtime_properties ['public_ip_address']上设置运行时属性。

与此同时,最好的解决方案是在生命周期操作中使用脚本在需要公共IP的所需节点上设置运行时属性,例如here

答案 1 :(得分:0)

您可以通过以下方式获取公共IP地址:

public_address=$(ctx instance public_ip_address)

ctx logger info "Public IP address is ${public_address}"