Cloudify AWS示例尝试连接到内部IP

时间:2016-01-22 15:47:32

标签: amazon-web-services amazon-ec2 cloudify

我尝试将此示例部署到Amazon AWS:

https://github.com/cloudify-cosmo/cloudify-nodecellar-example

执行实际安装时,尝试连接到内部IP时会遇到问题:

2016-01-22 15:25:40 CFY <local> [nodejs_host_b9988.create] Task rescheduled 'cloudify_agent.installer.operations.create' -> Timed out trying to connect to 172.31.50.250 (tried 1 time) [attempt 3/21]

问题是我尝试从我的本地计算机部署,显然无法访问AWS的内部IP。

示例代码中的哪个位置是Cloudify用于连接到不同计算节点的IP集?

我通过此StackOverflow(How to get ip public AWS in Cloudify)帖子发现我可以使用$(ctx instance public_ip_address)来获取公共IP。

这里的最佳做法是什么?或者是否建议直接从AWS中部署?

1 个答案:

答案 0 :(得分:0)

如果从管理器运行Cloudify,则需要在与代理节点连接到同一子网的计算机上运行管理器。 (这意味着您需要在AWS EC2中运行的经理。)

设置public_ip_address属性的代码位于Cloudify AWS插件中的cloudify.aws.nodes.Instance节点类型的start operation中,而不是示例本身。该示例仅为imports the plugin

如果您在本地模式下运行Cloudify,即您正在通过运行cfy local init ... cfy local execute ...执行,那么该回购中的蓝图不适合进行测试,local-blueprint.yaml除外。 (local-blueprint.yaml仅在启动安装的计算机上运行。aws-ec2-blueprint.yaml需要经理。在本地模式下测试AWS需要different blueprint repository - 请注意这是一个贡献示例。)