Amazon ECS 컨테이너 에이전트 수동 업데이트(Amazon ECS-Optimized AMI가 아닌 경우)
Amazon ECS 컨테이너 에이전트 수동 업데이트(Amazon ECS-Optimized AMI가 아닌 경우)
버그 수정과 새 기능을 적용하기 위해 Amazon ECS 컨테이너 에이전트를 업데이트해야 할 때가 있어요. Amazon ECS 컨테이너 에이전트를 업데이트해도 컨테이너 인스턴스에서 실행 중인 태스크나 서비스는 중단되지 않아요.
출처: 문서
본문
가끔 버그 수정과 새 기능을 적용하기 위해 Amazon ECS 컨테이너 에이전트를 업데이트해야 할 수 있어요. Amazon ECS 컨테이너 에이전트를 업데이트해도 컨테이너 인스턴스에서 실행 중인 태스크나 서비스는 중단되지 않아요.
참고 에이전트 업데이트는 Windows 컨테이너 인스턴스에는 적용되지 않아요. Windows 클러스터의 에이전트 버전을 업데이트하려면 새 컨테이너 인스턴스를 시작할 것을 권장해요.
- SSH를 통해 컨테이너 인스턴스에 로그인합니다.
- 에이전트가 상태를 저장하는 데
ECS_DATADIR환경 변수를 사용하는지 확인합니다.
출력:ubuntu:~$ docker inspect ecs-agent | grep ECS_DATADIR
중요 이전 명령이"ECS_DATADIR=/data",ECS_DATADIR환경 변수를 반환하지 않으면 에이전트를 업데이트하기 전에 이 컨테이너 인스턴스에서 실행 중인 태스크를 모두 중지해야 해요.ECS_DATADIR환경 변수가 있는 최신 에이전트는 상태를 저장하므로 태스크가 실행되는 동안에도 문제없이 업데이트할 수 있어요. - Amazon ECS 컨테이너 에이전트를 중지합니다.
ubuntu:~$ docker stop ecs-agent - 에이전트 컨테이너를 삭제합니다.
ubuntu:~$ docker rm ecs-agent /etc/ecs디렉터리와 Amazon ECS 컨테이너 에이전트 구성 파일이/etc/ecs/ecs.config에 존재하는지 확인합니다.ubuntu:~$ sudo mkdir -p /etc/ecs && sudo touch /etc/ecs/ecs.config/etc/ecs/ecs.config파일을 편집해 최소한 다음 변수 선언이 포함되도록 합니다. 컨테이너 인스턴스가 기본 클러스터에 등록되길 원하지 않으면 클러스터 이름을ECS_CLUSTER의 값으로 지정합니다.ECS_DATADIR=/data ECS_ENABLE_TASK_IAM_ROLE=true ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true ECS_LOGFILE=/log/ecs-agent.log ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"] ECS_LOGLEVEL=info ECS_CLUSTER=default