Amazon ECS 컨테이너 메타데이터 파일

Amazon ECS 컨테이너 메타데이터 파일

Amazon ECS container agent 버전 1.15.0부터 컨테이너 내부나 호스트 컨테이너 인스턴스에서 사용할 수 있는 다양한 컨테이너 메타데이터를 알아봐요.

출처: 문서

본문

Amazon ECS container agent 버전 1.15.0부터 다양한 컨테이너 메타데이터를 컨테이너 내부나 호스트 컨테이너 인스턴스에서 사용할 수 있어요. 이 기능을 활성화하면 컨테이너 또는 호스트 컨테이너 인스턴스 내부에서 태스크, 컨테이너, 컨테이너 인스턴스에 대한 정보를 쿼리할 수 있어요. 메타데이터 파일은 호스트 인스턴스에서 생성되고 Docker 볼륨으로 컨테이너에 마운트되므로, 태스크가 AWS Fargate에서 호스팅될 때는 사용할 수 없어요.

컨테이너 메타데이터 파일은 컨테이너가 정리될 때 호스트 인스턴스에서 정리돼요. 이 시점은 ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION container agent 변수로 조정할 수 있어요. 자세한 내용은 Automatic Amazon ECS task and image cleanup 참고.

  • 컨테이너 메타데이터 파일 위치
  • Amazon ECS 컨테이너 메타데이터 켜기
  • Amazon ECS 컨테이너 메타데이터 파일 형식

컨테이너 메타데이터 파일 위치

기본적으로 컨테이너 메타데이터 파일은 다음 호스트 및 컨테이너 경로에 작성돼요.

Linux 인스턴스의 경우:

  • 호스트 경로: /var/lib/ecs/data/metadata/<cluster_name>/<task_id>/<container_name>/ecs-container-metadata.json

참고 — Linux 호스트 경로는 에이전트가 시작될 때 기본 데이터 디렉터리 마운트 경로(/var/lib/ecs/data)가 사용된다고 가정해요. Amazon ECS-optimized AMI(또는 container agent를 시작·유지하는 ecs-init 패키지)를 사용하지 않는다면, ECS_HOST_DATA_DIR agent 구성 변수를 container agent의 상태 파일이 있는 호스트 경로로 설정해야 해요. 자세한 내용은 Amazon ECS container agent configuration 참고.

  • 컨테이너 경로: /opt/ecs/metadata/<random_ID>/ecs-container-metadata.json

Windows 인스턴스의 경우:

  • 호스트 경로: C:\ProgramData\Amazon\ECS\data\metadata\<task_id>\<container_name>\ecs-container-metadata.json
  • 컨테이너 경로: C:\ProgramData\Amazon\ECS\metadata\<random_ID>\ecs-container-metadata.json

그러나 쉽게 접근할 수 있도록 컨테이너 메타데이터 파일 위치는 컨테이너 내부의 ECS_CONTAINER_METADATA_FILE 환경 변수로 설정돼요. 컨테이너 내부에서 다음 명령으로 파일 내용을 읽을 수 있어요.

Linux 인스턴스의 경우:

cat $ECS_CONTAINER_METADATA_FILE

Windows 인스턴스의 경우 (PowerShell):

Get-Content -path $env:ECS_CONTAINER_METADATA_FILE

더 알아보기 (Learn more)