在我的脚本文件中使用.sh:
ctx logger info $(ctx instance host_ip)
我在AWS上获得了我的实例的私有IP。我如何获得公共IP?
答案 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}"