Amazon EC2 Auto Scaling에서 인스턴스를 종료한 이유가 무엇인가요?

5분 분량
0

제 Amazon Elastic Compute Cloud(Amazon EC2) 오토스케일링이 인스턴스를 종료했습니다. 그런데 Amazon EC2 콘솔에 종료 사유가 표시되지 않습니다.

간략한 설명


Amazon EC2 Auto Scaling은 Amazon EC2나 Elastic Load Balancing(ELB) 상태 확인을 통해 인스턴스의 상태를 확인합니다. Amazon EC2 콘솔의 활동 기록에서 상태 점검 교체를 포함한 오토 스케일링 그룹의 조정 작업을 모두를 볼 수 있습니다.

해결 방법

문제 해결 단계를 확인하려면 활동 기록 보기에서 인스턴스 설명을 활용하세요.

먼저 인스턴스 종료에 관한 설명과 원인을 찾습니다.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창에 있는 Auto Scaling에서 오토 스케일링을 선택합니다. 그 후 인스턴스의 그룹을 선택합니다.
  3. 활동 보기를 선택하고 활동 기록에서 인스턴스 종료 이벤트를 찾습니다.
  4. 인스턴스 종료 이벤트의 설명원인을 확인합니다.

인스턴스가 종료되는 이유를 알아보기 위한 문제 해결은 다음 설명 예제를 참고하세요.

“종료 또는 중지되었음을 알리는 EC2 상태 확인에 따라 인스턴스가 서비스가 중단되었습니다.”

Amazon EC2 Auto Scaling에서는 중지된 인스턴스와 재부팅된 인스턴스를 종료합니다. 사용자가 인스턴스를 수동으로 중지했는지 혹은 재부팅했는지 확인하려면 AWS CloudTrail 기록을 확인하세요.

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

“EC2 인스턴스 상태 확인 실패에 따라 인스턴스 서비스가 중단되었습니다.”

Amazon CloudWatch 지표를 이용해 인스턴스나 시스템 검사 실패를 찾아냅니다.

  1. Amazon CloudWatch 콘솔을 엽니다.
  2. 탐색 창에서 지표를 선택하고 모든 지표를 선택합니다.
  3. 메트릭 패널에서 EC2를 선택하고 인스턴스당 메트릭을 선택합니다.
  4. instance-id를 입력하고 StatusCheckFailed_Instance, StatusCheckFailed_System, StatusCheckFailed를 선택하여 메트릭 그래프를 확인합니다.

“ELB 시스템 상태 확인 실패로 인해 인스턴스가 서비스 중단되었습니다.”

오토 스케일링 그룹이 Elastic Load Balancing 상태 확인을 할 수 있도록 한 경우, Amazon EC2 Auto Scaling에서 Elastic Load Balancing과 EC2 상태 확인을 모두 실행합니다. 그리고 이 상태 확인 중 하나에 실패한 인스턴스가 있으면 서비스가 종료합니다. 오토 스케일링 그룹에 Elastic Load Balancing 상태 확인이 활성화되어 있는지 확인하세요.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창에 있는 Auto Scaling에서 오토 스케일링을 선택하고 인스턴스 그룹을 선택합니다.
  3. 세부 정보 보기를 선택하고 상태 확인 유형을 기록해 둡니다.
  4. 상태 확인 유형이 “EC2, ELB”인 경우, 오토 스케일링에는 Elastic Load Balancing 상태 확인이 활성화되어 있습니다.

자세한 내용은 Elastic Load Balancing 시스템 상태 확인 실패으로 인해 인스턴스가 서비스가 중단되었습니다를 참고하세요.

오토 스케일링에 연결된 대상 그룹이나 로드 밸런서가 여러 개 있는 경우도 있습니다. 이 경우 대상 그룹과 로드 밸런서 모두가 인스턴스를 정상으로 보고해야 Amazon EC2 Auto Scaling에서 인스턴스를 정상으로 봅니다.

  1. 탐색 창에 있는 Auto Scaling에서 오토 스케일링을 선택합니다.
  2. 인스턴스 그룹을 선택한 다음 세부 정보 보기를 선택합니다.
  3. 로드 밸런서대상 그룹에 둘 이상의 로드 밸런서가 연결되어 있는지 확인하세요.
  4. 대상 그룹이나 로드 밸런서를 선택합니다.
  5. 탐색 창의 로드 밸런싱에서 대상 그룹을 선택하고, 내 대상 그룹을 선택한 후 모니터링을 선택합니다.
  6. 인스턴스 상태 확인에서 실패했는지 확인하려면 정상 및 비정상 호스트 지표 그래프를 확인하세요.

CloudTrail 기록을 확인해 절차가 일시 중단되어 재개될 때까지 비정상 인스턴스를 종료하는 것이 지연되었는지 확인합니다.

  1. AWS CloudTrail 콘솔을 엽니다.
  2. 탐색 창에서 이벤트 기록을 선택합니다.
  3. SuspendProcessesResumeProcesses API 호출 기록을 확인합니다.

