我想知道当实例由ECS群集自动创建时,在实例创建后添加后配置步骤的最佳方法是什么。
似乎无法将用户数据添加到ECS实例?
注意:实例由ECS群集自动创建。
使用ECS时,您可以配置群集。在配置集群时,您可以选择实例类型和其他内容(ssh密钥,...),但是无处可以为ECS创建的实例提供一些用户数据。所以问题是如何在使用ECS自动创建的实例上进行一些后配置。
答案 0 :(得分:2)
使用管理控制台时,它更像是一个向您创建所需内容的向导,包括使用Amazon Linux ECS优化AMI的实例,并且不会为您提供大量控制权这一点。
要获得更细粒度的控制,您必须使用另一种创建群集的方法,例如AWS CLI或CloudFormation。这些方法允许您(或实际上需要您)一次创建每个部分。
示例:
$ aws ecs create-cluster --cluster-name MyEcsCluster
上面的命令会创建一个集群,并仅创建集群。您仍然需要创建一个ECS task definition,ECS service - 尽管您仍然可以使用管理控制台 - 并且(这里是您的问题的真正答案)您想要的EC2实例附加到群集(单独或通过Auto Scaling group)。您可以从Amazon Linux ECS optimized AMI创建实例,但也可以在此时添加用户数据以进一步配置它们(您也可以使用此方案中的用户数据创建/etc/ecs/ecs.config
文件以确保它附加到您已创建的ECS群集,例如echo "ECS_CLUSTER=MyEcsCluster" > /etc/ecs/ecs.config
)。
简短的回答是,获得这种灵活性是一项更多的工作,但它是可行的。
编辑:进一步思考,你可能会使用管理控制台向导创建一次,然后手动终止它为集群创建的实例(或者更确切地说,删除创建它们的Auto Scaling组)并添加你的拥有。这可以为你节省一些工作。