我正在尝试使用 EC2 启动类型在 AWS 中运行 ECS 任务。这个任务已经运行了将近一年,没有出现任何问题,但几周前它停止工作了。
当我创建新任务时,它会保持“配置”状态,直到失败。我收到的错误是“TaskFailedToStart:EMPTY CAPACITY PROVIDER”。我一直在寻找答案,但到目前为止我没有发现任何有用的答案。任何人都可以帮忙提供一些可能发生的事情的想法吗?
我也遇到了同样的问题。就我而言,附加到相关子网的 ACL 规则限制太多,导致 EC2、ASG 和 ECS 无法相互通信。
请尝试 - 仅用于调试 - 为所有人打开入站和出站规则。请参阅 https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#default-network-acl
如果它适用于广泛开放的 ACL 规则,那么您就知道根本原因并可以解决此问题。
当您创建 ECS 集群时,AWS 会创建一个包含大量资源的 Cloudformation 堆栈:
理想情况下删除 cloudformation 堆栈并自己创建一切:
您可以轻松切换 ASG 并在 ASG 内启动模板。不知道为什么AWS在某些情况下使用Cloudformation堆栈并且没有告知它。