我有一个构建 ECS 优化 AMI 的 EC2 启动配置。我有一个 Auto Scaling 组,可确保我始终拥有至少两个可用实例。最后,我有一个负载均衡器。
我正在尝试创建一个 ECS 服务,将我的任务分配给负载均衡器中的实例。
在阅读了 ECS 负载均衡的文档后,我的理解是我的 ASG 不应该自动向 ELB 注册我的 EC2 实例,因为 ECS 会处理这个问题。所以,我的 ASG 没有指定 ELB。同样,我的 ELB 没有任何已注册的 EC2 实例。
创建 ECS 服务时,我选择 ELB 并选择 ecsServiceRole。创建服务后,我从未在 ECS 实例选项卡中看到任何可用的实例。该服务也无法启动任何任务,出现一个非常普遍的错误......
服务无法放置任务,因为找不到资源。
我已经在这里待了大约两天,似乎无法弄清楚哪些配置设置没有正确配置。有没有人知道什么可能导致这不起作用?
更新@ 2015 年 6 月 25 日:
我认为这可能与ECS_CLUSTER用户数据设置有关。
ECS_CLUSTER在我的 EC2 Auto Scaling 启动配置中,如果我将用户数据输入完全留空,则会使用“默认”值创建实例。发生这种情况时,我会看到一个自动创建的集群,名为“default”。在这个默认集群中,我看到了实例,并且可以像预期的那样向 ELB 注册任务。一旦任务向 ELB 注册,我的 ELB 健康检查 (HTTP) 就会通过,一切顺利。
但是,如果我将该ECS_CLUSTER设置更改为自定义设置,我将永远不会看到使用该名称创建的集群。如果我手动创建具有该名称的集群,则这些实例永远不会在集群中可见。在这种情况下,我永远无法向 ELB 注册任务。
有任何想法吗?