Auto Scaling 그룹에서 종료된 EC2 인스턴스를 제거하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 12월 17일

종료된 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 있습니다. 그러나 인스턴스는 Amazon EC2 콘솔에서 정상(Healthy) 및 대기 상태(InStandby)로 표시됩니다. 이 종료된 그룹을 Amazon EC2 Auto Scaling(EC2 Auto Scaling) 그룹에서 제거하려면 어떻게 해야 합니까?

간략한 설명

EC2 Auto Scaling은 대기 상태의 인스턴스에 대해 상태 확인을 수행하지 않습니다. EC2 Auto Scaling은 대기 상태인 인스턴스에 대해 인스턴스 종료 상태를 인식하지 못합니다.

다음 방법 중 하나를 사용하여 여전히 정상 및 대기 상태로 표시되는 종료된 인스턴스를 EC2 Auto Scaling 그룹에서 제거할 수 있습니다.

  • AWS CLI(명령줄 인터페이스)를 사용하여 인스턴스를 종료합니다.
  • EC2 Auto Scaling 그룹에서 인스턴스를 분리합니다. 그러면 EC2 Auto Scaling 콘솔에서 제거됩니다.
  • 인스턴스에서 대기 상태를 해제합니다. 그러면 Auto Scaling에서 상태 확인을 사용하여 인스턴스 종료를 감지할 수 있습니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하십시오.

해결 방법

사용 사례에 적합한 방법을 사용하여 EC2 Auto Scaling 그룹에서 종료된 인스턴스를 제거합니다.

인스턴스 종료

다음 명령을 사용하여 인스턴스를 종료합니다. YOUR-INSTANCE-ID를 인스턴스의 리소스 ID로 대체해야 합니다.

aws autoscaling terminate-instance-in-auto-scaling-group --instance-id YOUR-INSTANCE-ID --no-should-decrement-desired-capacity

중요: EC2 Auto Scaling 그룹에 대한 수명 주기 후크 EC2_INSTANCE_TERMINATING을 구성한 경우 CompleteLifecycleAction을 사용하여 그룹에서 즉시 인스턴스를 제거합니다.

인스턴스 분리

다음 명령을 사용하여 EC2 Auto Scaling 그룹에서 인스턴스를 분리합니다. YOUR-INSTANCE-ID를 인스턴스의 리소스 ID로, YOUR_ASG_NAME을 EC2 Auto Scaling 그룹 이름으로 대체해야 합니다.

aws autoscaling detach-instances --instance-ids YOUR-INSTANCE-ID --no-should-decrement-desired-capacity --auto-scaling-group-name YOUR-ASG-NAME

인스턴스에서 대기 해제

1.    AWS CLI 또는 Amazon EC2 콘솔을 사용하여 EC2 Auto Scaling의 최대 크기를 편집합니다. 인스턴스를 서비스 상태로 다시 전환하면 원하는 용량은 1씩 증가합니다. 이때 그룹의 최대 크기 값을 초과해서는 안 됩니다. 최대 크기를 현재 값 + 서비스 상태로 다시 전환된 인스턴스 수(1)로 설정합니다. 아니면 다음과 비슷한 오류가 발생할 수 있습니다.

An error occurred (ValidationError) when calling the ExitStandby operation: AutoScalingGroup YOUR-ASG-NAME has min-size=1, max-size=1, and desired-size=1. To place in service 1 instance, please update the AutoScalingGroup sizes appropriately.

참고: 의도한 인스턴스가 종료된 후에 원하는 용량과 일치하도록 대체 인스턴스가 시작됩니다.

2.    다음 명령을 사용하여 인스턴스를 대기 상태에서 해제합니다. YOUR-INSTANCE-ID를 인스턴스의 리소스 ID로, YOUR_ASG_NAME을 EC2 Auto Scaling 그룹 이름으로 대체해야 합니다.

aws autoscaling exit-standby --instance-ids YOUR-INSTANCE-ID --auto-scaling-group-name YOUR-ASG-NAME

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?