为什么我的以 AutoScaling 组作为容量提供者的 ECS 集群无法正常工作?

问题描述 投票:0回答:1

在您的容量提供程序中找不到容器实例

我想使用自动扩展组作为 ECS 集群的容量提供程序。 尽管我只想每个容器实例一个容器,但我还是选择了 awsvpc 作为任务定义的网络模式。 在其他模板中,我使用启动模板(在具有 NAT 的私有子网中)、负载均衡器和目标组创建自动缩放组。

  • 我在 TargetGroup 中选择“ip”作为目标类型,因为我的任务定义中采用了 awsvpc 模式,

  • 当然,目标组与我的自动缩放组没有关联,

  • 我正在使用 ECS 优化的 AMI,

  • 我尚未将用户数据添加到我的启动模板中

不过,当我尝试在集群中创建服务时,会出现错误:“在您的容量提供程序中找不到容器实例”

可能是什么?我不确定是不是。与政策、角色和其他东西有关

我读到有些人可能会将用户数据添加到启动模板中,但我不确定这是否适合我。我想要一个自动缩放组作为容量提供者,而不是单个服务器。

amazon-web-services amazon-ec2 amazon-ecs aws-fargate aws-auto-scaling
1个回答
0
投票

好吧...所以我花了很多时间来追踪这一点。 我正在使用 terraform 创建资源(应该如此),并认为我可以对多个 ASG 或 ECS 集群使用相同的启动模板。 不幸的是,有人决定让启动模板指定实例附加到哪个 ECS 集群。

所以这是修复它的方法。 在启动模板中...底部的“高级详细信息”下有一个名为“用户数据”的小字段。 在这里,您必须在实例上设置一个环境变量来指定它适用于哪个 ECS 集群。

我输入:

#!/bin/bash echo ECS_CLUSTER=测试 >> /etc/ecs/ecs.config;

宾果...使用此启动模板创建的所有实例现在都与“测试”ECS 集群关联。

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.