Amazon EC2 Auto Scaling이 인스턴스를 종료한 이유는 무엇입니까?

최종 업데이트 날짜: 2018년 6월 13일

Amazon Elastic Cloud Compute (Amazon EC2) Auto Scaling 그룹이 인스턴스를 종료했지만 Amazon Elastic Cloud Compute (Amazon EC2) EC2 콘솔에서 종료할 이유가 없습니다. Amazon EC2 Auto Scaling이 내 인스턴스를 종료한 이유를 확인하려면 어떻게 해야 합니까?

간략한 설명

Amazon EC2 Auto Scaling은 Amazon EC2 또는 ELB(Elastic Load Balancing) 상태 확인을 사용하여 인스턴스의 상태를 확인합니다. 상태 확인 대체를 포함하여 Auto Scaling 그룹의 모든 조정 작업은 EC2 콘솔의 [활동 기록] 보기에 표시됩니다.

​해결 방법

[활동 기록] 보기의 인스턴스 설명을 사용하여 추가 단계를 결정합니다.

계속하기 전에 인스턴스의 종료에 대한 설명 및 원인을 찾습니다.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창의 [Auto Scaling]에서 [Auto Scaling 그룹]을 선택합니다. 인스턴스의 그룹을 선택합니다.
  3. [활동 기록] 보기를 선택한 다음 인스턴스 종료 이벤트를 선택합니다.
  4. 인스턴스 종료 이벤트에 대한 [설명] 및 [원인]을 기록합니다.

인스턴스 종료에 대한 잠재적인 근본 이유를 이해하려면 다음 설명 예제를 참조하십시오.

"인스턴스가 종료 또는 중지되었음을 나타내는 EC2 상태 확인에 대한 응답으로 인스턴스가 서비스에서 제외되었습니다."

Amazon CloudWatch 지표를 사용하여 인스턴스 또는 시스템 검사 실패를 찾습니다.

  1. Amazon CloudWatch 콘솔을 엽니다.
  2. 탐색 창에서 [지표]를 선택한 다음 [모든 지표] 보기를 선택합니다.
  3. 지표 패널에서 [EC2]를 선택한 다음 [인스턴스별 지표]를 선택합니다.
  4. [instance-id]를 입력한 다음 [StatusCheckFailed_Instance], [StatusCheckFailed_System] 또는 [StatusCheckFailed]를 선택하여 지표 그래프를 봅니다.

Amazon EC2 Auto Scaling은 중지된 인스턴스와 재부팅된 인스턴스를 종료합니다. AWS CloudTrail 기록을 확인하여 사용자가 인스턴스를 수동으로 중지하거나 재부팅했는지 확인합니다.

  1. AWS CloudTrail 콘솔을 엽니다.
  2. 탐색 창에서 [이벤트 기록]을 선택합니다.
  3. [TerminateInstances], [StopInstances] 또는 [RebootInstances] API 호출에 대한 기록을 확인합니다.

Amazon EC2 Auto Scaling은 용량이 더 이상 가용 상태가 아니거나 스팟 가격이 최고 가격을 초과할 때 스팟 인스턴스를 종료합니다. 활동 기록에 상태 확인으로 인해 인스턴스가 서비스에서 제거되었다고 표시될 수 있습니다. 종료 이유를 확인하려면 스팟 요청 상태를 확인합니다.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창의 [인스턴스]에서 [스팟 요청]을 선택합니다.
  3. 스팟 요청을 선택하고 설명 보기를 선택한 다음 상태를 기록합니다.

Auto Scaling 그룹의 상태 확인 유형이 ELB로 설정된 경우, Amazon EC2 Auto Scaling은 ELB 및 EC2 상태 확인을 모두 수행하고 두 상태 확인 중 하나라도 실패한 인스턴스를 종료합니다.

  1. Amazon EC2 콘솔을 엽니다.
  2. Auto Scaling 아래의 탐색 창에서 [Auto Scaling 그룹]을 선택한 다음, 인스턴스의 그룹을 선택합니다.
  3. [세부 정보] 보기를 선택한 다음 [상태 확인 유형]을 기록합니다.

"ELB 시스템의 상태 확인 실패에 대한 응답으로 인스턴스가 서비스에서 제외되었습니다."

