代码之家  ›  专栏  ›  技术社区  ›  beginnertopython

查找aws ecs使用的最新任务和映像

  •  4
  • beginnertopython  · 技术社区  · 7 年前

    我正在查找ECS容器服务使用的最新任务和映像。我尝试使用AWS ECS cli,能够列出正在运行的服务/任务,但无法找到正在运行的最新任务ID和用于该任务的映像。是否有人可以使用AWS CLI或Boto脚本来帮助查找所使用的最新任务和图像。

    3 回复  |  直到 7 年前
        1
  •  4
  •   maafk    7 年前

    你能做这样的事吗(未经测试)?

    aws ecs describe-services \
    --service <name> \
    --query "reverse(sort_by(services, &CreatedAt)).taskDefinition[0] 
    

    想法是按反向创建日期列出集群中的服务,并获得第一个 taskDefinition 返回。

    我的帐户中没有活动服务,因此目前无法测试此功能,但逻辑应该成立

        2
  •  3
  •   rmsys    3 年前

    今天,我需要做这个,但在一个没有服务的任务中。令我惊讶的是,命令:

    aws ecs describe-task-definition --task-definition task-definition-name
    

    返回带有最后一个任务定义的json。

    所以,我这样做是为了取json的名字:

    aws ecs describe-task-definition --task-definition task-definition-name | jq '.[] | .taskDefinitionArn'
    
        3
  •  2
  •   Arunas Bart    5 年前

    接受的答案对我不起作用,我需要获得最新的任务定义ARN。

    Th常规aws cli命令

    提供输出为:

         aws ecs list-task-definitions --status active
    {
        "taskDefinitionArns": [
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:6",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:7",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:8",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:9",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:10",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:11",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:12",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:13",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/diag:14",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kafka:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kafka:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kafka:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kafka:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kafka:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kafka:6",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kafka:7",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo-dev:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo-dev:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo-dev:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo:6",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/mongo:7",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/sqlserver:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/sqlserver:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/sqlserver:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/sqlserver:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/sqlserver:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/sqlserver:6",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:6",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:7",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:8",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:9",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:10",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:11",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:12",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:13",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:14",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:15",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:16",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:17",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:18",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:19",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:20",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:21",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/web-api:22",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/apm:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/apm:15",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/apm:17",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/apm:18",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/elasticsearch:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/elasticsearch:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/elasticsearch:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/elasticsearch:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/elasticsearch:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/elasticsearch:6",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/elasticsearch:7",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/filebeat:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/filebeat:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/filebeat:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/hadoop-single:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/hadoop-single:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/hadoop-single:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/hadoop-single:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/hadoop-single:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:6",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:7",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:8",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:9",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:10",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:11",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:12",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:13",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/kibana:14",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:1",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:2",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:3",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:4",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:5",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:6",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:7",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:8",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:9",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:10",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:11",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:12",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:13",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:14",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:15",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:16",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:17",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:18",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:19",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:20",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:21",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/logstash:23",
            "arn:aws:ecs:eu-north-1:nnnnnnnnnnnn:task-definition/metricbeat:1"
        ]
    }
    

    即使过滤器——状态处于活动状态也没有帮助,因为它在默认情况下处于打开状态。

    因此,通过进一步挖掘,我获得了这个命令,它提供了最新的工作aws任务定义版本arn:

    aws ecs describe-services --cluster ecs-cluster --service task1 \
    --query "services[].taskDefinition" | jq -r ".[0]"
    
    arn:aws:ecs:eu-central-1:nnnnnnnnnnnn:task-definition/task1:22