使用Ansible将新的EC2实例启动到集群中

时间:2017-04-27 16:10:44

标签: amazon-web-services ansible amazon-ecs

我想要做的是使用Ansible创建一个ECS集群,然后创建一个EC2实例并将其启动到该集群中,但我似乎无法找到一种方法。到目前为止,我已经毫不费力地自行启动和配置EC2实例,但下一步是完全阻止了我。

AWS文档说我可以使用用户数据创建一个EC2实例,将其分配给一个集群,但是当我使用Ansible的ec2模块的user_data字段时,这似乎不起作用。这就是我在该领域所拥有的:

#!/bin/bash
echo "ECS_CLUSTER=my-test-cluster" >> /etc/ecs/ecs.config

我觉得必须有一些我没有看到的东西,或者我缺少一些基本的理解。我希望有人可以在这里提供一些指示。

编辑:我最初没有使用正确的ECS优化AMI,但即使在使用正确的图像启动实例后,我也没有看到差异。

2 个答案:

答案 0 :(得分:0)

我认为您缺少的是实例上与群集关联的正确策略。听起来你有其余的设置很好。我会安全地假设,如果您登录服务器并检查代理的ECS日志,您将看到权限问题。

在这里查看http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html我之前遇到过类似的问题,并设置了相应的权限。

答案 1 :(得分:0)

另一种可能性是your instance doesn't have Internet access

  

容器实例需要外部网络访问权限才能与Amazon ECS服务终端节点进行通信,因此,如果您的容器实例没有公共IP地址,则它们必须使用网络地址转换(NAT)来提供此访问权限。