当实例未通过运行状况检查时,AWS ECS服务正在转移到另一个集群

时间:2018-03-28 00:28:14

标签: amazon-web-services docker amazon-ecs

我们已经开始使用ECS,我们不太确定我们遇到的行为是否正确,如果是,如何解决它。

我们已经设置了一个Beanstalk Docker Multicontainer环境,该环境在后台使用ECS来管理所有内容,一直运行正常。昨天,我们在ECS “ecs-int”中创建了一个独立的集群,一个任务定义“ecs-int-task”和一个服务“ecs-int-服务“与负载均衡相关联”ecs-int-lb“,我们在群集中添加了一个实例。

当服务首次运行时,它工作正常,我们能够通过负载均衡到达docker服务。当我们使用与群集“ecs-int”相关联的实例安全组时,我们错误地删除了容器运行的端口规则,并且运行状况检查开始在LB上失败将实例排除在外。当它发生时,令我们惊讶的是服务“ecs-int-service”和任务“ecs-int-task”自动移动到Beanstalk集群并开始在那里运行为我们的beanstalk应用程序创建一个问题。

在设置服务时,我们设置的放置规则设置为“AZ Balanced Spread”

服务应该在群集周围移动吗?该服务不应仅附加到最初创建的群集吗?如果这是正常的行为,那么我们如何设置一个规则,以便即使实例由于某种原因未通过运行状况检查而又停留在同一个集群中,也可以进行服务?

由于

1 个答案:

答案 0 :(得分:0)

我再次重新创建了所有基础架构,问题就消失了。正如我所怀疑的,当一个或多个实例失败时,为一个集群创建的服务不应该移动到不同的集群。