amazon-web-services - ELB目标组-ECS启动任务时不会自动添加目标
问题描述
我有一个带有两个 EC2 实例的 UAT ECS 集群。我有一项服务(在同一个集群内),它的 Desired Task = 1 (因此它在两个 EC2 实例中的任何一个上运行)。我有一个具有健康实例的 ELB 和目标组。
问题:每当部署发生时,正在运行的任务就会停止,新任务会在另一个 EC2 实例中启动。这不会相应地更新目标组。因此,每次部署后,目标组都会持有先前运行状况不佳的 EC2 目标,该目标在部署之前运行任务。
这是 AWS 的预期行为吗?有什么建议可以绕过我每次部署后采取的手动操作吗?
解决方案
这绝对不是预期的行为。您是否在 ECS 服务上设置了负载均衡?
例如,如果我使用 CLI 来描述服务:
$ aws ecs describe-services --services <serviceName> --cluster <clusterName>
{
"services": [
// a bunch of stuff
"loadBalancers": [
{
"containerName": <container name>,
"targetGroupArn": <ELB Target Group ARN>
"containerPort": <container port number>
}
]
// more stuff here
]
}
有了这个,每次 ECS 启动新任务或删除现有任务时,负载均衡器目标组都会更新。
如果您在创建服务时没有配置负载均衡器,很遗憾您无法在事后更新该部分服务。您所能做的就是创建一项新服务并删除旧服务。
推荐阅读
- google-bigquery - 如何以秒为单位获取 BigQuery 中记录的平均间隔
- javascript - 将 JavaScript 生成的图像发送到 Django ModelForm 时出错
- html - 如何在不超过 100vw 的情况下使响应式导航栏汉堡图标正常工作?
- android - 多行时如何在 EditText 上保持文本填充
- html - 引用电子邮件中的 HTML 样式
- typescript - 从接口/类型属性中去除空联合
- python - 使用 censusdata api,如何修复最大输入超出 url 错误
- java - Spring Security 在运行应用程序时出现错误,在创建 bean myUserDetailsService 时出错
- javascript - React:我可以在不导致重绘的情况下更改状态(useState),以便我可以看到 css 转换吗?
- algorithm - 通过并行分组最小化的作业调度