Introspeksi ECS wadah Amazon - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Introspeksi ECS wadah Amazon

Agen ECS kontainer Amazon menyediakan API operasi untuk mengumpulkan detail tentang instans kontainer tempat agen berjalan dan tugas terkait yang berjalan di instans tersebut. Anda dapat menggunakan curl perintah dari dalam instans kontainer untuk melakukan kueri terhadap agen ECS kontainer Amazon (port 51678) dan mengembalikan metadata instans kontainer atau informasi tugas.

penting

Instans kontainer Anda harus memiliki IAM peran yang mengizinkan akses ke Amazon ECS untuk mengambil metadata. Untuk informasi selengkapnya, lihat IAMPeran contoh ECS wadah Amazon.

Untuk melihat metadata instans kontainer, masuk ke instans kontainer Anda melalui SSH dan jalankan perintah berikut. Metadata mencakup ID instans kontainer, ECS klaster Amazon tempat instans kontainer terdaftar, dan informasi versi agen ECS kontainer Amazon.

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

Output:

{
    "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)"
}

Untuk melihat informasi tentang semua tugas yang berjalan pada instans kontainer, masuk ke instans kontainer Anda melalui SSH dan jalankan perintah berikut:

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

Output:

{
    "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",
          "CreatedAt": "2023-10-08T20:09:11.44527186Z",
          "StartedAt": "2023-10-08T20:09:11.44527186Z",
          "ImageID": "sha256:2ae34abc2ed0a22e280d17e13f9c01aaf725688b09b7a1525d1a2750e2c0d1de"
        },
        {
          "DockerId": "bf25c5c5b2d4dba68846c7236e75b6915e1e778d31611e3c6a06831e39814a15",
          "DockerName": "ecs-hello_world-8-wordpress-e8bfddf9b488dff36c00",
          "Name": "wordpress"
        }
    ]
}
    ]
}

Anda dapat melihat informasi untuk tugas tertentu yang berjalan pada instans kontainer. Untuk menentukan tugas atau kontainer tertentu, tambahkan salah satu dari berikut pada permintaan:

  • Tugas ARN (?taskarn=task_arn)

  • ID Docker untuk kontainer (?dockerid=docker_id)

Untuk mendapatkan informasi tugas dengan Docker ID kontainer, masuk ke instans kontainer Anda melalui SSH dan jalankan perintah berikut.

catatan

Agen ECS penampung Amazon sebelum versi 1.14.2 memerlukan wadah Docker lengkap IDs untuk introspeksiAPI, bukan versi pendek yang ditampilkan. docker ps Anda bisa mendapatkan ID Docker lengkap untuk kontainer dengan menjalankan perintah docker ps --no-trunc pada instans kontainer.

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

Output:

{
    "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",
            "CreatedAt": "2023-10-08T20:09:11.44527186Z",
            "StartedAt": "2023-10-08T20:09:11.44527186Z",
            "ImageID": "sha256:2ae34abc2ed0a22e280d17e13f9c01aaf725688b09b7a1525d1a2750e2c0d1de"
        }
    ],
    "DesiredStatus": "RUNNING",
    "Family": "nginx-efs",
    "KnownStatus": "RUNNING",
    "Version": "2"
}