Amazon ECS 集装箱代理检验 - Amazon Elastic Container Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

Amazon ECS 集装箱代理检验

的 Amazon ECS 容器代理提供API操作,用于收集有关 代理在其上运行的容器实例和运行的相关任务 实例。您可以使用 curl 命令来自容器内部 实例来查询 Amazon ECS 容器代理(端口51678)和返回容器实例 元数据或任务信息。

重要

您的容器实例必须有 IAM 允许访问 Amazon ECS 在 检索元数据。更多信息,请参阅 Amazon ECS 容器实例 IAM 角色.

要查看容器实例元数据,请通过SSH登录至容器实例并运行 下面的命令。元数据包括容器实例ID、 Amazon ECS 聚类 容器实例注册的容器实例,以及 Amazon ECS 容器代理版本 信息。

curl -s http://localhost:51678/v1/metadata | python -mjson.tool

输出:

{
    "Cluster": "cluster_name",
    "ContainerInstanceArn": "arn:aws:ecs:region:aws_account_id:container-instance/cluster_name/container_instance_id",
    "Version": "Amazon ECS Agent - v1.30.0 (02ff320c)"
}

要查看有关在容器实例上运行的所有任务的信息, 通过SSH登录容器实例,然后运行下列命令:

curl http://localhost:51678/v1/tasks

输出:

{
  "Tasks": [
    {
      "Arn": "arn:aws:ecs:us-west-2:012345678910:task/default/example5-58ff-46c9-ae05-543f8example",
      "DesiredStatus": "RUNNING",
      "KnownStatus": "RUNNING",
      "Family": "hello_world",
      "Version": "8",
      "Containers": [
        {
          "DockerId": "9581a69a761a557fbfce1d0f6745e4af5b9dbfb86b6b2c5c4df156f1a5932ff1",
          "DockerName": "ecs-hello_world-8-mysql-fcae8ac8f9f1d89d8301",
          "Name": "mysql"
        },
        {
          "DockerId": "bf25c5c5b2d4dba68846c7236e75b6915e1e778d31611e3c6a06831e39814a15",
          "DockerName": "ecs-hello_world-8-wordpress-e8bfddf9b488dff36c00",
          "Name": "wordpress"
        }
      ]
    }
  ]
}

您可以查看在容器中运行的特定任务的信息 实例。要指定特定任务或容器,请将以下一项附加至 请求:

  • ARN任务 (?taskarn=task_arn)

  • 容器的DockerID (?dockerid=docker_id)

要获取包含容器的DockerID的任务信息,请登录您的容器 实例,然后运行下列命令。

注意

Amazon ECS 版本1.14.2之前的容器代理需要完整的 反查API,而不是短版本, docker ps。您可以通过运行 docker ps --no-trunc 命令 实例。

curl http://localhost:51678/v1/tasks?dockerid=79c796ed2a7f

输出:

{
    "Arn": "arn:aws:ecs:us-west-2:012345678910:task/default/e01d58a8-151b-40e8-bc01-22647b9ecfec",
    "Containers": [
        {
            "DockerId": "79c796ed2a7f864f485c76f83f3165488097279d296a7c05bd5201a1c69b2920",
            "DockerName": "ecs-nginx-efs-2-nginx-9ac0808dd0afa495f001",
            "Name": "nginx"
        }
    ],
    "DesiredStatus": "RUNNING",
    "Family": "nginx-efs",
    "KnownStatus": "RUNNING",
    "Version": "2"
}