“EC2 스팟 인스턴스 중단 통지로 인해 인스턴스가 서비스가 중단되었습니다.”

Amazon EC2 Auto Scaling은 다음 조건의 하나가 발생할 경우 스팟 인스턴스를 종료합니다.

  • 용량이 부족합니다.
  • 스팟 가격이 인스턴스에 지정한 최고 가격을 초과합니다.

상태 확인으로 인해 인스턴스가 서비스에서 제거된 것으로 활동 기록에 표시되는 경우가 있습니다. 종료된 이유를 확인하려면 스팟 요청 상태를 확인하세요.

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

“사용자 요청으로 인해 인스턴스가 서비스가 중단되었습니다.”

CloudTrail 이벤트 기록을 검토해 TerminateInstanceInAutoScalingGroup API 호출에 인스턴스 서비스가 중단된 적이 있는지 살펴봅니다.

  1. AWS CloudTrail 콘솔을 엽니다.
  2. 탐색 창에서 이벤트 기록을 선택합니다.
  3. TerminateInstanceInAutoScalingGroup API 호출 기록을 확인합니다.

“사용자가 AutoScalingGroup 제약 조건을 다음과 같이 업데이트 요청 최소: 0, 최대: 2, 원하는 값: 1 원하는 값을 2에서 1로 변경”

오토 스케일링 제약 조건을 수동으로 변경할 수 있습니다. 예를 들어, 용량을 줄일 수 있습니다. 제약 조건을 변경하면 Amazon EC2 Auto Scaling에서 새 설정과 일치하도록 하기 위해 인스턴스를 종료할 수 있습니다.

“us-east-1a 영역에 있는 인스턴스를 다른 영역과 균형을 맞추기 위해 인스턴스를 시작했습니다.”

기본적으로 Amazon EC2 Auto Scaling은 가용 영역에 있는 모든 인스턴스의 균형을 맞춥니다. 오토 스케일링에 새 가용 영역을 추가하면 Amazon EC2 Auto Scaling에서 해당 영역에서 새 인스턴스를 시작합니다. 이 재조정으로 인해 다른 영역의 인스턴스가 종료될 수 있습니다.

“온디맨드 용량과 스팟 용량 분배의 균형을 맞추기 위해 인스턴스 서비스가 중단되었습니다.”

온디맨드나 스팟 인스턴스의 배포가 변경되면 관련 오토 스케일링이 원하는 구매 옵션 배포에 맞게 재조정됩니다. 이에 따라 온디맨드나 스팟 인스턴스이 종료되고 오토 스케일링에서 이를 대체하여 원하는 구매 옵션을 얻을 수 있게 됩니다.

“모니터 알람 XXX-High-CPU-Utilization이 경고 상태이며 정책 AAA-scaledown을 트리거하여 원하는 용량을 2에서 1로 변경”

CloudWatch 경보 설정에 따라 Amazon EC2 Auto Scaling이 그룹 인스턴스를 종료할 수 있습니다. 그룹 정책과 CloudWatch 경보 기록을 확인하세요.

오토 스케일링 정책을 확인하세요.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창에 있는 Auto Scaling에서 오토 스케일링을 선택합니다.
  3. 인스턴스 그룹을 선택합니다.
  4. 정책을 보고 편집하려면 Automato Scaling 패널을 선택합니다.

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

  1. Amazon CloudWatch 콘솔을 엽니다.
  2. 탐색 창에서 알람을 선택합니다.
  3. 알람을 선택하고 알람 보기를 선택합니다.
  4. 알람 상태 변경이나 알람 구성 수정 변경 사항에 관한 기록을 확인하세요.

“사용자 상태 확인으로 인해 인스턴스가 서비스가 중단되었습니다.”

Amazon EC2 Auto Scaling에서 사용자 지정 상태 확인을 정의할 수 있습니다. 사용자 지정 상태 확인에서 인스턴스가 비정상으로 확인되면 SetInstanceHealth가 수동으로 시작됩니다. 그 후 인스턴스 상태를 비정상으로 설정합니다. 다음 실행 시 Amazon EC2 Auto Scaling에서 비정상 인스턴스를 종료합니다.

“예약 작업으로 AutoScalingGroup 제약 조건을 다음과 같이 업데이트 최소: 1, 최대: 9, 원하는 값: 1 원하는 값을 2에서 1로 변경”

오토 스케일링의 최소, 최대, 원하는 값을 변경하는 예약 작업을 구성할 수 있습니다. 예약 작업으로 원하는 용량을 줄이면 Amazon EC2 Auto Scaling에서는 새 용량에 맞춰 하나 이상의 인스턴스를 종료합니다.

관련 정보

오토 스케일링이 스케일 다운된 이유가 무엇인가요?

Amazon EC2 Auto Scaling에서 비정상 인스턴스를 종료하지 않은 이유가 무엇인가요?

AWS 공식
AWS 공식업데이트됨 10달 전