Amazon ECS EC2 컨테이너 인스턴스
Amazon ECS EC2 컨테이너 인스턴스
Amazon ECS 에이전트는 클러스터에 등록된 모든 컨테이너 인스턴스에서 실행되는 프로세스입니다. 이 글에서는 에이전트의 역활, 컨테이너 인스턴스 수명 주기, Docker 지원에 대해 알아봅니다.
출처: 문서
본문
Amazon ECS 에이전트는 클러스터에 등록된 모든 컨테이너 인스턴스에서 실행되는 프로세스입니다. 이 에이전트는 컨테이너 인스턴스와 Amazon ECS 사이의 통신을 촉진합니다.
참고: Linux 컨테이너 인스턴스에서 에이전트 컨테이너는
/lib,/lib64,/proc같은 최상위 디렉터리를 마운트합니다. 이는 Amazon EBS 볼륨,awsvpc네트워크 모드, Amazon ECS Service Connect, Amazon ECS용 FireLens 같은 ECS 기능과 기능성에 필요합니다.
각 Amazon ECS 컨테이너 에이전트 버전은 다른 기능 세트를 지원하고 이전 버전의 버그 수정을 제공합니다. 가능하면 항상 최신 버전의 Amazon ECS 컨테이너 에이전트를 사용할 것을 권장합니다. 컨테이너 에이전트를 최신 버전으로 업데이트하려면 Amazon ECS 컨테이너 에이전트 업데이트 문서를 참고하세요.
Amazon ECS 컨테이너 에이전트는 amazon-ecs-pause 이미지를 포함합니다. Amazon ECS는 awsvpc 네트워크 모드를 사용하는 태스크에 이 이미지를 사용합니다. 각 에이전트 릴리스에 포함된 기능과 개선 사항을 보려면 https://github.com/aws/amazon-ecs-agent/releases 를 참고하세요.
중요: 신뢰할 수 있는 지표를 위한 최소 Docker 버전은 Docker 버전 v20.10.13 이상이며, 이는 Amazon ECS 최적화 AMI 20220607 이상에 포함되어 있습니다. Amazon ECS 에이전트 버전 1.20.0 이상은 18.01.0보다 오래된 Docker 버전에 대한 지원을 중단했습니다.
수명 주기 (Lifecycle)
Amazon ECS 컨테이너 에이전트가 Amazon EC2 인스턴스를 클러스터에 등록하면 Amazon EC2 인스턴스는 상태를 ACTIVE로, 에이전트 연결 상태를 TRUE로 보고합니다. 이 컨테이너 인스턴스는 태스크 실행 요청을 수락할 수 있습니다.
컨테이너 인스턴스를 중지(terminate가 아닌 stop)하면 상태는 ACTIVE로 유지되지만, 에이전트 연결 상태는 몇 분 내에 FALSE로 전환됩니다. 컨테이너 인스턴스에서 실행 중이던 태스크는 중지됩니다. 컨테이너 인스턴스를 다시 시작하면 컨테이너 에이전트가 Amazon ECS 서비스와 다시 연결되고, 인스턴스에서 태스크를 다시 실행할 수 있습니다.
컨테이너 인스턴스의 상태를 DRAINING으로 변경하면 새 태스크는 컨테이너 인스턴스에 배치되지 않습니다. 컨테이너 인스턴스에서 실행 중인 서비스 태스크는 시스템 업데이트를 수행할 수 있도록 가능한 경우 제거됩니다. 자세한 내용은 Amazon ECS 컨테이너 인스턴스 드레이닝 문서를 참고하세요.
컨테이너 인스턴스를 등록 해제(deregister)하거나 종료하면 컨테이너 인스턴스 상태가 즉시 INACTIVE로 변경되고, 컨테이너 인스턴스를 나열할 때 더 이상 보고되지 않습니다. 그러나 종료 후 한 시간 동안은 컨테이너 인스턴스를 설명(describe)할 수 있습니다. 한 시간이 지나면 인스턴스 설명은 더 이상 사용할 수 없습니다.
인스턴스를 수동으로 드레이닝하거나 Auto Scaling 그룹 수명 주기 훅(lifecycle hook)을 만들어 인스턴스 상태를 DRAINING으로 설정할 수 있어요. Auto Scaling 수명 주기 훅에 대한 자세한 내용은 Amazon EC2 Auto Scaling 수명 주기 훅 문서를 참고하세요.
Docker 지원 (Docker Support)
Amazon ECS는 Amazon Linux에 게시된 Docker의 마지막 두 개의 메이저 버전을 지원합니다. 현재 여기에는 Docker 20.10.x와 Docker 25.x가 포함됩니다.
Amazon ECS에 필요한 최소 Docker 버전은 GitHub의 Amazon ECS Agent 사양 파일에서 찾을 수 있습니다.
Amazon ECS 최적화 AMI를 사용하면 Docker가 사전 설치되어 Amazon ECS 컨테이너 에이전트와 함께 작동하도록 구성됩니다. AMI에는 Amazon ECS가 테스트하고 지원하는 Docker 버전이 포함됩니다.
참고: Amazon ECS가 여러 Docker 버전을 지원하지만, 최상의 호환성과 지원을 위해 Amazon ECS 최적화 AMI에 포함된 Docker 버전을 사용할 것을 권장합니다.
더 알아보기 (Learn more)
- Amazon ECS 최적화 AMI 및 컨테이너 에이전트 업데이트에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.