Amazon ECS 컨테이너 메타데이터 파일 형식
다음 정보는 컨테이너 메타데이터 JSON 파일에 저장됩니다.
Cluster
-
컨테이너의 태스크가 실행되는 클러스터의 이름입니다.
ContainerInstanceARN
-
호스트 컨테이너 인스턴스의 전체 Amazon 리소스 이름(ARN)
TaskARN
-
컨테이너가 속한 태스크의 전체 Amazon 리소스 이름(ARN)
TaskDefinitionFamily
-
컨테이너가 사용 중인 태스크 정의 패밀리의 이름입니다.
TaskDefinitionRevision
-
컨테이너가 사용 중인 태스크 정의 수정 버전입니다.
ContainerID
-
컨테이너에 대한 Docker 컨테이너 ID(Amazon ECS 컨테이너 ID는 아님)
ContainerName
-
컨테이너에 대한 Amazon ECS 태스크 정의의 컨테이너 이름
DockerContainerName
-
Docker 대몬이 컨테이너에 대해 사용하는 컨테이너 이름(예: docker ps 명령 출력에 표시되는 이름)
ImageID
-
컨테이너를 시작하는 데 사용되는 Docker 이미지에 대한 SHA 다이제스트
ImageName
-
컨테이너를 시작하는 데 사용되는 Docker 이미지에 대한 이미지 이름 및 태그
PortMappings
-
컨테이너에 연결된 모든 포트 매핑
ContainerPort
-
노출된 컨테이너 상의 포트
HostPort
-
노출된 호스트 컨테이너 인스턴스 상의 포트
BindIp
-
Docker가 컨테이너에 할당하는 바인드 IP 주소 이 IP 주소는
bridge
네트워크 모드에만 적용되고 컨테이너 인스턴스에서만 접근할 수 있습니다. Protocol
-
포트 매핑에 사용되는 네트워크 프로토콜
Networks
-
컨테이너에 대한 네트워크 모드 및 IP 주소
NetworkMode
-
컨테이너가 속하는 태스크에 대한 네트워크 모드
IPv4Addresses
-
컨테이너에 연결된 IP 주소입니다.
중요
태스크에서
awsvpc
네트워크 모드를 사용 중인 경우 컨테이너의 IP 주소가 반환되지 않습니다. 이 경우 다음 명령으로 /etc/hosts 파일을 읽어 IP 주소를 검색할 수 있습니다.tail -1 /etc/hosts | awk '{print $1}'
MetadataFileStatus
-
메타데이터 파일의 상태. 상태가
READY
이면 메타데이터 파일이 완전한 최신 파일이라는 것입니다. 파일이 아직 준비되지 않은 경우(예: 작업이 시작되는 순간) 축약형 버전의 파일 형식을 사용할 수 있습니다. 컨테이너가 시작되었지만 메타데이터가 아직 작성되지 않은 경우 있을 수 있는 교착 상태를 방지하기 위해 메타데이터 파일을 구문 분석하고 메타데이터에 의존하기 전에 이 파라미터가READY
로 설정될 때까지 기다릴 수 있습니다. 이는 대개 컨테이너가 시작되는 시점으로부터 1초 내에 가능합니다. AvailabilityZone
-
호스트 컨테이너 인스턴스가 상주하는 가용 영역입니다.
HostPrivateIPv4Address
-
컨테이너가 속한 태스크의 프라이빗 IP 주소입니다.
HostPublicIPv4Address
-
컨테이너가 속한 태스크의 퍼블릭 IP 주소입니다.
예 Amazon ECS 컨테이너 메타데이터 파일(READY
)
다음 예에서는 READY
상태의 컨테이너 메타데이터 파일을 보여줍니다.
{ "Cluster":"arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "TaskARN":"arn:aws:ecs:us-east-1:123456789012:task/MyCluster/b593651c4d6b44a6b2b583f45c957e15", "Family":"curltest-container", "Revision":"2", "DesiredStatus":"RUNNING", "KnownStatus":"RUNNING", "Limits": { "CPU":0.25, "Memory":512 }, "PullStartedAt":"2025-01-17T20:56:17.394610044Z", "PullStoppedAt":"2025-01-17T20:56:25.282708213Z", "AvailabilityZone":"us-east-1b", "LaunchType":"FARGATE", "Containers":[ { "DockerId":"b593651c4d6b44a6b2b583f45c957e15-3356213583", "Name":"curltest","DockerName":"curltest", "Image":"public.ecr.aws/amazonlinux/amazonlinux:latest", "ImageID":"sha256:7f371357694782356b65c7fd60dd1ca124c47bd5ed1b1ffe7c0e17f562898367", "Labels": { "com.amazonaws.ecs.cluster":"arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "com.amazonaws.ecs.container-name":"curltest", "com.amazonaws.ecs.task-arn":"arn:aws:ecs:us-east-1:123456789012:task/MyCluster/b593651c4d6b44a6b2b583f45c957e15", "com.amazonaws.ecs.task-definition-family":"curltest-container","com.amazonaws.ecs.task-definition-version":"2" }, "DesiredStatus":"RUNNING", "KnownStatus":"RUNNING", "Limits": { "CPU":2 }, "CreatedAt":"2025-01-17T20:56:26.180347056Z", "StartedAt":"2025-01-17T20:56:26.180347056Z", "Type":"NORMAL", "LogDriver":"awslogs", "LogOptions": { "awslogs-create-group":"true", "awslogs-group":"/ecs/curltest-container", "awslogs-region":"us-east-1", "awslogs-stream":"ecs/curltest/b593651c4d6b44a6b2b583f45c957e15" }, "ContainerARN":"arn:aws:ecs:us-east-1:123456789012:container/MyCluster/b593651c4d6b44a6b2b583f45c957e15/934575e8-5bdb-478f-b763-2341a85b690e", "Networks":[ { "NetworkMode":"awsvpc", "IPv4Addresses":["10.0.1.58"] } ], "Snapshotter":"overlayfs" } ], "ClockDrift": { "ClockErrorBound":0.487801,"ReferenceTimestamp":"2025-01-17T20:56:02Z", "ClockSynchronizationStatus":"SYNCHRONIZED" }, "FaultInjectionEnabled":false }
예 완료되지 않은 Amazon ECS 컨테이너 메타데이터 파일(아직 READY
상태가 아님)
다음 예에서는 READY
상태에 아직 이르지 못한 컨테이너 메타데이터 파일을 보여줍니다. 파일에 있는 정보는 태스크 정의에서 알 수 있는 파라미터 몇 개로 제한됩니다. 컨테이너 메타데이터 파일은 컨테이너가 시작된 후 1초 내에 준비되어야 합니다.
{ "Cluster": "default", "ContainerInstanceARN": "arn:aws:ecs:us-west-2:012345678910:container-instance/default/1f73d099-b914-411c-a9ff-81633b7741dd", "TaskARN": "arn:aws:ecs:us-west-2:012345678910:task/default/d90675f8-1a98-444b-805b-3d9cabb6fcd4", "ContainerName": "metadata" }