ECS服务AWS-CLI与仪表板

时间:2018-09-05 01:03:22

标签: amazon-web-services amazon-ecs

当前遇到AWS ECS工具的怪异行为。

使用aws-cli和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-cli的最新版本

1 个答案:

答案 0 :(得分:1)

这是aws提供的默认行为。请检查以下文档:

  

删除服务时,如果仍有正在运行的任务需要清除,则服务状态将从ACTIVE变为DRAINING,并且该服务在控制台或ListServices API操作中不再可见。任务停止后,服务状态将从DRAINING变为INACTIVE。仍可以使用DescribeServices API操作查看处于DRAINING或INACTIVE状态的服务。但是,in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping和这些服务上的DescribeServices API操作将返回ServiceNotFoundException错误。

delete-service