Amazon ECS-optimized AMI에서 Amazon ECS 컨테이너 에이전트 업데이트하기

Amazon ECS-optimized AMI에서 Amazon ECS 컨테이너 에이전트 업데이트하기

Amazon ECS-optimized AMI를 사용한다면, 최신 버전의 Amazon ECS 컨테이너 에이전트를 얻는 여러 옵션이 있어요 (권장 순서대로 나열).

출처: 문서

본문

Amazon ECS-optimized AMI를 사용한다면, 최신 버전의 Amazon ECS 컨테이너 에이전트를 얻는 여러 옵션이 있습니다 (권장 순서대로).

  1. 컨테이너 인스턴스를 종료하고 최신 버전의 Amazon ECS-optimized Amazon Linux 2 AMI를 시작합니다(수동으로 또는 Auto Scaling 시작 구성을 최신 AMI로 업데이트). 이렇게 하면 가장 최근에 테스트·검증된 Amazon Linux, Docker, ecs-init, Amazon ECS 컨테이너 에이전트 버전을 갖춘 새로운 컨테이너 인스턴스가 제공됩니다. 자세한 내용은 "Amazon ECS-optimized Linux AMIs"를 참고하세요.
  2. SSH로 인스턴스에 연결해 ecs-init 패키지(와 의존성)를 최신 버전으로 업데이트합니다. 이 작업은 Amazon Linux 리포지토리에서 사용할 수 있는 가장 최근에 테스트·검증된 Docker와 ecs-init 버전, 그리고 최신 버전의 Amazon ECS 컨테이너 에이전트를 제공합니다. 자세한 내용은 아래 "To update the ecs-init package on an Amazon ECS-optimized AMI"를 참고하세요.
  3. 콘솔, AWS CLI 또는 AWS SDK를 통해 UpdateContainerAgent API 작업으로 컨테이너 에이전트를 업데이트합니다. 자세한 내용은 "Updating the Amazon ECS container agent with the UpdateContainerAgent API operation"을 참고하세요.

참고: 에이전트 업데이트는 Windows 컨테이너 인스턴스에는 적용되지 않습니다. Windows 클러스터의 에이전트 버전을 업데이트하려면 새 컨테이너 인스턴스를 시작하는 것을 권장합니다.

Amazon ECS-optimized AMI에서 ecs-init 패키지 업데이트하기

  1. SSH로 컨테이너 인스턴스에 로그인합니다.
  2. 다음 명령으로 ecs-init 패키지를 업데이트합니다.
    sudo yum update -y ecs-init
    

    참고: ecs-init 패키지와 Amazon ECS 컨테이너 에이전트는 즉시 업데이트됩니다. 그러나 새 버전의 Docker는 Docker 데몬이 재시작될 때까지 로드되지 않습니다. 인스턴스를 재부팅하거나 인스턴스에서 다음 명령을 실행해 재시작하세요.

    Amazon ECS-optimized Amazon Linux 2 AMI:

    sudo systemctl restart docker
    

    Amazon ECS-optimized Amazon Linux AMI:

    sudo service docker restart && sudo start ecs
    

UpdateContainerAgent API 작업으로 Amazon ECS 컨테이너 에이전트 업데이트하기

중요: UpdateContainerAgent API는 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 컨테이너 에이전트 업데이트하기

  1. 콘솔을 https://console.aws.amazon.com/ecs/v2 에서 엽니다.
  2. 내비게이션 바에서 외부 인스턴스가 등록된 Region을 선택합니다.
  3. 탐색 창에서 Clusters를 선택하고 클러스터를 선택합니다.
  4. Cluster : name 페이지에서 Infrastructure 탭을 선택합니다.
  5. Container instances 아래에서 업데이트할 인스턴스를 선택하고 Actions, Update agent를 선택합니다.

더 알아보기 (Learn more)

  • Amazon ECS-optimized Linux AMI와 에이전트 업데이트에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.