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_DIRagent 구성 변수를 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