Amazon ECS 외부 인스턴스 등록 취소 - Amazon Elastic Container Service

Amazon ECS 외부 인스턴스 등록 취소

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

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

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

절차

AWS Management Console
  1. https://console.aws.amazon.com/ecs/v2에서 콘솔을 엽니다.

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

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

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

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

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

  7. 등록 취소 메시지를 검토합니다. AWS Systems Manager에서 등록 취소(Deregister from SYSlong)를 선택하여 외부 인스턴스를 Systems Manager 관리형 인스턴스로 등록 취소할 수도 있습니다. 등록 취소(Deregister)를 선택합니다.

    참고

    Systems Manager 콘솔에서 외부 인스턴스를 Systems Manager 관리형 인스턴스로 등록 취소할 수 있습니다. AWS Systems Manager 사용 설명서관리형 인스턴스 등록 취소를 참조하세요.

  8. 인스턴스를 등록 취소한 후 온프레미스 서버 또는 VM에서 AWS 리소스를 정리합니다.

    운영 체제 단계

    Linux

    1. 인스턴스에서 Amazon ECS 컨테이너 에이전트와 SSM Agent 서비스를 중지합니다.

      sudo systemctl stop ecs amazon-ssm-agent
    2. Amazon ECS 및 Systems Manager 패키지를 제거합니다.

      CentOS 7, CentOS 8 및 RHEL 7의 경우

      sudo yum remove -y amazon-ecs-init amazon-ssm-agent

      SUSE Enterprise Server 15의 경우

      sudo zypper remove -y amazon-ecs-init amazon-ssm-agent

      Debian 및 Ubuntu의 경우

      sudo apt remove -y amazon-ecs-init amazon-ssm-agent
    3. 남은 디렉터리를 제거합니다.

      sudo rm -rf /var/lib/ecs /etc/ecs /var/lib/amazon/ssm /var/log/ecs /var/log/amazon/ssm
    Windows
    1. 인스턴스에서 Amazon ECS 컨테이너 에이전트와 SSM Agent 서비스를 중지합니다.

      Stop-Service AmazonECS
      Stop-Service AmazonSSMAgent
    2. Amazon ECS 패키지를 제거합니다.

      .\ecs-anywhere-install.ps1 -Uninstall
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 '"')
  2. 다음 명령을 실행하여 인스턴스를 드레이닝합니다.

    aws ecs update-container-instances-state --cluster "{{ cluster }}" --region "{{ region }}" --container-instances "{{ containerInstanceArn }}" --status DRAINING
  3. 컨테이너 인스턴스의 드레이닝이 완료되면 다음 명령을 실행하여 인스턴스 등록을 취소합니다.

    aws ecs deregister-container-instance --cluster "{{ cluster }}" --region "{{ region }}" --container-instance "{{ containerInstanceArn }}"
  4. 다음 명령을 사용하여 SSM에서 인스턴스를 제거합니다.

    aws ssm deregister-managed-instance --region "{{ region }}" --instance-id "{{ instanceId }}"
  5. 인스턴스를 등록 취소한 후 온프레미스 서버 또는 VM에서 AWS 리소스를 정리합니다.

    운영 체제 단계

    Linux

    1. 인스턴스에서 Amazon ECS 컨테이너 에이전트와 SSM Agent 서비스를 중지합니다.

      sudo systemctl stop ecs amazon-ssm-agent
    2. Amazon ECS 및 Systems Manager 패키지를 제거합니다.

      sudo (yum/apt/zypper) remove amazon-ecs-init amazon-ssm-agent
    3. 남은 디렉터리를 제거합니다.

      sudo rm -rf /var/lib/ecs /etc/ecs /var/lib/amazon/ssm /var/log/ecs /var/log/amazon/ssm
    Windows
    1. 인스턴스에서 Amazon ECS 컨테이너 에이전트와 SSM Agent 서비스를 중지합니다.

      Stop-Service AmazonECS
      Stop-Service AmazonSSMAgent
    2. Amazon ECS 패키지를 제거합니다.

      .\ecs-anywhere-install.ps1 -Uninstall