Amazon Elastic Compute Cloud(Amazon EC2) Auto Scaling 그룹을 설정했는데, 비정상 Amazon EC2 인스턴스를 종료하지 않습니다.
간략한 설명
Amazon EC2 Auto Scaling은 Amazon EC2 상태 확인 및 Elastic Load Balancing(ELB) 상태 확인을 사용하여 인스턴스의 상태를 자동으로 확인할 수 있습니다. Amazon EC2 Auto Scaling 그룹의 모든 조정 작업은 Amazon EC2 콘솔의 활동 기록에 기록됩니다. Amazon EC2 Auto Scaling이 활동 기록만으로는 비정상 인스턴스를 종료하지 않은 이유를 알 수 없는 경우가 있습니다.
비정상 인스턴스의 상태와 해당 인스턴스를 종료하는 방법에 대한 자세한 내용은 Amazon EC2 콘솔에서 확인할 수 있습니다. 다음 설정을 확인하세요.
- 상태 확인 유예 기간
- 일시 중단된 프로세스
- EC2 콘솔의 인스턴스 상태
- Auto Scaling 그룹의 인스턴스 상태
- ELB 상태 확인
해결 방법
먼저 Amazon EC2 Auto Scaling의 인스턴스 상태를 확인합니다.
- Amazon EC2 콘솔에 로그인합니다. 탐색 창에 있는 Auto Scaling에서 Auto Scaling 그룹을 선택한 다음 인스턴스 그룹을 선택합니다.
- 인스턴스 보기를 선택하고 인스턴스의 상태를 기록합니다.
상태 확인 유예 기간
Amazon EC2 Auto Scaling은 상태 확인 유예 기간이 만료될 때까지 EC2 상태 확인 및 ELB 상태 확인을 기반으로 서비스를 시작한 인스턴스를 종료하지 않습니다. 유예 기간을 확인하는 방법은 다음과 같습니다.
- Amazon EC2 콘솔 탐색 창의 Auto Scaling에서 Auto Scaling 그룹을 선택한 다음 인스턴스 그룹을 선택합니다.
- 세부 정보 보기를 선택하고 상태 확인 유예 기간을 기록해 둡니다.
일시 중단된 프로세스
상태 확인, 비정상 교체 또는 종료와 같은 프로세스의 일시 중단은 비정상 인스턴스를 탐지, 교체 또는 종료하는 Amazon EC2 Auto Scaling의 기능에 영향을 미칩니다.
- Amazon EC2 콘솔 탐색 창의 Auto Scaling에서 Auto Scaling 그룹을 선택한 다음 인스턴스 그룹을 선택합니다.
- 세부 정보 보기를 선택합니다.
- 편집을 선택하고 다음 프로세스가 있는 경우 일시 정지된 프로세스에서 모두 제거합니다. 상태 확인, 비정상 교체 또는 종료
- 저장을 선택하여 프로세스를 재개합니다.
Amazon EC2 콘솔의 인스턴스 상태
Amazon EC2 Auto Scaling은 장애 상태의 인스턴스를 즉시 종료하지 않습니다. 대신 Amazon EC2 Auto Scaling은 인스턴스가 복구될 때까지 몇 분 정도 기다립니다. 인스턴스가 손상되었는지 확인하는 방법은 다음과 같습니다.
- Amazon EC2 콘솔 탐색 창의 인스턴스에서 인스턴스를 선택한 다음 해당 인스턴스를 선택합니다.
- 상태 확인 보기를 선택하고 인스턴스의 상태가 Impaired인지 확인합니다.
또한 Amazon EC2 Auto Scaling은 상태 확인을 위한 데이터 보고에 실패한 인스턴스를 연기하거나 종료하지 않을 수 있습니다. 이는 일반적으로 Amazon CloudWatch의 상태 확인 지표에 대한 데이터가 충분하지 않을 때 발생합니다. 이러한 인스턴스를 수동으로 종료하는 방법은 다음과 같습니다.
- Amazon EC2 콘솔 탐색 창의 인스턴스에서 인스턴스를 선택한 다음 해당 인스턴스를 선택합니다.
- 모니터링 보기를 선택하고 인스턴스의 상태를 확인합니다.
- 상태가 데이터 부족인 경우 인스턴스를 다시 선택하고 작업 메뉴, 인스턴스 상태, 종료를 차례로 선택합니다.
Auto Scaling 그룹의 인스턴스 상태
Amazon EC2 Auto Scaling은 대기 상태의 인스턴스에 대해 상태 확인을 수행하지 않습니다. 대기 인스턴스를 다시 InService 상태로 설정하는 방법은 다음과 같습니다.
- Amazon EC2 콘솔 탐색 창의 Auto Scaling Group에서 인스턴스 그룹을 선택한 다음 인스턴스 보기를 선택합니다.
- 필터 메뉴 모든 수명 주기 상태를 선택한 다음 대기를 선택합니다.
- 상태 확인을 재개하려면 인스턴스의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 InService로 설정을 선택합니다. 그러면 대기 상태가 종료됩니다.
Amazon EC2 Auto Scaling은 수명 주기 후크가 완료될 때까지 대기하는 경우 인스턴스를 종료할 때까지 기다립니다. 수명 주기 상태를 확인하고 수명 주기 후크를 완료하는 방법은 다음과 같습니다.
- Amazon EC2 콘솔 탐색 창의 Auto Scaling에서 Auto Scaling 그룹을 선택한 다음 인스턴스 그룹을 선택합니다.
- 인스턴스 보기를 선택하고 인스턴스의 수명 주기 상태를 기록합니다.
- 상태가 termining:wait인 경우 하트비트 제한 시간을 확인한 다음 completing-lifecycle-action을 실행하여 수명 주기 후크를 완료할 수 있습니다.
Amazon EC2 Auto Scaling이 ELB Connection Draining 기간이 완료되기를 기다리는 경우 인스턴스를 종료할 때까지 기다립니다.
- Amazon EC2 콘솔 탐색 창의 Auto Scaling에서 Auto Scaling 그룹을 선택한 다음 인스턴스 그룹을 선택합니다.
- 인스턴스 보기를 선택하고 인스턴스의 수명 주기가 종료되고 있는지 확인합니다.
- 활동 기록 보기를 선택합니다.
- 필터에서 ELB Connection Draining 대기를 선택하여 그룹이 인스턴스 종료를 기다리고 있는지 확인합니다.
ELB 상태 확인
ELB 설정은 상태 확인 및 인스턴스 교체에 영향을 줄 수 있습니다. ELB 콘솔에서 인스턴스 상태를 확인하세요.
- Amazon EC2 콘솔 탐색 창의 로드 밸런싱에서 로드 밸런서를 선택한 다음 인스턴스가 등록된 로드 밸런서를 선택합니다.
- 인스턴스 보기를 선택하고 인스턴스의 상태와 설명을 기록합니다.
Amazon EC2 Auto Scaling은 그룹의 상태 확인 구성이 EC2로 설정된 경우 ELB 상태 확인 결과를 사용하여 인스턴스의 상태를 확인하지 않습니다. 따라서 Amazon EC2 Auto Scaling은 ELB 상태 확인에 실패한 인스턴스를 종료하지 않습니다. ELB 콘솔에서는 인스턴스의 상태가 OutofService이지만 Amazon EC2 Auto Scaling 콘솔에서는 인스턴스 상태가 정상인 경우, 상태 확인 유형이 ELB로 설정되어 있는지 확인합니다.
- Amazon EC2 콘솔 탐색 창의 Auto Scaling에서 Auto Scaling 그룹을 선택한 다음 인스턴스 그룹을 선택합니다.
- 세부 정보 보기를 선택하고 상태 확인 유형을 기록합니다.
- 편집을 선택하고 상태 점검 유형으로 ELB를 선택한 다음 저장을 선택합니다.
그룹의 상태 확인 유형이 이미 ELB이고 ELB 콘솔의 인스턴스 상태가 OutofService인 경우, 앞서 언급한 상태 설명을 사용하여 추가 단계를 결정합니다.
- 인스턴스 등록이 아직 진행 중입니다. 로드 밸런서가 인스턴스 등록을 완료하고 인스턴스가 InService 상태가 될 때까지 기다리세요.
- LoadBalancer가 트래픽을 라우팅하도록 구성되지 않은 Amazon EC2 가용 영역에 인스턴스가 있습니다. Auto Scaling 그룹 또는 로드 밸런서의 서브넷을 편집하여 인스턴스의 서브넷과 동일한지 확인합니다.
- 인스턴스가 구성된 HealthyThreshold 수의 상태 확인을 연속해서 통과하지 못했습니다. ELB가 상태 확인을 완료하고 인스턴스가 InService 상태로 들어갈 때까지 기다리세요.
관련 정보
상태 확인에 실패한 인스턴스 문제 해결
Amazon EC2 Auto Scaling에서 인스턴스를 종료한 이유가 무엇인가요?