Amazon ECS-optimized AMI에서 Amazon ECS 컨테이너 에이전트 업데이트하기
Amazon ECS-optimized AMI에서 Amazon ECS 컨테이너 에이전트 업데이트하기
Amazon ECS-optimized AMI를 사용한다면, 최신 버전의 Amazon ECS 컨테이너 에이전트를 얻는 여러 옵션이 있어요 (권장 순서대로 나열).
출처: 문서
본문
Amazon ECS-optimized AMI를 사용한다면, 최신 버전의 Amazon ECS 컨테이너 에이전트를 얻는 여러 옵션이 있습니다 (권장 순서대로).
- 컨테이너 인스턴스를 종료하고 최신 버전의 Amazon ECS-optimized Amazon Linux 2 AMI를 시작합니다(수동으로 또는 Auto Scaling 시작 구성을 최신 AMI로 업데이트). 이렇게 하면 가장 최근에 테스트·검증된 Amazon Linux, Docker,
ecs-init, Amazon ECS 컨테이너 에이전트 버전을 갖춘 새로운 컨테이너 인스턴스가 제공됩니다. 자세한 내용은 "Amazon ECS-optimized Linux AMIs"를 참고하세요. - SSH로 인스턴스에 연결해
ecs-init패키지(와 의존성)를 최신 버전으로 업데이트합니다. 이 작업은 Amazon Linux 리포지토리에서 사용할 수 있는 가장 최근에 테스트·검증된 Docker와ecs-init버전, 그리고 최신 버전의 Amazon ECS 컨테이너 에이전트를 제공합니다. 자세한 내용은 아래 "To update the ecs-init package on an Amazon ECS-optimized AMI"를 참고하세요. - 콘솔, AWS CLI 또는 AWS SDK를 통해
UpdateContainerAgentAPI 작업으로 컨테이너 에이전트를 업데이트합니다. 자세한 내용은 "Updating the Amazon ECS container agent with the UpdateContainerAgent API operation"을 참고하세요.
참고: 에이전트 업데이트는 Windows 컨테이너 인스턴스에는 적용되지 않습니다. Windows 클러스터의 에이전트 버전을 업데이트하려면 새 컨테이너 인스턴스를 시작하는 것을 권장합니다.
Amazon ECS-optimized AMI에서 ecs-init 패키지 업데이트하기
- SSH로 컨테이너 인스턴스에 로그인합니다.
- 다음 명령으로
ecs-init패키지를 업데이트합니다.sudo yum update -y ecs-init참고:
ecs-init패키지와 Amazon ECS 컨테이너 에이전트는 즉시 업데이트됩니다. 그러나 새 버전의 Docker는 Docker 데몬이 재시작될 때까지 로드되지 않습니다. 인스턴스를 재부팅하거나 인스턴스에서 다음 명령을 실행해 재시작하세요.Amazon ECS-optimized Amazon Linux 2 AMI:
sudo systemctl restart dockerAmazon ECS-optimized Amazon Linux AMI:
sudo service docker restart && sudo start ecs
UpdateContainerAgent API 작업으로 Amazon ECS 컨테이너 에이전트 업데이트하기
중요:
UpdateContainerAgentAPI는 Amazon ECS-optimized Amazon Linux 2 (arm64) AMI를 제외한 Amazon ECS-optimized AMI의 Linux 변형에서만 지원됩니다. Amazon ECS-optimized Amazon Linux 2 (arm64) AMI를 사용하는 컨테이너 인스턴스는 에이전트를 업데이트하려면ecs-init패키지를 업데이트하세요. 다른 운영 체제를 실행하는 컨테이너 인스턴스는 "Manually updating the Amazon ECS container agent (for non-Amazon ECS-Optimized AMIs)"를 참고하세요. Windows 컨테이너 인스턴스를 사용한다면, Windows 클러스터의 에이전트 버전을 업데이트하기 위해 새 컨테이너 인스턴스를 시작할 것을 권장합니다.
UpdateContainerAgent API 프로세스는 콘솔, AWS CLI 또는 AWS SDK를 통해 에이전트 업데이트를 요청할 때 시작됩니다. Amazon ECS는 현재 에이전트 버전을 사용 가능한 최신 에이전트 버전과 비교해 업데이트가 가능한지 확인합니다. 업데이트를 사용할 수 없으면(예: 에이전트가 이미 최신 버전을 실행 중인 경우) NoUpdateAvailableException이 반환됩니다.
업데이트 프로세스의 단계는 다음과 같습니다.
- PENDING — 에이전트 업데이트가 사용 가능하며 업데이트 프로세스가 시작되었습니다.
- STAGING — 에이전트가 에이전트 업데이트 다운로드를 시작했습니다. 에이전트가 업데이트를 다운로드할 수 없거나, 업데이트 내용이 잘못되었거나 손상된 경우 에이전트가 실패 알림을 보내고 업데이트가
FAILED상태로 전환됩니다. - STAGED — 에이전트 다운로드가 완료되고 에이전트 내용이 검증되었습니다.
- UPDATING —
ecs-init서비스가 재시작되어 새 에이전트 버전을 선택합니다. 어떤 이유로 에이전트가 재시작할 수 없으면 업데이트가FAILED상태로 전환되고, 그렇지 않으면 에이전트가 업데이트 완료를 Amazon ECS에 알립니다.
참고: 에이전트 업데이트는 Windows 컨테이너 인스턴스에는 적용되지 않습니다. Windows 클러스터의 에이전트 버전을 업데이트하려면 새 컨테이너 인스턴스를 시작하는 것을 권장합니다.
콘솔에서 Amazon ECS-optimized AMI의 Amazon ECS 컨테이너 에이전트 업데이트하기
- 콘솔을 https://console.aws.amazon.com/ecs/v2 에서 엽니다.
- 내비게이션 바에서 외부 인스턴스가 등록된 Region을 선택합니다.
- 탐색 창에서 Clusters를 선택하고 클러스터를 선택합니다.
- Cluster : name 페이지에서 Infrastructure 탭을 선택합니다.
- Container instances 아래에서 업데이트할 인스턴스를 선택하고 Actions, Update agent를 선택합니다.
더 알아보기 (Learn more)
- Amazon ECS-optimized Linux AMI와 에이전트 업데이트에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.