当 AutoScaling 组的 desiredCapacity 为 0 时,AWS ECS 不会启动 EC2 实例

AWS ECS doesn't start an EC2 Instance when AutoScaling Group has desiredCapacity as 0

场景一:

我按顺序创建了以下资源:

我在这种情况下面临的问题是,EC2 由 ASG 启动并且未连接到 ECS,因为 ECS_CLUSTER 值与实际集群名称不同。这感觉很明显,因为 ASG 在提供程序添加到集群之前启动。

场景二:

服务无法启动,因为出现错误:“在您的集群中找不到容器实例”

场景 2 让我感到困惑 - 不清楚 ECS 扩展策略是否也会创建第一个实例?


一些解决方案建议将最小容量保持为 1,以便它起作用。但如果我这样做,我最终会进入场景 1,其中第一个 EC2 实例无法向 ECS 注册。

您必须在启动配置或模板中使用 user_data 才能正确设置 ECS 实例。这包括提供一个集群名称,如 AWS docs:

中所述
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=your_cluster_name
EOF