目前,AWS ECS工具的行为很奇怪。
在使用aws和web仪表板时,我发现了两种不同的行为。
上下文是,我已经设置了一个ECS集群,我正在编写一个脚本,通过创建或更新ECS服务(以及其他步骤)来自动化我的部署。
我的部分脚本使用命令aws ecs describe-services,在这里我发现了与仪表板不同的信息(在集群的页面上)。
实际上,当创建服务并运行ACTIVE时,如果我运行:
aws ecs describe-services --services my_service --cluster my_cluster该服务将显示为一个输出,其中包含我需要解析的所有信息。它也会像ACTIVE一样出现在网络仪表板上。
问题是当我从仪表板中删除服务时。正如预期的那样,它将从列表中删除,我最终可以用相同的名称从仪表板中重新创建一个。
但是,如果删除该服务,我将重新运行上面的命令,输出将显示该服务为INACTIVE,而有关先前删除的服务的所有信息仍将显示。
如果删除了服务,那么该命令不应该以MISSING的形式返回该服务吗:
{
"services": [],
"failures": [
{
"reason": "MISSING",
"arn": "arn:aws:ecs:<my_regions>:<my_id>:service/my_service"
}
]
}因为这会使我的脚本中的解析更加复杂,而且即使我能够找到解决办法(可能会尝试创建服务,即使INACTIVE而不是不存在),即使删除,服务仍然在这里,某个地方,在我的堆栈中。
编辑:我正在使用aws的最新版本。
发布于 2018-09-05 05:36:15
这是aws提供的默认行为。请查阅下列文件:
删除服务时,如果仍然存在需要清理的正在运行的任务,则服务状态将从活动状态转移到耗尽状态,并且该服务在控制台或ListServices API操作中不再可见。任务停止后,服务状态将从耗尽状态转移到非活动状态。处于耗尽状态或非活动状态的服务仍然可以使用DescribeServices API操作查看。但是,对这些服务的
in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping和DescribeServices API操作返回ServiceNotFoundException错误。
https://stackoverflow.com/questions/52175728
复制相似问题