

# EC2의 Amazon ECS 작업에 대해 사용 가능한 작업 메타데이터
<a name="ec2-metadata"></a>

Amazon ECS 컨테이너 에이전트는 다양한 태스크 메타데이터와 [Docker 통계](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats)를 조회하는 메서드를 제공합니다. 이를 일컬어 태스크 메타데이터 엔드포인트라고 합니다. 다음과 같은 버전을 사용할 수 있습니다.
+ 태스크 메타데이터 엔드포인트 버전 4 – 다양한 메타데이터와 Docker 통계를 컨테이너에 제공합니다. 네트워크 속도 데이터도 제공할 수 있습니다. Amazon ECS 컨테이너 에이전트 버전 `1.39.0` 이상에서 실행되는 Amazon EC2 Linux 인스턴스에서 시작된 Amazon ECS 태스크에 제공됩니다. `awsvpc` 네트워크 모드를 사용하는 Amazon EC2 Windows 인스턴스의 경우, Amazon ECS 컨테이너 에이전트 버전이 `1.54.0` 이상이어야 합니다. 자세한 정보는 [Amazon ECS 작업 메타데이터 엔드포인트 버전 4](task-metadata-endpoint-v4.md)을 참조하세요.
+ 태스크 메타데이터 엔드포인트 버전 3 – 다양한 메타데이터 및 Docker 통계를 컨테이너에 제공합니다. Amazon ECS 컨테이너 에이전트 버전 `1.21.0` 이상에서 실행되는 Amazon EC2 Linux 인스턴스에서 시작된 Amazon ECS 태스크에 제공됩니다. `awsvpc` 네트워크 모드를 사용하는 Amazon EC2 Windows 인스턴스의 경우, Amazon ECS 컨테이너 에이전트 버전이 `1.54.0` 이상이어야 합니다. 자세한 정보는 [Amazon ECS 작업 메타데이터 엔드포인트 버전 3](task-metadata-endpoint-v3.md)을 참조하세요.
+ 태스크 메타데이터 엔드포인트 버전 2 - Amazon ECS 컨테이너 에이전트 버전 `1.17.0` 이상에서 실행되는 Amazon EC2 Linux 인스턴스에서 시작된 Amazon ECS 태스크에 제공됩니다. `awsvpc` 네트워크 모드를 사용하는 Amazon EC2 Windows 인스턴스의 경우, Amazon ECS 컨테이너 에이전트 버전이 `1.54.0` 이상이어야 합니다. 자세한 내용은 [Amazon ECS 작업 메타데이터 엔드포인트 버전 2](task-metadata-endpoint-v2.md) 섹션을 참조하세요.

 Amazon ECS 태스크가 Amazon EC2에서 호스팅되거나 태스크가 `host` 네트워크 모드를 사용하고 Amazon ECS 관리형 인스턴스에서 호스팅되는 경우 [인스턴스 메타데이터 서비스(IMDS) 엔드포인트](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)를 사용하여 태스크 호스트 메타데이터에 액세스할 수도 있습니다. 다음 명령을 작업을 호스팅하는 인스턴스 내에서 실행하면 호스트 인스턴스의 ID가 나열됩니다.

```
 curl http://169.254.169.254/latest/meta-data/instance-id
```

Amazon ECS 태스크가 Amazon EC2에서 IPv6 전용 구성으로 호스팅되는 경우 IPv6 IMDS 엔드포인트를 사용하여 태스크 호스트 메타데이터에 액세스할 수 있습니다. 작업을 호스팅하는 인스턴스 내에서 다음 명령을 실행하면 IPv6에서 호스트 인스턴스의 ID가 나열됩니다.

```
 curl http://[fd00:ec2::254]/latest/meta-data/instance-id
```

