我们将Amazon ECS用于我们的服务。我们有一个名为的application
集群,并且在该集群中,我们有一些服务:
- dev_app - dev_kafka - dev_zookeeper - qa_app - qa_kafka - qa_zookeeper - etc.
并且这些服务来自具有相关约束的任务定义,即 memberOf(attribute:env == qa), memberOf(attribute:role == zookeeper)
我们通过EC2启动配置+ Autoscaling组启动实例。这意味着我们的服务目前无法立即自动扩展,因为实例启动时没有适当的属性。我知道当前如何添加属性的唯一方法是等待将实例添加到application
集群,然后手动向每个实例添加自定义属性。
问题:我可以在启动时通过启动配置或其他方式添加实例属性吗?
我发现modify-instance-attribute
,但这似乎仅对现有属性有效,而对自定义属性无效。我也尝试过put-attributes
,但这似乎仅对ECS资源有效(我的实例ARN显然无效)。
在启动配置中使用“用户数据”。
echo ECS_INSTANCE_ATTRIBUTES={\"mycostomattr\":\"myvalue\"} >> /etc/ecs/ecs.config
请参阅http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html