

# Amazon ECS 최적화 AMI에서 Amazon ECS 컨테이너 에이전트 업데이트
<a name="agent-update-ecs-ami"></a>

Amazon ECS 최적화 AMI를 사용하는 경우, 최신 버전의 Amazon ECS 컨테이너 에이전트를 얻을 수 있는 옵션은 다음과 같이 여러 가지가 있습니다(권장 순서로 표시).
+ 컨테이너 인스턴스를 종료하고 (수동으로 또는 Auto Scaling 시작 구성을 최신 AMI로 업데이트하여) 최신 버전의 Amazon ECS 최적화 Amazon Linux 2 AMI를 시작합니다. 그러면 테스트 및 검증된 최신 버전의 Amazon Linux, Docker, `ecs-init` 및 Amazon ECS 컨테이너 에이전트를 포함하는 컨테이너 인스턴스가 새로 시작됩니다. 자세한 정보는 [Amazon ECS 최적화 Linux AMI](ecs-optimized_AMI.md)을 참조하세요.
+ SSH를 사용하여 인스턴스에 연결하고 `ecs-init` 패키지(및 해당 종속성)를 최신 버전으로 업데이트합니다. 이 작업은 Amazon Linux 리포지토리에서 사용 가능한 테스트 및 검증된 최신 버전의 도커 및 `ecs-init`와 최신 버전의 Amazon ECS 컨테이너 에이전트를 제공합니다. 자세한 정보는 [Amazon ECS 최적화 AMI에서 `ecs-init` 패키지를 업데이트하는 방법](#procedure_update_ecs-init)을 참조하세요.
+ 콘솔을 통해 또는 AWS CLI 또는 AWS SDK를 사용해 `UpdateContainerAgent` API 작업으로 컨테이너를 업데이트합니다. 자세한 정보는 [`UpdateContainerAgent` API 태스크를 사용하여 Amazon ECS 컨테이너 에이전트 업데이트](#agent-update-api)을 참조하세요.

**참고**  
에이전트 업데이트는 Windows 컨테이너 인스턴스에 적용되지 않습니다. 새로운 컨테이너 인스턴스를 시작하여 Windows 클러스터의 에이전트 버전을 업데이트하는 것을 권장합니다.<a name="procedure_update_ecs-init"></a>

**Amazon ECS 최적화 AMI에서 `ecs-init` 패키지를 업데이트하는 방법**

1. SSH를 통해 컨테이너 인스턴스에 로그인합니다.

1. 다음 명령을 사용하여 `ecs-init` 패키지를 업데이트합니다.

   ```
   sudo yum update -y ecs-init
   ```
**참고**  
`ecs-init` 패키지와 Amazon ECS 컨테이너 에이전트가 즉시 업데이트됩니다. 그러나 새 버전의 Docker는 Docker 대몬이 다시 시작되기 전에는 로드되지 않습니다. 인스턴스를 재부팅하거나 인스턴스에서 다음 명령을 실행하여 다시 시작하세요.  
Amazon ECS 최적화 Amazon Linux 2 AMI:  

     ```
     sudo systemctl restart docker
     ```
Amazon ECS 최적화 Amazon Linux AMI:  

     ```
     sudo service docker restart && sudo start ecs
     ```

## `UpdateContainerAgent` API 태스크를 사용하여 Amazon ECS 컨테이너 에이전트 업데이트
<a name="agent-update-api"></a>

**중요**  
`UpdateContainerAgent` API는 Amazon ECS 최적화 AMI의 Linux 변형에서만 지원됩니다. 단, Amazon ECS 최적화 Amazon Linux 2(arm64) AMI만 예외입니다. Amazon ECS 최적화 Amazon Linux 2(arm64) AMI를 사용하는 컨테이너 인스턴스의 경우, `ecs-init` 패키지를 업데이트하여 에이전트를 업데이트하세요. 다른 운영 체제를 실행하는 컨테이너 인스턴스의 경우 [Amazon ECS 컨테이너 에이전트를 수동으로 업데이트하는 방법(비 Amazon ECS 최적화 AMI)](manually_update_agent.md) 섹션을 참조하세요. 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 최적화 AMI에서 Amazon ECS 컨테이너 에이전트를 업데이트하는 방법**

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. 탐색 모음에서 외부 인스턴스가 등록되어 있는 리전을 선택합니다.

1. 탐색 창에서 **클러스터**를 선택하고 클러스터를 선택합니다.

1. **클러스터: *name*(Cluster : name)** 페이지에서 **인프라(Infrastructure)** 탭을 선택합니다.

1. **컨테이너 인스턴스**에서 업데이트할 인스턴스를 선택하고 **작업**, **에이전트 업데이트**를 선택합니다.