IPv6 IMDS 엔드포인트에 액세스하려면 컨테이너 인스턴스에서 IPv6 IMDS 엔드포인트를 활성화하고 선택한 SDK의 IMDS 자격 증명 제공자를 사용하여 메타데이터 서비스 엔드포인트 모드를 `IPv6`으로 구성합니다. 컨테이너 인스턴스에 대해 IPv6 IMDS 엔드포인트 활성화에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [인스턴스 메타데이터 서비스 옵션 구성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)을 참조하세요. SDK용 IMDS 자격 증명 공급자에 대한 자세한 내용은 *AWS SDK 및 도구 참조 안내서*의 [IMDS 자격 증명 제공자](https://docs.aws.amazon.com/sdkref/latest/guide/feature-imds-credentials.html)를 참조하세요.

**참고**  
`awsvpcTrunking` 계정 설정이 활성화된 경우 IPv6 IMDS 엔드포인트에 액세스할 수 없습니다. `awsvpcTrunking`이 활성화된 경우 컨테이너 인스턴스 IAM 역할 자격 증명에 액세스하려면 대신 태스크 IAM 역할을 사용할 수 있습니다. 태스크 IAM 역할에 대한 자세한 내용은 [Amazon ECS 작업 IAM 역할](task-iam-roles.md) 섹션을 참조하세요.

 엔드포인트에서 얻을 수 있는 정보는 `instance-id`와 같은 범주로 구분됩니다. 엔드포인트를 사용하여 얻을 수 있는 호스트 인스턴스 메타데이터의 다양한 범주에 대한 자세한 내용은 [인스턴스 메타데이터 범주](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-categories)를 참조하세요.

# Amazon ECS 작업 메타데이터 엔드포인트 버전 4
<a name="task-metadata-endpoint-v4"></a>

Amazon ECS 컨테이너 에이전트가 *태스크 메타데이터 엔드포인트*라고 하는 각 컨테이너에 환경 변수를 주입합니다. 이 컨테이너는 다양한 태스크 메타데이터와 [Docker 통계](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats)를 컨테이너에 제공합니다.

태스크 메타데이터와 네트워크 속도 통계는 CloudWatch Container Insights로 전송되고 AWS Management Console에서 확인할 수 있습니다. 자세한 정보는 [관찰성이 향상된 Container Insights를 사용하여 Amazon ECS 컨테이너 모니터링](cloudwatch-container-insights.md)을 참조하세요.

**참고**  
Amazon ECS는 이전 버전의 태스크 메타데이터 엔드포인트를 제공합니다. 나중에 새 태스크 메타데이터 엔드포인트 버전을 생성할 필요가 없도록 버전 4 출력에 메타데이터를 추가할 수 있습니다. 기존 메타데이터를 제거하거나 메타데이터 필드 이름을 변경하지 않습니다.

환경 변수는 기본적으로 Amazon ECS 컨테이너 에이전트 버전 `1.39.0` 이상을 실행하는 Amazon EC2 Linux 인스턴스에서 시작된 Amazon ECS 태스크의 컨테이너에 주입됩니다. `awsvpc` 네트워크 모드를 사용하는 Amazon EC2 Windows 인스턴스의 경우, Amazon ECS 컨테이너 에이전트 버전이 `1.54.0` 이상이어야 합니다. 자세한 내용은 [Amazon ECS Linux 컨테이너 인스턴스 관리](manage-linux.md) 섹션을 참조하세요.

**참고**  
에이전트를 최신 버전으로 업데이트하여 이전 버전의 Amazon ECS 컨테이너 인스턴스를 사용하여 Amazon EC2 인스턴스에서 이 기능에 대한 지원을 추가할 수 있습니다. 자세한 내용은 [Amazon ECS 컨테이너 에이전트 업데이트](ecs-agent-update.md) 섹션을 참조하세요.

태스크 메타데이터 예제 출력은 [Amazon ECS 작업 메타데이터 v4 예제](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v4-examples.html)를 참조하세요.

## 태스크 메타데이터 엔드포인트 버전 4 경로
<a name="task-metadata-endpoint-v4-paths"></a>

다음의 태스크 메타데이터 엔드포인트 경로를 컨테이너에 사용할 수 있습니다.

`${ECS_CONTAINER_METADATA_URI_V4}`  
이 경로는 컨테이너에 대한 메타데이터를 반환합니다.

`${ECS_CONTAINER_METADATA_URI_V4}/task`  
이 경로는 태스크와 연결된 모든 컨테이너의 컨테이너 ID 및 이름 목록을 포함하여 작업에 대한 메타데이터를 반환합니다. 이 엔드포인트의 응답에 대한 자세한 내용은 [Amazon ECS 작업 메타데이터 V4 JSON 응답](task-metadata-endpoint-v4-response.md) 섹션을 참조하세요.

`${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags`  
이 경로는 `ListTagsForResource` API를 사용하여 검색할 수 있는 태스크와 컨테이너 인스턴스 태그 외에도 `/task` 엔드포인트에 포함된 태스크에 대한 메타데이터를 반환합니다. 태그 메타데이터를 검색하면서 수신한 오류는 응답의 `Errors` 필드에 포함됩니다.  
`Errors` 필드는 컨테이너 에이전트 버전`1.50.0` 이상을 실행하는 Amazon EC2 Linux 인스턴스에서 호스팅되는 태스크에 대한 응답에만 포함됩니다. `awsvpc` 네트워크 모드를 사용하는 Amazon EC2 Windows 인스턴스의 경우, Amazon ECS 컨테이너 에이전트 버전이 `1.54.0` 이상이어야 합니다.  
이 엔드포인트에는 `ecs.ListTagsForResource` 권한이 필요합니다.
`${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags` 엔드포인트를 사용하는 경우 직접 호출할 때마다 `ecs:ListTagsForResource`에 대한 최대 2번의 API 요청(컨테이너 인스턴스 태그 및 태스크 태그에 한 번씩)을 수행하고 태스크의 사이드카 컨테이너는 사용자를 대신해 이 직접 호출을 수행합니다. 엔드포인트 직접 호출이 잦으면 API 스로틀링이 발생할 수 있습니다.  
특히 트래픽이 높은 애플리케이션에서 직접 호출 빈도를 줄이기 위해 캐싱이나 배치 처리 전략을 구현하고 AWS CloudTrail을 사용해 API 스로틀링을 디버깅하는 방법을 고려하세요. `ListTagsForResource` API의 스로틀링 제한에 대한 자세한 내용은 *Amazon Elastic Container Service API 참조*의 [Request throttling for the Amazon ECS API](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/request-throttling.html)를 참조하세요. AWS CloudTrail을 사용해 Amazon ECS API 직접 호출을 디버깅하는 방법에 대한 자세한 내용은 [AWS CloudTrail을 사용하여 Amazon ECS API 직접 호출 로깅](logging-using-cloudtrail.md) 섹션을 참조하세요.

`${ECS_CONTAINER_METADATA_URI_V4}/stats`  
이 경로는 특정 Docker 컨테이너에 대한 Docker 통계를 반환합니다. 반환된 각 통계에 대한 자세한 내용은 Docker API 설명서의 [ContainerStats](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats)를 참조하세요.  
컨테이너 에이전트 버전 `1.43.0` 이상을 실행하는 Amazon EC2 Linux 인스턴스에서 호스팅되고 `awsvpc` 또는 `bridge` 네트워크 모드를 사용하는 Amazon ECS 태스크의 경우, 응답에 추가적 네트워크 속도 통계가 포함됩니다. 그 외에 다른 모든 태스크는 응답에 누적 네트워크 통계만 포함됩니다.

`${ECS_CONTAINER_METADATA_URI_V4}/task/stats`  
이 경로는 태스크와 연결된 모든 컨테이너에 대한 Docker 통계를 반환합니다. 사이드카 컨테이너에서 네트워크 지표를 추출하는 데 사용할 수 있습니다. 반환된 각 통계에 대한 자세한 내용은 Docker API 설명서의 [ContainerStats](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats)를 참조하세요.  
컨테이너 에이전트 버전 `1.43.0` 이상을 실행하는 Amazon EC2 Linux 인스턴스에서 호스팅되고 `awsvpc` 또는 `bridge` 네트워크 모드를 사용하는 Amazon ECS 태스크의 경우, 응답에 추가적 네트워크 속도 통계가 포함됩니다. 그 외에 다른 모든 태스크는 응답에 누적 네트워크 통계만 포함됩니다.

# Amazon ECS 작업 메타데이터 V4 JSON 응답
<a name="task-metadata-endpoint-v4-response"></a>

다음 정보가 태스크 메타데이터 엔드포인트(`${ECS_CONTAINER_METADATA_URI_V4}/task`) JSON 응답에서 반환됩니다. 여기에는 태스크 내 각 컨테이너의 메타데이터와 해당 태스크와 연결된 메타데이터가 포함됩니다.

`Cluster`  
태스크가 속한 Amazon ECS 클러스터의 Amazon 리소스 이름(ARN) 또는 약어입니다.

`ServiceName`  
태스크가 속한 서비스의 이름입니다. ServiceName은 태스크가 서비스와 연결된 경우에 Amazon EC2 및 Amazon ECS Anywhere 컨테이너 인스턴스에 대해 표시됩니다.  
이 `ServiceName` 메타데이터는 Amazon ECS 컨테이너 버전 `1.63.1` 이상을 사용할 때만 포함됩니다.

`VPCID`  
Amazon EC2 컨테이너 인스턴스의 VPC ID입니다. 이 필드는 Amazon EC2 인스턴스에 대해서만 표시됩니다.  
이 `VPCID` 메타데이터는 Amazon ECS 컨테이너 버전 `1.63.1` 이상을 사용할 때만 포함됩니다.

`TaskARN`  
컨테이너가 속한 태스크의 Amazon 리소스 이름(ARN)입니다.

`Family`  
태스크에 대한 Amazon ECS 태스크 정의의 패밀리입니다.

`Revision`  
작업에 대한 Amazon ECS 태스크 정의의 개정입니다.

`DesiredStatus`  
Amazon ECS의 태스크에 대해 원하는 상태입니다.

`KnownStatus`  
Amazon ECS의 태스크에 대해 알려진 상태입니다.

`Limits`  
작업 수준에서 지정된 리소스 제한입니다(예: CPU(vCPU로 표시) 및 메모리). 리소스 제한이 정의되지 않은 경우 이 파라미터가 생략됩니다.

`PullStartedAt`  
첫 번째 컨테이너 이미지 풀이 시작된 시간에 대한 타임스탬프입니다.

`PullStoppedAt`  
마지막 컨테이너 이미지 풀이 완료된 시간에 대한 타임스탬프입니다.

`AvailabilityZone`  
태스크가 위치한 가용 영역입니다.  
가용 영역 메타데이터는 플랫폼 버전 1.4 이상(Linux) 또는 1.0.0(Windows)을 사용하는 Fargate 태스크에만 사용할 수 있습니다.

`LaunchType`  
태스크에서 사용 중인 시작 유형. 클러스터 용량 공급자를 사용할 경우 해당 태스크가 Fargate 또는 EC2 인프라를 사용한다는 것을 의미합니다.  
이 `LaunchType` 메타데이터는 Amazon ECS Linux 컨테이너 에이전트 버전 `1.45.0` 이상(Linux) 또는 1.0.0 이상(Windows)을 사용할 때만 포함됩니다.

`Containers`  
태스크와 연결된 각 컨테이너에 대한 컨테이너 메타데이터의 목록입니다.    
`DockerId`  
컨테이너의 Docker ID입니다.  
Fargate를 사용할 때 ID는 32자리 16진수이고 그 뒤에 10자리 숫자가 붙습니다.  
`Name`  
태스크 정의에 지정된 컨테이너의 이름입니다.  
`DockerName`  
Docker에 제공된 컨테이너의 이름입니다. 동일한 태스크 정의의 여러 복사본이 단일 인스턴스에서 실행될 때 이름 충돌을 방지하기 위해 Amazon ECS 컨테이너 에이전트는 컨테이너에 고유의 이름을 생성합니다.  
`Image`  
컨테이너에 대한 이미지입니다.  
`ImageID`  
이미지 매니페스트의 SHA-256 다이제스트입니다. `repository-url/image@sha256:digest` 형식을 통해 이미지를 가져오는 데 사용할 수 있는 다이제스트입니다.  
`Ports`  
컨테이너에 대해 노출된 포트입니다. 노출된 포트가 없는 경우 이 파라미터가 생략됩니다.  
`Labels`  
컨테이너에 적용된 레이블입니다. 적용된 레이블이 없는 경우 이 파라미터가 생략됩니다.  
`DesiredStatus`  
Amazon ECS의 컨테이너에 대해 원하는 상태입니다.  
`KnownStatus`  
Amazon ECS의 컨테이너에 대해 알려진 상태입니다.  
`ExitCode`  
컨테이너에 대한 종료 코드입니다. 컨테이너가 종료되지 않은 경우 이 파라미터가 생략됩니다.  
`Limits`  
컨테이너 수준에서 지정된 리소스 제한입니다(예: CPU(CPU 단위로 표시) 및 메모리). 리소스 제한이 정의되지 않은 경우 이 파라미터가 생략됩니다.  
`CreatedAt`  
컨테이너가 생성된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 생성되지 않은 경우 이 파라미터가 생략됩니다.  
`StartedAt`  
컨테이너가 시작된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 시작되지 않은 경우 이 파라미터가 생략됩니다.  
`FinishedAt`  
컨테이너가 중지된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 중지되지 않은 경우 이 파라미터가 생략됩니다.  
`Type`  
컨테이너의 유형입니다. 태스크 정의에서 지정된 컨테이너는 `NORMAL` 유형입니다. Amazon ECS 컨테이너 에이전트가 내부 작업 리소스 프로비저닝에 사용하는 기타 컨테이너 유형은 무시할 수 있습니다.  
`LogDriver`  
컨테이너가 사용하는 로그 드라이버입니다.  
이 `LogDriver` 메타데이터는 Amazon ECS Linux 컨테이너 버전 `1.45.0` 이상을 사용할 때만 포함됩니다.  
`LogOptions`  
컨테이너에 정의된 로그 드라이버 옵션입니다.  
이 `LogOptions` 메타데이터는 Amazon ECS Linux 컨테이너 버전 `1.45.0` 이상을 사용할 때만 포함됩니다.  
`ContainerARN`  
컨테이너의 Amazon 리소스 이름(ARN)입니다.  
이 `ContainerARN` 메타데이터는 Amazon ECS Linux 컨테이너 버전 `1.45.0` 이상을 사용할 때만 포함됩니다.  
`Networks`  
컨테이너에 대한 네트워크 정보(예: 네트워크 모드 및 IP 주소)입니다. 네트워크 정보가 정의되지 않은 경우 이 파라미터가 생략됩니다.  
`RestartCount`  
컨테이너가 재시작된 횟수입니다.  
`RestartCount` 메타데이터는 컨테이너에 대해 재시작 정책이 활성화된 경우에만 포함됩니다. 자세한 내용은 [컨테이너 재시작 정책이 있는 Amazon ECS 작업의 개별 컨테이너 재시작](container-restart-policy.md) 섹션을 참조하세요.

`ExecutionStoppedAt`  
태스크의 `DesiredStatus`가 `STOPPED`로 이동한 시간에 대한 타임스탬프입니다. 이 동작은 필수 컨테이너가 `STOPPED`로 이동할 때 발생합니다.

# Amazon ECS 작업 메타데이터 v4 예제
<a name="task-metadata-endpoint-v4-examples"></a>

다음 예제에서는 각 태스크 메타데이터 엔드포인트의 예시 출력을 보여줍니다.

## 예제 컨테이너 메타데이터 응답
<a name="task-metadata-endpoint-v4-example-container-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}` 엔드포인트를 쿼리할 때 컨테이너 자체에 대한 메타데이터만 반환됩니다. 다음은 서비스(MyService)의 일부로 실행되는 태스크의 출력 예제입니다.

```
{
    "DockerId": "ea32192c8553fbff06c9340478a2ff089b2bb5646fb718b4ee206641c9086d66",
    "Name": "curl",
    "DockerName": "ecs-curltest-24-curl-cca48e8dcadd97805600",
    "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest",
    "ImageID": "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553",
    "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "curl",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/8f03e41243824aea923aca126495f665",
        "com.amazonaws.ecs.task-definition-family": "curltest",
        "com.amazonaws.ecs.task-definition-version": "24"
    },
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "Limits": {
        "CPU": 10,
        "Memory": 128
    },
    "CreatedAt": "2020-10-02T00:15:07.620912337Z",
    "StartedAt": "2020-10-02T00:15:08.062559351Z",
    "Type": "NORMAL",
    "LogDriver": "awslogs",
    "LogOptions": {
        "awslogs-create-group": "true",
        "awslogs-group": "/ecs/metadata",
        "awslogs-region": "us-west-2",
        "awslogs-stream": "ecs/curl/8f03e41243824aea923aca126495f665"
    },
    "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/0206b271-b33f-47ab-86c6-a0ba208a70a9",
    "Networks": [
        {
            "NetworkMode": "awsvpc",
            "IPv4Addresses": [
                "10.0.2.100"
            ],
            "AttachmentIndex": 0,
            "MACAddress": "0e:9e:32:c7:48:85",
            "IPv4SubnetCIDRBlock": "10.0.2.0/24",
            "PrivateDNSName": "ip-10-0-2-100.us-west-2.compute.internal",
            "SubnetGatewayIpv4Address": "10.0.2.1/24"
        }
    ]
}
```

## 예제 태스크 메타데이터 응답
<a name="task-metadata-endpoint-v4-example-task-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/task` 엔드포인트를 쿼리할 때 태스크 내의 각 컨테이너에 대한 메타데이터 외에도 컨테이너가 속한 태스크에 대한 메타데이터가 반환됩니다. 다음은 예시 출력입니다.

```
{
    "Cluster": "default",
    "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
    "Family": "curltest",
    "ServiceName": "MyService",
    "Revision": "26",
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "PullStartedAt": "2020-10-02T00:43:06.202617438Z",
    "PullStoppedAt": "2020-10-02T00:43:06.31288465Z",
    "AvailabilityZone": "us-west-2d",
    "VPCID": "vpc-1234567890abcdef0",
    "LaunchType": "EC2",
    "Containers": [
        {
            "DockerId": "598cba581fe3f939459eaba1e071d5c93bb2c49b7d1ba7db6bb19deeb70d8e38",
            "Name": "~internal~ecs~pause",
            "DockerName": "ecs-curltest-26-internalecspause-e292d586b6f9dade4a00",
            "Image": "amazon/amazon-ecs-pause:0.1.0",
            "ImageID": "",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "~internal~ecs~pause",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RESOURCES_PROVISIONED",
            "KnownStatus": "RESOURCES_PROVISIONED",
            "Limits": {
                "CPU": 0,
                "Memory": 0
            },
            "CreatedAt": "2020-10-02T00:43:05.602352471Z",
            "StartedAt": "2020-10-02T00:43:06.076707576Z",
            "Type": "CNI_PAUSE",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        },
        {
            "DockerId": "ee08638adaaf009d78c248913f629e38299471d45fe7dc944d1039077e3424ca",
            "Name": "curl",
            "DockerName": "ecs-curltest-26-curl-a0e7dba5aca6d8cb2e00",
            "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest",
            "ImageID": "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "curl",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RUNNING",
            "KnownStatus": "RUNNING",
            "Limits": {
                "CPU": 10,
                "Memory": 128
            },
            "CreatedAt": "2020-10-02T00:43:06.326590752Z",
            "StartedAt": "2020-10-02T00:43:06.767535449Z",
            "Type": "NORMAL",
            "LogDriver": "awslogs",
            "LogOptions": {
                "awslogs-create-group": "true",
                "awslogs-group": "/ecs/metadata",
                "awslogs-region": "us-west-2",
                "awslogs-stream": "ecs/curl/158d1c8083dd49d6b527399fd6414f5c"
            },
            "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/abb51bdd-11b4-467f-8f6c-adcfe1fe059d",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        }
    ]
}
```

## 태스크 메타데이터 응답이 포함된 예제 태스크
<a name="task-metadata-endpoint-v4-example-taskwithtags-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags` 엔드포인트를 쿼리할 때 태스크와 컨테이너 인스턴스 태그를 포함한 컨테이너가 속한 태스크에 대한 메타데이터가 반환됩니다. 다음은 예시 출력입니다.

```
{
    "Cluster": "default",
    "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
    "Family": "curltest",
    "ServiceName": "MyService",
    "Revision": "26",
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "PullStartedAt": "2020-10-02T00:43:06.202617438Z",
    "PullStoppedAt": "2020-10-02T00:43:06.31288465Z",
    "AvailabilityZone": "us-west-2d",
    "VPCID": "vpc-1234567890abcdef0",
    "TaskTags": {
        "tag-use": "task-metadata-endpoint-test"
    },
    "ContainerInstanceTags":{
        "tag_key":"tag_value"
    },
    "LaunchType": "EC2",
    "Containers": [
        {
            "DockerId": "598cba581fe3f939459eaba1e071d5c93bb2c49b7d1ba7db6bb19deeb70d8e38",
            "Name": "~internal~ecs~pause",
            "DockerName": "ecs-curltest-26-internalecspause-e292d586b6f9dade4a00",
            "Image": "amazon/amazon-ecs-pause:0.1.0",
            "ImageID": "",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "~internal~ecs~pause",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RESOURCES_PROVISIONED",
            "KnownStatus": "RESOURCES_PROVISIONED",
            "Limits": {
                "CPU": 0,
                "Memory": 0
            },
            "CreatedAt": "2020-10-02T00:43:05.602352471Z",
            "StartedAt": "2020-10-02T00:43:06.076707576Z",
            "Type": "CNI_PAUSE",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        },
        {
            "DockerId": "ee08638adaaf009d78c248913f629e38299471d45fe7dc944d1039077e3424ca",
            "Name": "curl",
            "DockerName": "ecs-curltest-26-curl-a0e7dba5aca6d8cb2e00",
            "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest",
            "ImageID": "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "curl",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RUNNING",
            "KnownStatus": "RUNNING",
            "Limits": {
                "CPU": 10,
                "Memory": 128
            },
            "CreatedAt": "2020-10-02T00:43:06.326590752Z",
            "StartedAt": "2020-10-02T00:43:06.767535449Z",
            "Type": "NORMAL",
            "LogDriver": "awslogs",
            "LogOptions": {
                "awslogs-create-group": "true",
                "awslogs-group": "/ecs/metadata",
                "awslogs-region": "us-west-2",
                "awslogs-stream": "ecs/curl/158d1c8083dd49d6b527399fd6414f5c"
            },
            "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/abb51bdd-11b4-467f-8f6c-adcfe1fe059d",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        }
    ]
}
```

## 오류 메타데이터 응답과 태그가 포함된 예제 태스크
<a name="task-metadata-endpoint-v4-example-taskwithtags-error-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/taskWithTags` 엔드포인트를 쿼리할 때 태스크와 컨테이너 인스턴스 태그를 포함한 컨테이너가 속한 태스크에 대한 메타데이터가 반환됩니다. 태깅 데이터를 검색할 때 오류가 발생한 경우 이 오류는 응답에서 반환됩니다. 다음은 컨테이너 인스턴스와 연결된 IAM 역할에 `ecs:ListTagsForResource` 권한이 없을 경우에 발생하는 출력의 예제입니다.

```
{
    "Cluster": "default",
    "TaskARN": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
    "Family": "curltest",
    "ServiceName": "MyService",
    "Revision": "26",
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "PullStartedAt": "2020-10-02T00:43:06.202617438Z",
    "PullStoppedAt": "2020-10-02T00:43:06.31288465Z",
    "AvailabilityZone": "us-west-2d",
    "VPCID": "vpc-1234567890abcdef0",
    "Errors": [
        {
            "ErrorField": "ContainerInstanceTags",
            "ErrorCode": "AccessDeniedException",
            "ErrorMessage": "User: arn:aws:sts::111122223333:assumed-role/ecsInstanceRole/i-0744a608689EXAMPLE is not authorized to perform: ecs:ListTagsForResource on resource: arn:aws:ecs:us-west-2:111122223333:container-instance/default/2dd1b186f39845a584488d2ef155c131",
            "StatusCode": 400,
            "RequestId": "cd597ef0-272b-4643-9bd2-1de469870fa6",
            "ResourceARN": "arn:aws:ecs:us-west-2:111122223333:container-instance/default/2dd1b186f39845a584488d2ef155c131"
        },
        {
            "ErrorField": "TaskTags",
            "ErrorCode": "AccessDeniedException",
            "ErrorMessage": "User: arn:aws:sts::111122223333:assumed-role/ecsInstanceRole/i-0744a608689EXAMPLE is not authorized to perform: ecs:ListTagsForResource on resource: arn:aws:ecs:us-west-2:111122223333:task/default/9ef30e4b7aa44d0db562749cff4983f3",
            "StatusCode": 400,
            "RequestId": "862c5986-6cd2-4aa6-87cc-70be395531e1",
            "ResourceARN": "arn:aws:ecs:us-west-2:111122223333:task/default/9ef30e4b7aa44d0db562749cff4983f3"
        }
    ],
    "LaunchType": "EC2",
    "Containers": [
        {
            "DockerId": "598cba581fe3f939459eaba1e071d5c93bb2c49b7d1ba7db6bb19deeb70d8e38",
            "Name": "~internal~ecs~pause",
            "DockerName": "ecs-curltest-26-internalecspause-e292d586b6f9dade4a00",
            "Image": "amazon/amazon-ecs-pause:0.1.0",
            "ImageID": "",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "~internal~ecs~pause",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RESOURCES_PROVISIONED",
            "KnownStatus": "RESOURCES_PROVISIONED",
            "Limits": {
                "CPU": 0,
                "Memory": 0
            },
            "CreatedAt": "2020-10-02T00:43:05.602352471Z",
            "StartedAt": "2020-10-02T00:43:06.076707576Z",
            "Type": "CNI_PAUSE",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        },
        {
            "DockerId": "ee08638adaaf009d78c248913f629e38299471d45fe7dc944d1039077e3424ca",
            "Name": "curl",
            "DockerName": "ecs-curltest-26-curl-a0e7dba5aca6d8cb2e00",
            "Image": "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest:latest",
            "ImageID": "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553",
            "Labels": {
                "com.amazonaws.ecs.cluster": "default",
                "com.amazonaws.ecs.container-name": "curl",
                "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c",
                "com.amazonaws.ecs.task-definition-family": "curltest",
                "com.amazonaws.ecs.task-definition-version": "26"
            },
            "DesiredStatus": "RUNNING",
            "KnownStatus": "RUNNING",
            "Limits": {
                "CPU": 10,
                "Memory": 128
            },
            "CreatedAt": "2020-10-02T00:43:06.326590752Z",
            "StartedAt": "2020-10-02T00:43:06.767535449Z",
            "Type": "NORMAL",
            "LogDriver": "awslogs",
            "LogOptions": {
                "awslogs-create-group": "true",
                "awslogs-group": "/ecs/metadata",
                "awslogs-region": "us-west-2",
                "awslogs-stream": "ecs/curl/158d1c8083dd49d6b527399fd6414f5c"
            },
            "ContainerARN": "arn:aws:ecs:us-west-2:111122223333:container/abb51bdd-11b4-467f-8f6c-adcfe1fe059d",
            "Networks": [
                {
                    "NetworkMode": "awsvpc",
                    "IPv4Addresses": [
                        "10.0.2.61"
                    ],
                    "AttachmentIndex": 0,
                    "MACAddress": "0e:10:e2:01:bd:91",
                    "IPv4SubnetCIDRBlock": "10.0.2.0/24",
                    "PrivateDNSName": "ip-10-0-2-61.us-west-2.compute.internal",
                    "SubnetGatewayIpv4Address": "10.0.2.1/24"
                }
            ]
        }
    ]
}
```

## 예제 컨테이너 통계 응답
<a name="task-metadata-endpoint-v4-example-stats-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/stats` 엔드포인트를 쿼리할 때 컨테이너에 대한 네트워크 지표가 반환됩니다. 컨테이너 에이전트 버전 `1.43.0` 이상을 실행하는 Amazon EC2 인스턴스에서 호스팅되고 `awsvpc` 또는 `bridge` 네트워크 모드를 사용하는 Amazon ECS 태스크의 경우, 응답에 추가적 네트워크 속도 통계가 포함됩니다. 그 외에 다른 모든 태스크는 응답에 누적 네트워크 통계만 포함됩니다.

다음은 `bridge` 네트워크 모드를 사용하는 Amazon EC2에서 Amazon ECS 태스크의 예제 출력입니다.

```
{
    "read": "2020-10-02T00:51:13.410254284Z",
    "preread": "2020-10-02T00:51:12.406202398Z",
    "pids_stats": {
        "current": 3
    },
    "blkio_stats": {
        "io_service_bytes_recursive": [
            
        ],
        "io_serviced_recursive": [
            
        ],
        "io_queue_recursive": [
            
        ],
        "io_service_time_recursive": [
            
        ],
        "io_wait_time_recursive": [
            
        ],
        "io_merged_recursive": [
            
        ],
        "io_time_recursive": [
            
        ],
        "sectors_recursive": [
            
        ]
    },
    "num_procs": 0,
    "storage_stats": {
        
    },
    "cpu_stats": {
        "cpu_usage": {
            "total_usage": 360968065,
            "percpu_usage": [
                182359190,
                178608875
            ],
            "usage_in_kernelmode": 40000000,
            "usage_in_usermode": 290000000
        },
        "system_cpu_usage": 13939680000000,
        "online_cpus": 2,
        "throttling_data": {
            "periods": 0,
            "throttled_periods": 0,
            "throttled_time": 0
        }
    },
    "precpu_stats": {
        "cpu_usage": {
            "total_usage": 360968065,
            "percpu_usage": [
                182359190,
                178608875
            ],
            "usage_in_kernelmode": 40000000,
            "usage_in_usermode": 290000000
        },
        "system_cpu_usage": 13937670000000,
        "online_cpus": 2,
        "throttling_data": {
            "periods": 0,
            "throttled_periods": 0,
            "throttled_time": 0
        }
    },
    "memory_stats": {
        "usage": 1806336,
        "max_usage": 6299648,
        "stats": {
            "active_anon": 606208,
            "active_file": 0,
            "cache": 0,
            "dirty": 0,
            "hierarchical_memory_limit": 134217728,
            "hierarchical_memsw_limit": 268435456,
            "inactive_anon": 0,
            "inactive_file": 0,
            "mapped_file": 0,
            "pgfault": 4185,
            "pgmajfault": 0,
            "pgpgin": 2926,
            "pgpgout": 2778,
            "rss": 606208,
            "rss_huge": 0,
            "total_active_anon": 606208,
            "total_active_file": 0,
            "total_cache": 0,
            "total_dirty": 0,
            "total_inactive_anon": 0,
            "total_inactive_file": 0,
            "total_mapped_file": 0,
            "total_pgfault": 4185,
            "total_pgmajfault": 0,
            "total_pgpgin": 2926,
            "total_pgpgout": 2778,
            "total_rss": 606208,
            "total_rss_huge": 0,
            "total_unevictable": 0,
            "total_writeback": 0,
            "unevictable": 0,
            "writeback": 0
        },
        "limit": 134217728
    },
    "name": "/ecs-curltest-26-curl-c2e5f6e0cf91b0bead01",
    "id": "5fc21e5b015f899d22618f8aede80b6d70d71b2a75465ea49d9462c8f3d2d3af",
    "networks": {
        "eth0": {
            "rx_bytes": 84,
            "rx_packets": 2,
            "rx_errors": 0,
            "rx_dropped": 0,
            "tx_bytes": 84,
            "tx_packets": 2,
            "tx_errors": 0,
            "tx_dropped": 0
        }
    },
    "network_rate_stats": {
        "rx_bytes_per_sec": 0,
        "tx_bytes_per_sec": 0
    }
}
```

## 태스크 통계 응답 예
<a name="task-metadata-endpoint-v4-example-task-stats-response"></a>

`${ECS_CONTAINER_METADATA_URI_V4}/task/stats` 엔드포인트를 쿼리할 때 컨테이너가 속한 태스크에 대한 네트워크 지표가 반환됩니다. 다음은 예시 출력입니다.

```
{
    "01999f2e5c6cf4df3873f28950e6278813408f281c54778efec860d0caad4854": {
        "read": "2020-10-02T00:51:32.51467703Z",
        "preread": "2020-10-02T00:51:31.50860463Z",
        "pids_stats": {
            "current": 1
        },
        "blkio_stats": {
            "io_service_bytes_recursive": [
                
            ],
            "io_serviced_recursive": [
                
            ],
            "io_queue_recursive": [
                
            ],
            "io_service_time_recursive": [
                
            ],
            "io_wait_time_recursive": [
                
            ],
            "io_merged_recursive": [
                
            ],
            "io_time_recursive": [
                
            ],
            "sectors_recursive": [
                
            ]
        },
        "num_procs": 0,
        "storage_stats": {
            
        },
        "cpu_stats": {
            "cpu_usage": {
                "total_usage": 177232665,
                "percpu_usage": [
                    13376224,
                    163856441
                ],
                "usage_in_kernelmode": 0,
                "usage_in_usermode": 160000000
            },
            "system_cpu_usage": 13977820000000,
            "online_cpus": 2,
            "throttling_data": {
                "periods": 0,
                "throttled_periods": 0,
                "throttled_time": 0
            }
        },
        "precpu_stats": {
            "cpu_usage": {
                "total_usage": 177232665,
                "percpu_usage": [
                    13376224,
                    163856441
                ],
                "usage_in_kernelmode": 0,
                "usage_in_usermode": 160000000
            },
            "system_cpu_usage": 13975800000000,
            "online_cpus": 2,
            "throttling_data": {
                "periods": 0,
                "throttled_periods": 0,
                "throttled_time": 0
            }
        },
        "memory_stats": {
            "usage": 532480,
            "max_usage": 6279168,
            "stats": {
                "active_anon": 40960,
                "active_file": 0,
                "cache": 0,
                "dirty": 0,
                "hierarchical_memory_limit": 9223372036854771712,
                "hierarchical_memsw_limit": 9223372036854771712,
                "inactive_anon": 0,
                "inactive_file": 0,
                "mapped_file": 0,
                "pgfault": 2033,
                "pgmajfault": 0,
                "pgpgin": 1734,
                "pgpgout": 1724,
                "rss": 40960,
                "rss_huge": 0,
                "total_active_anon": 40960,
                "total_active_file": 0,
                "total_cache": 0,
                "total_dirty": 0,
                "total_inactive_anon": 0,
                "total_inactive_file": 0,
                "total_mapped_file": 0,
                "total_pgfault": 2033,
                "total_pgmajfault": 0,
                "total_pgpgin": 1734,
                "total_pgpgout": 1724,
                "total_rss": 40960,
                "total_rss_huge": 0,
                "total_unevictable": 0,
                "total_writeback": 0,
                "unevictable": 0,
                "writeback": 0
            },
            "limit": 4073377792
        },
        "name": "/ecs-curltest-26-internalecspause-a6bcc3dbadfacfe85300",
        "id": "01999f2e5c6cf4df3873f28950e6278813408f281c54778efec860d0caad4854",
        "networks": {
            "eth0": {
                "rx_bytes": 84,
                "rx_packets": 2,
                "rx_errors": 0,
                "rx_dropped": 0,
                "tx_bytes": 84,
                "tx_packets": 2,
                "tx_errors": 0,
                "tx_dropped": 0
            }
        },
        "network_rate_stats": {
            "rx_bytes_per_sec": 0,
            "tx_bytes_per_sec": 0
        }
    },
    "5fc21e5b015f899d22618f8aede80b6d70d71b2a75465ea49d9462c8f3d2d3af": {
        "read": "2020-10-02T00:51:32.512771349Z",
        "preread": "2020-10-02T00:51:31.510597736Z",
        "pids_stats": {
            "current": 3
        },
        "blkio_stats": {
            "io_service_bytes_recursive": [
                
            ],
            "io_serviced_recursive": [
                
            ],
            "io_queue_recursive": [
                
            ],
            "io_service_time_recursive": [
                
            ],
            "io_wait_time_recursive": [
                
            ],
            "io_merged_recursive": [
                
            ],
            "io_time_recursive": [
                
            ],
            "sectors_recursive": [
                
            ]
        },
        "num_procs": 0,
        "storage_stats": {
            
        },
        "cpu_stats": {
            "cpu_usage": {
                "total_usage": 379075681,
                "percpu_usage": [
                    191355275,
                    187720406
                ],
                "usage_in_kernelmode": 60000000,
                "usage_in_usermode": 310000000
            },
            "system_cpu_usage": 13977800000000,
            "online_cpus": 2,
            "throttling_data": {
                "periods": 0,
                "throttled_periods": 0,
                "throttled_time": 0
            }
        },
        "precpu_stats": {
            "cpu_usage": {
                "total_usage": 378825197,
                "percpu_usage": [
                    191104791,
                    187720406
                ],
                "usage_in_kernelmode": 60000000,
                "usage_in_usermode": 310000000
            },
            "system_cpu_usage": 13975800000000,
            "online_cpus": 2,
            "throttling_data": {
                "periods": 0,
                "throttled_periods": 0,
                "throttled_time": 0
            }
        },
        "memory_stats": {
            "usage": 1814528,
            "max_usage": 6299648,
            "stats": {
                "active_anon": 606208,
                "active_file": 0,
                "cache": 0,
                "dirty": 0,
                "hierarchical_memory_limit": 134217728,
                "hierarchical_memsw_limit": 268435456,
                "inactive_anon": 0,
                "inactive_file": 0,
                "mapped_file": 0,
                "pgfault": 5377,
                "pgmajfault": 0,
                "pgpgin": 3613,
                "pgpgout": 3465,
                "rss": 606208,
                "rss_huge": 0,
                "total_active_anon": 606208,
                "total_active_file": 0,
                "total_cache": 0,
                "total_dirty": 0,
                "total_inactive_anon": 0,
                "total_inactive_file": 0,
                "total_mapped_file": 0,
                "total_pgfault": 5377,
                "total_pgmajfault": 0,
                "total_pgpgin": 3613,
                "total_pgpgout": 3465,
                "total_rss": 606208,
                "total_rss_huge": 0,
                "total_unevictable": 0,
                "total_writeback": 0,
                "unevictable": 0,
                "writeback": 0
            },
            "limit": 134217728
        },
        "name": "/ecs-curltest-26-curl-c2e5f6e0cf91b0bead01",
        "id": "5fc21e5b015f899d22618f8aede80b6d70d71b2a75465ea49d9462c8f3d2d3af",
        "networks": {
            "eth0": {
                "rx_bytes": 84,
                "rx_packets": 2,
                "rx_errors": 0,
                "rx_dropped": 0,
                "tx_bytes": 84,
                "tx_packets": 2,
                "tx_errors": 0,
                "tx_dropped": 0
            }
        },
        "network_rate_stats": {
            "rx_bytes_per_sec": 0,
            "tx_bytes_per_sec": 0
        }
    }
}
```

# Amazon ECS 작업 메타데이터 엔드포인트 버전 3
<a name="task-metadata-endpoint-v3"></a>

**중요**  
태스크 메타데이터 버전 3 엔드포인트는 더 이상 능동적으로 관리되지 않습니다. 최신 메타데이터 엔드포인트 정보를 가져오려면 태스크 메타데이터 버전 4 엔드포인트를 업데이트하는 것이 좋습니다. 자세한 내용은 [Amazon ECS 작업 메타데이터 엔드포인트 버전 4](task-metadata-endpoint-v4.md) 섹션을 참조하세요.  
AWS Fargate에 호스팅된 Amazon ECS 작업을 사용하는 경우 [Fargate의 작업에 대한 Amazon ECS 작업 메타데이터 엔드포인트 버전 3](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v3-fargate.html)을 참조하세요.

Amazon ECS 컨테이너 에이전트의 버전 1.21.0부터 에이전트는 `ECS_CONTAINER_METADATA_URI`라는 이름의 환경 변수를 작업의 각 컨테이너에 주입합니다. 태스크 메타데이터 버전 3 엔드포인트를 쿼리하면 다양한 태스크 메타데이터와 [Docker 통계](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats)를 태스크에 사용할 수 있습니다. `bridge` 네트워크 모드를 사용하는 태스크의 경우 `/stats` 엔드포인트를 쿼리할 때 네트워크 지표를 사용할 수 있습니다.

태스크 메타데이터 엔드포인트 버전 3 기능은 기본적으로 플랫폼 버전 v1.3.0 이상에서 Fargate를 사용하는 태스크 및 EC2를 사용하면서 Amazon EC2 Linux 인프라(Amazon ECS 컨테이너 에이전트의 버전 1.21.0 이상에서 실행됨) 또는 Amazon EC2 Windows 인프라(Amazon ECS 컨테이너 에이전트의 버전 `1.54.0` 이상에서 실행됨)에서 시작되고 `awsvpc` 네트워크 모드를 사용하는 태스크에서 활성화됩니다. 자세한 내용은 [Amazon ECS Linux 컨테이너 인스턴스 관리](manage-linux.md) 섹션을 참조하세요.

에이전트를 최신 버전으로 업데이트하여 이전 버전의 컨테이너 인스턴스에서 이 기능에 대한 지원을 추가할 수 있습니다. 자세한 내용은 [Amazon ECS 컨테이너 에이전트 업데이트](ecs-agent-update.md) 섹션을 참조하세요.

**중요**  
Fargate 및 v1.3.0 이전 버전의 플랫폼을 사용하는 태스크의 경우 태스크 메타데이터 버전 2 엔드포인트가 지원됩니다. 자세한 내용은 [Amazon ECS 작업 메타데이터 엔드포인트 버전 2](task-metadata-endpoint-v2.md) 섹션을 참조하세요.

## 작업 메타데이터 엔드포인트 버전 3 경로
<a name="task-metadata-endpoint-v3-paths"></a>

다음의 태스크 메타데이터 엔드포인트를 컨테이너에 사용할 수 있습니다.

`${ECS_CONTAINER_METADATA_URI}`  
이 경로는 컨테이너에 대한 메타데이터 JSON을 반환합니다.

`${ECS_CONTAINER_METADATA_URI}/task`  
이 경로는 태스크와 연결된 모든 컨테이너의 컨테이너 ID 및 이름 목록을 포함하여 태스크에 대한 메타데이터 JSON을 반환합니다. 이 엔드포인트의 응답에 대한 자세한 내용은 [Amazon ECS 작업 메타데이터 v3 JSON 응답](task-metadata-endpoint-v3-response.md) 섹션을 참조하세요.

`${ECS_CONTAINER_METADATA_URI}/taskWithTags`  
이 경로는 `ListTagsForResource` API를 사용하여 검색할 수 있는 태스크와 컨테이너 인스턴스 태그 외에도 `/task` 엔드포인트에 포함된 태스크에 대한 메타데이터를 반환합니다.

`${ECS_CONTAINER_METADATA_URI}/stats`  
이 경로는 특정 Docker 컨테이너에 대한 Docker 통계 JSON을 반환합니다. 반환된 각 통계에 대한 자세한 내용은 Docker API 설명서의 [ContainerStats](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats)를 참조하세요.

`${ECS_CONTAINER_METADATA_URI}/task/stats`  
이 경로는 태스크와 연결된 모든 컨테이너에 대한 Docker 통계 JSON을 반환합니다. 반환된 각 통계에 대한 자세한 내용은 Docker API 설명서의 [ContainerStats](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats)를 참조하세요.

# Amazon ECS 작업 메타데이터 v3 JSON 응답
<a name="task-metadata-endpoint-v3-response"></a>

다음 정보가 태스크 메타데이터 엔드포인트(`${ECS_CONTAINER_METADATA_URI}/task`) JSON 응답에서 반환됩니다.

`Cluster`  
태스크가 속한 Amazon ECS 클러스터의 Amazon 리소스 이름(ARN) 또는 약어입니다.

`TaskARN`  
컨테이너가 속한 태스크의 Amazon 리소스 이름(ARN)입니다.

`Family`  
태스크에 대한 Amazon ECS 태스크 정의의 패밀리입니다.

`Revision`  
작업에 대한 Amazon ECS 태스크 정의의 개정입니다.

`DesiredStatus`  
Amazon ECS의 태스크에 대해 원하는 상태입니다.

`KnownStatus`  
Amazon ECS의 태스크에 대해 알려진 상태입니다.

`Limits`  
작업 수준에서 지정된 리소스 제한입니다(예: CPU(vCPU로 표시) 및 메모리). 리소스 제한이 정의되지 않은 경우 이 파라미터가 생략됩니다.

`PullStartedAt`  
첫 번째 컨테이너 이미지 풀이 시작된 시간에 대한 타임스탬프입니다.

`PullStoppedAt`  
마지막 컨테이너 이미지 풀이 완료된 시간에 대한 타임스탬프입니다.

`AvailabilityZone`  
태스크가 위치한 가용 영역입니다.  
가용 영역 메타데이터는 플랫폼 버전 1.4 이상(Linux) 또는 1.0.0 이상(Windows)을 사용하는 Fargate 태스크에만 사용할 수 있습니다.

`Containers`  
태스크와 연결된 각 컨테이너에 대한 컨테이너 메타데이터의 목록입니다.    
`DockerId`  
컨테이너의 Docker ID입니다.  
`Name`  
태스크 정의에 지정된 컨테이너의 이름입니다.  
`DockerName`  
Docker에 제공된 컨테이너의 이름입니다. 동일한 태스크 정의의 여러 복사본이 단일 인스턴스에서 실행될 때 이름 충돌을 방지하기 위해 Amazon ECS 컨테이너 에이전트는 컨테이너에 고유의 이름을 생성합니다.  
`Image`  
컨테이너에 대한 이미지입니다.  
`ImageID`  
이미지 매니페스트의 SHA-256 다이제스트입니다. `repository-url/image@sha256:digest` 형식을 통해 이미지를 가져오는 데 사용할 수 있는 다이제스트입니다.  
`Ports`  
컨테이너에 대해 노출된 포트입니다. 노출된 포트가 없는 경우 이 파라미터가 생략됩니다.  
`Labels`  
컨테이너에 적용된 레이블입니다. 적용된 레이블이 없는 경우 이 파라미터가 생략됩니다.  
`DesiredStatus`  
Amazon ECS의 컨테이너에 대해 원하는 상태입니다.  
`KnownStatus`  
Amazon ECS의 컨테이너에 대해 알려진 상태입니다.  
`ExitCode`  
컨테이너에 대한 종료 코드입니다. 컨테이너가 종료되지 않은 경우 이 파라미터가 생략됩니다.  
`Limits`  
컨테이너 수준에서 지정된 리소스 제한입니다(예: CPU(CPU 단위로 표시) 및 메모리). 리소스 제한이 정의되지 않은 경우 이 파라미터가 생략됩니다.  
`CreatedAt`  
컨테이너가 생성된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 생성되지 않은 경우 이 파라미터가 생략됩니다.  
`StartedAt`  
컨테이너가 시작된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 시작되지 않은 경우 이 파라미터가 생략됩니다.  
`FinishedAt`  
컨테이너가 중지된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 중지되지 않은 경우 이 파라미터가 생략됩니다.  
`Type`  
컨테이너의 유형입니다. 태스크 정의에서 지정된 컨테이너는 `NORMAL` 유형입니다. Amazon ECS 컨테이너 에이전트가 내부 작업 리소스 프로비저닝에 사용하는 기타 컨테이너 유형은 무시할 수 있습니다.  
`Networks`  
컨테이너에 대한 네트워크 정보(예: 네트워크 모드 및 IP 주소)입니다. 네트워크 정보가 정의되지 않은 경우 이 파라미터가 생략됩니다.

`ClockDrift`  
기준 시간과 시스템 시간의 차이에 대한 정보입니다. 이는 Linux 운영 체제에 적용됩니다. 이 기능은 Amazon Time Sync Service를 사용하여 클럭 정확도를 측정하고 컨테이너에 대한 클록 오류 범위를 제공합니다. 자세한 내용은 *Amazon EC2 Linux용 사용 설명서*의 [Linux 인스턴스에 대한 시간 설정](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html)을 참조하세요.    
`ReferenceTime`  
클록 정확도의 기초입니다. Amazon ECS는 NTP를 통해 협정 세계시(UTC) 글로벌 표준을 사용합니다(예: `2021-09-07T16:57:44Z`).  
`ClockErrorBound`  
UTC에 대한 오프셋으로 정의되는 클록 오류 측정값입니다. 이 오류는 기준 시간과 시스템 시간의 차이(밀리초)입니다.  
`ClockSynchronizationStatus`  
시스템 시간과 기준 시간 간의 가장 최근 동기화 시도가 성공했는지를 나타냅니다.  
유효 값은 `SYNCHRONIZED` 및 ` NOT_SYNCHRONIZED`입니다.

`ExecutionStoppedAt`  
태스크의 `DesiredStatus`가 `STOPPED`로 이동한 시간에 대한 타임스탬프입니다. 이 동작은 필수 컨테이너가 `STOPPED`로 이동할 때 발생합니다.

# Amazon ECS 작업 메타데이터 v3 예제
<a name="task-metadata-endpoint-v3-examples"></a>

다음 예제에서는 태스크 메타데이터 엔드포인트의 샘플 출력을 보여줍니다.

## 예제 컨테이너 메타데이터 응답
<a name="task-metadata-endpoint-v3-example-container-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI}` 엔드포인트를 쿼리할 때 컨테이너 자체에 대한 메타데이터만 반환됩니다. 다음은 예시 출력입니다.

```
{
    "DockerId": "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946",
    "Name": "nginx-curl",
    "DockerName": "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901",
    "Image": "nrdlngr/nginx-curl",
    "ImageID": "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165",
    "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "nginx-curl",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
        "com.amazonaws.ecs.task-definition-family": "nginx",
        "com.amazonaws.ecs.task-definition-version": "5"
    },
    "DesiredStatus": "RUNNING",
    "KnownStatus": "RUNNING",
    "Limits": {
        "CPU": 512,
        "Memory": 512
    },
    "CreatedAt": "2018-02-01T20:55:10.554941919Z",
    "StartedAt": "2018-02-01T20:55:11.064236631Z",
    "Type": "NORMAL",
    "Networks": [
        {
            "NetworkMode": "awsvpc",
            "IPv4Addresses": [
                "10.0.2.106"
            ]
        }
    ]
}
```

## 예제 작업 메타데이터 응답
<a name="task-metadata-endpoint-v3-example-task-metadata-response"></a>

`${ECS_CONTAINER_METADATA_URI}/task` 엔드포인트를 쿼리할 때 컨테이너가 속한 태스크에 대한 메타데이터가 반환됩니다. 다음은 예시 출력입니다.

다음은 단일 컨테이너 태스크에 대한 JSON 응답입니다.

```
{
  "Cluster": "default",
  "TaskARN": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
  "Family": "nginx",
  "Revision": "5",
  "DesiredStatus": "RUNNING",
  "KnownStatus": "RUNNING",
  "Containers": [
    {
      "DockerId": "731a0d6a3b4210e2448339bc7015aaa79bfe4fa256384f4102db86ef94cbbc4c",
      "Name": "~internal~ecs~pause",
      "DockerName": "ecs-nginx-5-internalecspause-acc699c0cbf2d6d11700",
      "Image": "amazon/amazon-ecs-pause:0.1.0",
      "ImageID": "",
      "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "~internal~ecs~pause",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
        "com.amazonaws.ecs.task-definition-family": "nginx",
        "com.amazonaws.ecs.task-definition-version": "5"
      },
      "DesiredStatus": "RESOURCES_PROVISIONED",
      "KnownStatus": "RESOURCES_PROVISIONED",
      "Limits": {
        "CPU": 0,
        "Memory": 0
      },
      "CreatedAt": "2018-02-01T20:55:08.366329616Z",
      "StartedAt": "2018-02-01T20:55:09.058354915Z",
      "Type": "CNI_PAUSE",
      "Networks": [
        {
          "NetworkMode": "awsvpc",
          "IPv4Addresses": [
            "10.0.2.106"
          ]
        }
      ]
    },
    {
      "DockerId": "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946",
      "Name": "nginx-curl",
      "DockerName": "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901",
      "Image": "nrdlngr/nginx-curl",
      "ImageID": "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165",
      "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "nginx-curl",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
        "com.amazonaws.ecs.task-definition-family": "nginx",
        "com.amazonaws.ecs.task-definition-version": "5"
      },
      "DesiredStatus": "RUNNING",
      "KnownStatus": "RUNNING",
      "Limits": {
        "CPU": 512,
        "Memory": 512
      },
      "CreatedAt": "2018-02-01T20:55:10.554941919Z",
      "StartedAt": "2018-02-01T20:55:11.064236631Z",
      "Type": "NORMAL",
      "Networks": [
        {
          "NetworkMode": "awsvpc",
          "IPv4Addresses": [
            "10.0.2.106"
          ]
        }
      ]
    }
  ],
  "PullStartedAt": "2018-02-01T20:55:09.372495529Z",
  "PullStoppedAt": "2018-02-01T20:55:10.552018345Z",
  "AvailabilityZone": "us-east-2b"
}
```

# Amazon ECS 작업 메타데이터 엔드포인트 버전 2
<a name="task-metadata-endpoint-v2"></a>

**중요**  
태스크 메타데이터 버전 2 엔드포인트는 더 이상 능동적으로 관리되지 않습니다. 최신 메타데이터 엔드포인트 정보를 가져오려면 태스크 메타데이터 버전 4 엔드포인트를 업데이트하는 것이 좋습니다. 자세한 정보는 [Amazon ECS 작업 메타데이터 엔드포인트 버전 4](task-metadata-endpoint-v4.md)을 참조하세요.

Amazon ECS 컨테이너 에이전트 버전 1.17.0부터 다양한 태스크 메타데이터와 [Docker 통계](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats)가 Amazon ECS 컨테이너 에이전트에서 제공하는 HTTP 엔드포인트에서 `awsvpc` 네트워크 모드를 사용하는 태스크에 제공됩니다.

`awsvpc` 네트워크 모드를 사용하여 시작되는 태스크에 속한 모든 컨테이너는 미리 정의된 링크-로컬 주소 범위 내의 로컬 IPv4 주소를 받습니다. 컨테이너가 메타데이터 엔드포인트를 쿼리할 때 Amazon ECS 컨테이너 에이전트는 고유의 IP 주소를 기반으로 컨테이너가 어떤 태스크에 속하는지를 확인할 수 있으며 해당 태스크에 대한 메타데이터와 통계가 반환됩니다.

## 태스크 메타데이터 활성화
<a name="task-metadata-endpoint-v2-enable"></a>

**중요**  
태스크 메타데이터 버전 2 엔드포인트는 더 이상 능동적으로 관리되지 않습니다. 최신 메타데이터 엔드포인트 정보를 가져오려면 태스크 메타데이터 버전 4 엔드포인트를 업데이트하는 것이 좋습니다. 자세한 정보는 [Amazon ECS 작업 메타데이터 엔드포인트 버전 4](task-metadata-endpoint-v4.md)을 참조하세요.

Amazon ECS 컨테이너 에이전트 버전 1.17.0부터 다양한 태스크 메타데이터와 [Docker 통계](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats)가 Amazon ECS 컨테이너 에이전트에서 제공하는 HTTP 엔드포인트에서 `awsvpc` 네트워크 모드를 사용하는 태스크에 제공됩니다.

`awsvpc` 네트워크 모드를 사용하여 시작되는 태스크에 속한 모든 컨테이너는 미리 정의된 링크-로컬 주소 범위 내의 로컬 IPv4 주소를 받습니다. 컨테이너가 메타데이터 엔드포인트를 쿼리할 때 Amazon ECS 컨테이너 에이전트는 고유의 IP 주소를 기반으로 컨테이너가 어떤 태스크에 속하는지를 확인할 수 있으며 해당 태스크에 대한 메타데이터와 통계가 반환됩니다.

### 태스크 메타데이터 활성화
<a name="task-metadata-endpoint-v2-enable"></a>

태스크 메타데이터 버전 2 기능은 기본적으로 다음 작업에 대해 사용하도록 설정됩니다.
+ 플랫폼 버전 v1.1.0 이상을 사용하는 Fargate를 사용하는 태스크. 자세한 내용은 [Amazon ECS에 대한 Fargate 플랫폼 버전](platform-fargate.md) 섹션을 참조하세요.
+ 똑같이 `awsvpc` 네트워크 모드를 사용하는 EC2를 사용하고, Amazon EC2 Linux 인프라(Amazon ECS 컨테이너 에이전트 버전 1.17.0 이상에서 실행됨) 또는 Amazon EC2 Windows 인프라(Amazon ECS 컨테이너 에이전트 버전 `1.54.0` 이상에서 실행됨)에서 시작된 태스크. 자세한 내용은 [Amazon ECS Linux 컨테이너 인스턴스 관리](manage-linux.md) 섹션을 참조하세요.

에이전트를 최신 버전으로 업데이트하여 이전 버전의 컨테이너 인스턴스에서 이 기능에 대한 지원을 추가할 수 있습니다. 자세한 정보는 [Amazon ECS 컨테이너 에이전트 업데이트](ecs-agent-update.md)을 참조하세요.

### 태스크 메타데이터 엔드포인트 경로
<a name="task-metadata-endpoint-v2-paths"></a>

다음 API 엔드포인트를 컨테이너에 사용할 수 있습니다.

`169.254.170.2/v2/metadata`  
이 엔드포인트는 태스크와 연결된 모든 컨테이너의 컨테이너 ID 및 이름 목록을 포함하여 태스크에 대한 메타데이터 JSON을 반환합니다. 이 엔드포인트의 응답에 대한 자세한 내용은 [태스크 메타데이터 JSON 응답](#task-metadata-endpoint-v2-response) 섹션을 참조하세요.

`169.254.170.2/v2/metadata/<container-id>`  
이 엔드포인트는 지정된 Docker 컨테이너 ID에 대한 메타데이터 JSON을 반환합니다.

`169.254.170.2/v2/metadata/taskWithTags`  
이 경로는 `ListTagsForResource` API를 사용하여 검색할 수 있는 태스크와 컨테이너 인스턴스 태그 외에도 `/task` 엔드포인트에 포함된 태스크에 대한 메타데이터를 반환합니다.

`169.254.170.2/v2/stats`  
이 엔드포인트는 태스크와 연결된 모든 컨테이너에 대한 Docker 통계 JSON을 반환합니다. 반환된 각 통계에 대한 자세한 내용은 Docker API 설명서의 [ContainerStats](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats)를 참조하세요.

`169.254.170.2/v2/stats/<container-id>`  
이 엔드포인트는 지정된 Docker 컨테이너 ID에 대한 Docker 통계 JSON을 반환합니다. 반환된 각 통계에 대한 자세한 내용은 Docker API 설명서의 [ContainerStats](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats)를 참조하세요.

### 태스크 메타데이터 JSON 응답
<a name="task-metadata-endpoint-v2-response"></a>

다음 정보가 태스크 메타데이터 엔드포인트(`169.254.170.2/v2/metadata`) JSON 응답에서 반환됩니다.

`Cluster`  
태스크가 속한 Amazon ECS 클러스터의 Amazon 리소스 이름(ARN) 또는 약어입니다.

`TaskARN`  
컨테이너가 속한 태스크의 Amazon 리소스 이름(ARN)입니다.

`Family`  
태스크에 대한 Amazon ECS 태스크 정의의 패밀리입니다.

`Revision`  
작업에 대한 Amazon ECS 태스크 정의의 개정입니다.

`DesiredStatus`  
Amazon ECS의 태스크에 대해 원하는 상태입니다.

`KnownStatus`  
Amazon ECS의 태스크에 대해 알려진 상태입니다.

`Limits`  
작업 수준에서 지정된 리소스 제한입니다(예: CPU(vCPU로 표시) 및 메모리). 리소스 제한이 정의되지 않은 경우 이 파라미터가 생략됩니다.

`PullStartedAt`  
첫 번째 컨테이너 이미지 풀이 시작된 시간에 대한 타임스탬프입니다.

`PullStoppedAt`  
마지막 컨테이너 이미지 풀이 완료된 시간에 대한 타임스탬프입니다.

`AvailabilityZone`  
태스크가 위치한 가용 영역입니다.  
가용 영역 메타데이터는 플랫폼 버전 1.4 이상(Linux) 또는 1.0.0 이상(Windows)을 사용하는 Fargate 태스크에만 사용할 수 있습니다.

`Containers`  
태스크와 연결된 각 컨테이너에 대한 컨테이너 메타데이터의 목록입니다.    
`DockerId`  
컨테이너의 Docker ID입니다.  
`Name`  
태스크 정의에 지정된 컨테이너의 이름입니다.  
`DockerName`  
Docker에 제공된 컨테이너의 이름입니다. 동일한 태스크 정의의 여러 복사본이 단일 인스턴스에서 실행될 때 이름 충돌을 방지하기 위해 Amazon ECS 컨테이너 에이전트는 컨테이너에 고유의 이름을 생성합니다.  
`Image`  
컨테이너에 대한 이미지입니다.  
`ImageID`  
이미지 매니페스트의 SHA-256 다이제스트입니다. `repository-url/image@sha256:digest` 형식을 통해 이미지를 가져오는 데 사용할 수 있는 다이제스트입니다.  
`Ports`  
컨테이너에 대해 노출된 포트입니다. 노출된 포트가 없는 경우 이 파라미터가 생략됩니다.  
`Labels`  
컨테이너에 적용된 레이블입니다. 적용된 레이블이 없는 경우 이 파라미터가 생략됩니다.  
`DesiredStatus`  
Amazon ECS의 컨테이너에 대해 원하는 상태입니다.  
`KnownStatus`  
Amazon ECS의 컨테이너에 대해 알려진 상태입니다.  
`ExitCode`  
컨테이너에 대한 종료 코드입니다. 컨테이너가 종료되지 않은 경우 이 파라미터가 생략됩니다.  
`Limits`  
컨테이너 수준에서 지정된 리소스 제한입니다(예: CPU(CPU 단위로 표시) 및 메모리). 리소스 제한이 정의되지 않은 경우 이 파라미터가 생략됩니다.  
`CreatedAt`  
컨테이너가 생성된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 생성되지 않은 경우 이 파라미터가 생략됩니다.  
`StartedAt`  
컨테이너가 시작된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 시작되지 않은 경우 이 파라미터가 생략됩니다.  
`FinishedAt`  
컨테이너가 중지된 시간에 대한 타임스탬프입니다. 컨테이너가 아직 중지되지 않은 경우 이 파라미터가 생략됩니다.  
`Type`  
컨테이너의 유형입니다. 태스크 정의에서 지정된 컨테이너는 `NORMAL` 유형입니다. Amazon ECS 컨테이너 에이전트가 내부 작업 리소스 프로비저닝에 사용하는 기타 컨테이너 유형은 무시할 수 있습니다.  
`Networks`  
컨테이너에 대한 네트워크 정보(예: 네트워크 모드 및 IP 주소)입니다. 네트워크 정보가 정의되지 않은 경우 이 파라미터가 생략됩니다.

`ClockDrift`  
기준 시간과 시스템 시간의 차이에 대한 정보입니다. 이는 Linux 운영 체제에 적용됩니다. 이 기능은 Amazon Time Sync Service를 사용하여 클럭 정확도를 측정하고 컨테이너에 대한 클록 오류 범위를 제공합니다. 자세한 내용은 *Amazon EC2 Linux용 사용 설명서*의 [Linux 인스턴스에 대한 시간 설정](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html)을 참조하세요.    
`ReferenceTime`  
클록 정확도의 기초입니다. Amazon ECS는 NTP를 통해 협정 세계시(UTC) 글로벌 표준을 사용합니다(예: `2021-09-07T16:57:44Z`).  
`ClockErrorBound`  
UTC에 대한 오프셋으로 정의되는 클록 오류 측정값입니다. 이 오류는 기준 시간과 시스템 시간의 차이(밀리초)입니다.  
`ClockSynchronizationStatus`  
시스템 시간과 기준 시간 간의 가장 최근 동기화 시도가 성공했는지를 나타냅니다.  
유효 값은 `SYNCHRONIZED` 및 ` NOT_SYNCHRONIZED`입니다.

`ExecutionStoppedAt`  
태스크의 `DesiredStatus`가 `STOPPED`로 이동한 시간에 대한 타임스탬프입니다. 이 동작은 필수 컨테이너가 `STOPPED`로 이동할 때 발생합니다.

### 예제 태스크 메타데이터 응답
<a name="task-metadata-endpoint-v2-example-task-metadata-response"></a>

다음은 단일 컨테이너 태스크에 대한 JSON 응답입니다.

```
{
  "Cluster": "default",
  "TaskARN": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
  "Family": "nginx",
  "Revision": "5",
  "DesiredStatus": "RUNNING",
  "KnownStatus": "RUNNING",
  "Containers": [
    {
      "DockerId": "731a0d6a3b4210e2448339bc7015aaa79bfe4fa256384f4102db86ef94cbbc4c",
      "Name": "~internal~ecs~pause",
      "DockerName": "ecs-nginx-5-internalecspause-acc699c0cbf2d6d11700",
      "Image": "amazon/amazon-ecs-pause:0.1.0",
      "ImageID": "",
      "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "~internal~ecs~pause",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
        "com.amazonaws.ecs.task-definition-family": "nginx",
        "com.amazonaws.ecs.task-definition-version": "5"
      },
      "DesiredStatus": "RESOURCES_PROVISIONED",
      "KnownStatus": "RESOURCES_PROVISIONED",
      "Limits": {
        "CPU": 0,
        "Memory": 0
      },
      "CreatedAt": "2018-02-01T20:55:08.366329616Z",
      "StartedAt": "2018-02-01T20:55:09.058354915Z",
      "Type": "CNI_PAUSE",
      "Networks": [
        {
          "NetworkMode": "awsvpc",
          "IPv4Addresses": [
            "10.0.2.106"
          ]
        }
      ]
    },
    {
      "DockerId": "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946",
      "Name": "nginx-curl",
      "DockerName": "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901",
      "Image": "nrdlngr/nginx-curl",
      "ImageID": "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165",
      "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "nginx-curl",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
        "com.amazonaws.ecs.task-definition-family": "nginx",
        "com.amazonaws.ecs.task-definition-version": "5"
      },
      "DesiredStatus": "RUNNING",
      "KnownStatus": "RUNNING",
      "Limits": {
        "CPU": 512,
        "Memory": 512
      },
      "CreatedAt": "2018-02-01T20:55:10.554941919Z",
      "StartedAt": "2018-02-01T20:55:11.064236631Z",
      "Type": "NORMAL",
      "Networks": [
        {
          "NetworkMode": "awsvpc",
          "IPv4Addresses": [
            "10.0.2.106"
          ]
        }
      ]
    }
  ],
  "PullStartedAt": "2018-02-01T20:55:09.372495529Z",
  "PullStoppedAt": "2018-02-01T20:55:10.552018345Z",
  "AvailabilityZone": "us-east-2b"
}
```