我想要做的是使用Ansible创建一个ECS集群,然后创建一个EC2实例并将其启动到该集群中,但我似乎无法找到一种方法。到目前为止,我已经毫不费力地自行启动和配置EC2实例,但下一步是完全阻止了我。
AWS文档说我可以使用用户数据创建一个EC2实例,将其分配给一个集群,但是当我使用Ansible的ec2模块的user_data字段时,这似乎不起作用。这就是我在该领域所拥有的:
#!/bin/bash
echo "ECS_CLUSTER=my-test-cluster" >> /etc/ecs/ecs.config
我觉得必须有一些我没有看到的东西,或者我缺少一些基本的理解。我希望有人可以在这里提供一些指示。
编辑:我最初没有使用正确的ECS优化AMI,但即使在使用正确的图像启动实例后,我也没有看到差异。
答案 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)来提供此访问权限。