Amazon ECS 컨테이너 메타데이터 파일 형식 - Amazon Elastic Container Service

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": "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/2b88376d-aba3-4950-9ddf-bcb0f388a40c", "TaskDefinitionFamily": "console-sample-app-static", "TaskDefinitionRevision": "1", "ContainerID": "aec2557997f4eed9b280c2efd7afccdcedfda4ac399f7480cae870cfc7e163fd", "ContainerName": "simple-app", "CreatedAt": "2023-10-08T20:09:11.44527186Z", "StartedAt": "2023-10-08T20:09:11.44527186Z", "DockerContainerName": "/ecs-console-sample-app-static-1-simple-app-e4e8e495e8baa5de1a00", "ImageID": "sha256:2ae34abc2ed0a22e280d17e13f9c01aaf725688b09b7a1525d1a2750e2c0d1de", "ImageName": "httpd:2.4", "PortMappings": [ { "ContainerPort": 80, "HostPort": 80, "BindIp": "0.0.0.0", "Protocol": "tcp" } ], "Networks": [ { "NetworkMode": "bridge", "IPv4Addresses": ["192.0.2.0"] } ], "MetadataFileStatus": "READY", "AvailabilityZone": "us-east-1b", "HostPrivateIPv4Address": "192.0.2.0", "HostPublicIPv4Address": "203.0.113.0" }
예 완료되지 않은 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" }