

# Amazon ECS 외부 인스턴스 등록 취소
<a name="ecs-anywhere-deregistration"></a>

인스턴스 사용을 마친 후에 Amazon ECS 및 AWS Systems Manager 모두에서 인스턴스를 등록 취소하는 것이 좋습니다. 등록 취소 후 외부 인스턴스는 더 이상 새 태스크를 받을 수 없습니다.

등록 취소 시 컨테이너 인스턴스에서 실행 중인 태스크가 있는 경우, 이러한 태스크는 다른 수단을 통해 중지될 때까지 계속 실행됩니다. 그러나 이러한 태스크는 Amazon ECS에서 더 이상 모니터링하거나 고려하지 않습니다. 외부 인스턴스의 이러한 태스크가 Amazon ECS 서비스의 일부인 경우, 서비스 스케줄러는 가능하다면 다른 인스턴스에서 해당 태스크의 다른 사본을 시작합니다.

인스턴스를 등록 취소한 후 인스턴스에서 남은 AWS 리소스를 정리합니다. 그런 다음, 새 클러스터에 등록할 수 있습니다.

## 절차
<a name="ecs-anywhere-deregistration-procedure"></a>

------
#### [ AWS Management Console ]

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

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

1. 탐색 창에서 **클러스터**를 선택하고 외부 인스턴스를 호스팅하는 클러스터를 선택합니다.

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

1. **컨테이너 인스턴스(Container instances)**에서 등록 취소하려는 외부 인스턴스 ID를 선택합니다. 컨테이너 인스턴스 세부 정보 페이지로 리디렉션됩니다.

1. **컨테이너 인스턴스 : *id*** 페이지에서 **등록 취소(Deregister)**를 선택합니다.

1. 등록 취소 메시지를 검토합니다. **AWS Systems Manager에서 등록 취소(Deregister from SYSlong)**를 선택하여 외부 인스턴스를 Systems Manager 관리형 인스턴스로 등록 취소할 수도 있습니다. **등록 취소(Deregister)**를 선택합니다.
**참고**  
Systems Manager 콘솔에서 외부 인스턴스를 Systems Manager 관리형 인스턴스로 등록 취소할 수 있습니다. 지침은 *AWS Systems Manager 사용 설명서*의 [하이브리드 및 멀티클라우드 환경의 관리형 노드 등록 취소](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-deregister-hybrid-nodes.html)를 참조하세요.

1. 인스턴스를 등록 취소한 후 온프레미스 서버 또는 VM에서 AWS 리소스를 정리하세요.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/ecs-anywhere-deregistration.html)

------
#### [ AWS CLI ]

1. 컨테이너 인스턴스를 등록 취소하려면 인스턴스 ID와 컨테이너 인스턴스 ARN이 필요합니다. 이러한 값이 없는 경우 다음 명령을 실행합니다.

   다음 명령을 실행하여 인스턴스 ID를 가져옵니다.

   인스턴스 ID(`instanceID`)를 사용하여 컨테이너 인스턴스 ARN(`containerInstanceARN`)을 가져옵니다.

   ```
   instanceId=$(aws ssm describe-instance-information --region "{{ region }}" | jq ".InstanceInformationList[] |select(.IPAddress==\"{{ IPv4 Address }}\") | .InstanceId" | tr -d'"'
   ```

   다음 명령을 실행합니다.

   `containerInstanceArn`을 명령의 파라미터로 사용하여 인스턴스 등록을 취소합니다(`deregister-container-instance`).

   ```
   instances=$(aws ecs list-container-instances --cluster "{{ cluster }}" --region "{{ region }}" | jq -c '.containerInstanceArns')
   containerInstanceArn=$(aws ecs describe-container-instances --cluster "{{ cluster }}" --region "{{ region }}" --container-instances $instances | jq ".containerInstances[] | select(.ec2InstanceId==\"{{ instanceId }}\") | .containerInstanceArn" | tr -d '"')
   ```

1.  다음 명령을 실행하여 인스턴스를 드레이닝합니다.

   ```
   aws ecs update-container-instances-state --cluster "{{ cluster }}" --region "{{ region }}" --container-instances "{{ containerInstanceArn }}" --status DRAINING
   ```

1. 컨테이너 인스턴스의 드레이닝이 완료되면 다음 명령을 실행하여 인스턴스 등록을 취소합니다.

   ```
   aws ecs deregister-container-instance --cluster "{{ cluster }}" --region "{{ region }}" --container-instance "{{ containerInstanceArn }}"
   ```

1. 다음 명령을 사용하여 SSM에서 인스턴스를 제거합니다.

   ```
   aws ssm deregister-managed-instance --region "{{ region }}" --instance-id "{{ instanceId }}"
   ```

1. 인스턴스를 등록 취소한 후 온프레미스 서버 또는 VM에서 AWS 리소스를 정리하세요.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/ecs-anywhere-deregistration.html)

------