Auto Scaling 그룹에 여러 로드 밸런서가 연결된 경우, 모든 로드 밸런서가 인스턴스를 정상으로 보고해야 Amazon EC2 Auto Scaling이 인스턴스를 정상으로 간주합니다.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창의 [로드 밸런싱]에서 [로드 밸런서]를 선택한 다음 [모니터링]을 선택합니다.
  3. [Health Hosts Count] 지표 그래프를 선택하여 인스턴스가 상태 확인에 실패하고 있는지 확인합니다.
  4. 탐색 창의 [Auto Scaling]에서 [Auto Scaling 그룹]을 선택합니다.
  5. 인스턴스의 그룹을 선택하고 [세부 정보] 보기를 선택합니다.
  6. [로드 밸런서] 또는 [대상 그룹] 아래에 두 개 이상의 로드 밸런서가 연결되어 있는지 확인합니다.

CloudTrail 기록을 확인하여 프로세스가 재개될 때까지 일시 중지된 프로세스가 비정상 인스턴스의 종료를 지연했는지 확인합니다.

  1. AWS CloudTrail 콘솔을 엽니다.
  2. 탐색 창에서 [이벤트 기록]을 선택합니다.
  3. [SuspendProcesses] 및 [ResumeProcesses] API 호출에 대한 기록을 확인합니다.

"사용자 상태 확인에 대한 응답으로 인스턴스가 서비스에서 제외되었습니다."

Amazon EC2 Auto Scaling에서 사용자 지정 상태 확인을 정의할 수 있습니다. 사용자 지정 상태 확인에서 인스턴스가 비정상이라고 판단하면 이 확인은 수동으로 SetInstanceHealth를 트리거한 다음 인스턴스의 상태를 비정상으로 설정합니다. Amazon EC2 Auto Scaling은 다음 실행 시 비정상 인스턴스를 종료합니다.

"그룹의 영역 밸런싱을 지원하기 위해 인스턴스가 시작되었습니다." 또는 "us-east-1a 영역의 인스턴스를 다른 영역과 밸런싱하기 위해 인스턴스가 시작되었습니다."

기본적으로 Amazon EC2 Auto Scaling은 모든 가용 영역에 걸쳐 인스턴스를 밸런싱합니다. 사용자가 Auto Scaling 그룹에 새 가용 영역을 추가하면 Amazon EC2 Auto Scaling이 해당 영역에서 새 인스턴스를 시작하고 재밸런싱으로 인해 다른 영역의 인스턴스가 종료될 수 있습니다.

"2018-02-12T13:48:46Z에서 모니터 경보 XXX-High-CPU-Utilization in state ALARM이 원하는 용량을 2에서 1로 변경하며 정책 AAA-scaledown을 트리거 했습니다"

Amazon EC2 Auto Scaling은 구성된 CloudWatch 경보에 대한 응답으로 그룹의 인스턴스를 종료할 수 있습니다. 그룹 정책 및 CloudWatch 경보 기록을 확인합니다.

Auto Scaling 그룹 정책을 확인하려면 다음을 수행합니다.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창의 [Auto Scaling]에서 [Auto Scaling 그룹]을 선택합니다.
  3. 인스턴스의 그룹을 선택합니다.
  4. [조정 정책] 창을 선택하여 정책을 보고 편집합니다.

CloudWatch 경보 기록을 보려면 다음을 수행합니다.

  1. Amazon CloudWatch 콘솔을 엽니다.
  2. 탐색 창에서 [경보]를 선택합니다.
  3. 경보를 선택한 다음 [기록] 보기를 선택합니다.
  4. 경보에 대한 상태 변경 또는 경보 구성에 대한 수정 이력을 확인합니다.

"2018-02-12T13:49:12Z에서 AutoScalingGroup 제약 조건을 최소: 1, 최대: 9, 원하는 용량: 1로 업데이트하여 원하는 용량을 2에서 1로 변경하는 예약된 작업입니다. [...]"

사용자는 Auto Scaling 그룹의 최소, 최대 또는 원하는 용량을 변경하는 예약 작업을 구성할 수 있습니다. 예약된 작업이 원하는 용량을 줄이면 Amazon EC2 Auto Scaling이 이 예와 같이 원하는 새 용량과 일치하도록 하나 이상의 인스턴스를 종료합니다.

"AutoScalingGroup 제약 조건을 최소: 0, 최대: 2, 원하는 용량: 1로 업데이트하여 원하는 용량을 2에서 1로 변경하는 사용자 요청입니다"

사용자가 Auto Scaling 그룹의 제약 조건을 수동으로 변경하는 경우(예: 원하는 용량 감소), Amazon EC2 Auto Scaling은 새 설정에 맞게 인스턴스를 종료할 수 있습니다.