내용으로 건너뛰기

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

7분 분량
0

Amazon EC2 Auto Scaling 그룹이 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 종료한 이유를 알고 싶습니다.

간략한 설명

Amazon EC2 Auto Scaling은 Amazon EC2 상태 확인, Elastic Load Balancing(ELB) 상태 확인 및 볼륨 상태 확인을 통해 인스턴스의 상태를 모니터링합니다. 인스턴스가 상태 확인을 통과하지 못하면 Amazon EC2 Auto Scaling은 해당 인스턴스를 종료하고 교체합니다.

AWS Management Console의 Amazon EC2 대시보드에서 Amazon EC2 Auto Scaling이 인스턴스를 종료한 이유를 확인하십시오. 그런 다음 발견된 문제를 해결하십시오.

해결 방법

인스턴스의 상태 확인 실패 원인을 확인한 다음, 해당 원인에 따라 문제를 해결하십시오.

Amazon EC2 Auto Scaling이 종료하거나 중지한 인스턴스 문제 해결

Amazon EC2 Auto Scaling에서는 중지된 인스턴스와 재부팅된 인스턴스를 종료합니다. 다음 메시지는 Amazon EC2 Auto Scaling이 인스턴스를 중지, 재부팅 또는 종료했음을 나타냅니다.

"An instance was taken out of service in response to an EC2 health check indicating it has been terminated or stopped"

이 문제 해결 방법에 대한 자세한 내용은 종료되거나 중지되었음을 나타내는 EC2 상태 확인에 대한 응답으로 인스턴스가 서비스 중단됨을 참조하십시오.

Amazon EC2 상태 확인에 실패한 인스턴스 문제 해결

다음 메시지는 인스턴스가 Amazon EC2 상태 확인에 실패했음을 나타냅니다.

"An instance was taken out of service in response to an EC2 instance status checks failure"

이 문제 해결 방법에 대한 자세한 내용은 Amazon EC2 인스턴스 상태 확인 실패에 대한 응답으로 인스턴스가 서비스 중단됨을 참조하십시오.

ELB 상태 확인에 실패한 인스턴스 문제 해결

그룹에 대해 ELB 상태 확인을 활성화한 경우, Amazon EC2 Auto Scaling은 ELB 상태 확인과 Amazon EC2 상태 확인을 모두 수행합니다. Amazon EC2 Auto Scaling은 두 상태 확인 중 하나라도 실패한 인스턴스를 종료합니다.

그룹에 연결된 타겟 그룹 또는 로드 밸런서가 여러 개 있는 경우, 모든 타겟 그룹과 로드 밸런서가 상태 확인을 통과해야 합니다. 그룹 내 대상 그룹 또는 로드 밸런서 중 하나라도 상태 확인에 실패하면 Amazon EC2 Auto Scaling은 인스턴스를 종료합니다.

다음 메시지는 인스턴스가 ELB 상태 확인에 실패했음을 나타냅니다.

"An instance was taken out of service in response to a ELB system health check failure"

이 문제 해결 방법에 대한 자세한 내용은 Elastic Load Balancing 시스템 상태 확인 실패에 대한 응답으로 인스턴스가 서비스 중단됨을 참조하십시오.

종료된 EC2 스팟 인스턴스 문제 해결

Amazon EC2 Auto Scaling은 용량이 부족하거나 스팟 가격이 인스턴스에 지정한 최고 가격을 초과할 때 EC2 스팟 인스턴스를 종료합니다.

다음 예와 유사한 메시지는 Amazon EC2 Auto Scaling이 인스턴스를 종료했음을 나타냅니다.

"An instance was taken out of service in response to an EC2 Spot Instance interruption notice."

이 문제의 재발을 방지하려면 다음 작업 중 하나를 수행하여 인스턴스 용량을 늘리십시오.

사용자가 종료한 인스턴스 문제 해결

다음 예와 유사한 메시지는 사용자 또는 서비스가 TerminateInstanceInAutoScalingGroup API 작업을 사용하여 인스턴스를 종료했음을 나타냅니다.

"An instance was taken out of service in response to a user request"

이 문제의 재발을 방지하려면 다음 단계를 완료하십시오.

  1. AWS CloudTrail 콘솔을 엽니다.
  2. 탐색 창에서 **Event history(이벤트 기록)**를 선택합니다.
  3. TerminateInstanceInAutoScalingGroup API 직접 호출 기록을 확인합니다.
  4. 해당 호출을 수행한 사용자 또는 서비스의 API 작업을 검토한 후, 사용자나 서비스가 인스턴스를 종료한 원인을 조사합니다.

"A user request update of AutoScalingGroup constraints" 오류 메시지 문제 해결

그룹의 제약 조건을 수동으로 업데이트하는 경우, Auto Scaling은 변경된 설정에 맞추기 위해 해당 그룹 내의 인스턴스를 종료할 수 있습니다.

다음 예와 유사한 메시지는 그룹 제약 조건을 업데이트했기 때문에 Amazon EC2 Auto Scaling이 인스턴스를 종료했음을 나타냅니다.

"A user request update of AutoScalingGroup constraints to min: 0, max: 2, desired: 1 changing the desired capacity from 2 to 1"

이 문제의 재발을 방지하려면 다음 단계를 완료하십시오.

  1. CloudTrail 콘솔을 엽니다.
  2. 탐색 창에서 **Event history(이벤트 기록)**를 선택합니다.
  3. UpdateAutoScalingGroupSetDesiredCapacity API 직접 호출 기록을 확인한 다음, 사용자가 그룹 제약 조건을 업데이트하는 호출을 수행한 원인을 조사합니다.

다른 영역과의 균형을 맞추기 위해 Amazon EC2 Auto Scaling이 종료한 인스턴스 문제 해결

기본적으로 Amazon EC2 Auto Scaling은 가용 영역에 있는 모든 인스턴스의 균형을 맞춥니다. 그룹에 새 가용 영역을 추가하면 Amazon EC2 Auto Scaling은 해당 가용 영역에 새 인스턴스를 시작합니다. Amazon EC2 Auto Scaling이 인스턴스의 리밸런싱을 수행할 때 다른 가용 영역의 인스턴스를 종료할 수 있습니다. 또한 Amazon EC2 Auto Scaling은 지정한 가용 영역에서 인스턴스를 시작할 수 없는 경우에도 가용 영역 간에 인스턴스 리밸런싱을 수행합니다.

다음 예와 유사한 메시지는 가용 영역 간 인스턴스 리밸런싱을 수행하기 위해 Amazon EC2 Auto Scaling이 인스턴스를 종료했음을 나타냅니다.

"Instances were launched to balance instances in zones us-east-1a with other zones"

이 오류가 다시 발생하지 않도록 하려면 Amazon EC2 Auto Scaling이 인스턴스를 종료한 그룹에 대해 가용 영역 리밸런싱 프로세스를 일시 중지하십시오.

중요: AZ 리밸런스 프로세스를 일시 중지하지 않는 것이 좋습니다. 해당 프로세스를 일시 중지하면 특정 가용 영역이 다른 가용 영역보다 더 많은 용량을 차지하게 되어, 결과적으로 해당 가용 영역의 가용성이 저하될 수 있습니다.

해당 프로세스를 일시 중지해야 하는 경우, 다음 단계를 완료하십시오.

  1. AWS Management Console을 엽니다.
  2. 탐색 창에서 Auto Scaling 그룹을 선택합니다.
  3. Amazon EC2 Auto Scaling이 종료한 그룹 옆의 확인란을 선택합니다. 선택하면 페이지 하단에 분할 창이 열립니다.
  4. Details(세부 정보) 탭에서 **Advanced configurations(고급 구성)**을 선택한 다음, **Edit(편집)**을 선택합니다.
  5. **Suspended processes(일시 중지된 프로세스)**에서 **AZ Rebalance(AZ 리밸런스)**를 선택합니다.
  6. **Update(업데이트)**를 선택합니다.

구매 옵션을 업데이트할 때 Amazon EC2 Auto Scaling이 종료한 인스턴스 문제 해결

업데이트된 구매 옵션 분배를 요청하면 Amazon EC2 Auto Scaling이 그룹을 리밸런싱합니다.

다음 예와 유사한 메시지는 업데이트된 구매 옵션에 맞추기 위해 Amazon EC2 Auto Scaling이 온디맨드 또는 스팟 인스턴스를 종료했음을 나타냅니다.

"An instance was taken out of service to balance the distribution of On-Demand and Spot capacities."

중요: 이 문제의 재발을 방지하려면 새 구매 옵션 분배 구성을 검토하고 수정하는 것이 좋습니다.

스케일 인 정책 이벤트를 트리거하는 모니터링 알람 문제 해결

다음 예와 유사한 메시지는 구성한 Amazon CloudWatch 알람에 대응하여 Amazon EC2 Auto Scaling이 인스턴스를 종료했음을 나타냅니다.

"A monitor alarm triggered a policy scaledown changing the desired capacity"

이 오류가 다시 발생하지 않도록 하려면 자동 조정 정책과 이 정책을 활성화한 CloudWatch 경보를 하나 또는 둘 다 수정하십시오.

그룹 용량을 변경한 그룹 정책을 수정하려면 다음 단계를 완료하십시오.

  1. AWS Management Console을 엽니다.
  2. 탐색 창에서 Auto Scaling 그룹을 선택합니다.
  3. 해당 그룹 옆의 확인란을 선택합니다.
  4. Automatic Scaling(오토 스케일링) 탭을 선택하여 정책을 확인하고 편집합니다.
  5. CloudWatch 알람이 활성화한 정책을 수정합니다.

CloudWatch 경보를 수정하려면 다음 단계를 완료하십시오.

  1. CloudWatch 콘솔을 엽니다.
  2. 탐색 창에서 **Alarms(경보)**를 선택합니다.
  3. 알람을 선택한 다음 기록(History) 탭을 선택합니다.
  4. 기록에서 알람 상태 변경 또는 알람 구성 수정을 확인합니다.
  5. 알람 상태가 변경된 경우 해당 상태 변경 시점의 지표 기록을 확인합니다. 해당 시간 내에 지표 값이 지정한 임계값보다 크거나 작게 변경되었는지 확인합니다. 지표가 변경되었다면 지표 값을 변경한 원인을 조사합니다.

사용자 지정 검사에 실패한 인스턴스 문제 해결

인스턴스가 사용자 지정 상태 확인에 실패하면 Amazon EC2 Auto Scaling은 SetInstanceHealth API 작업을 호출한 다음, 인스턴스 상태를 **Unhealthy(비정상)**로 설정합니다. 다음 실행 시 Amazon EC2 Auto Scaling에서 비정상 인스턴스를 종료합니다.

다음 예와 유사한 메시지는 인스턴스가 사용자 지정 상태 확인에 실패하여 Amazon EC2 Auto Scaling에 의해 종료되었음을 나타냅니다.

"An instance was taken out of service in response to a user health-check"

인스턴스를 종료한 사용자 지정 상태 확인을 생성한 사용자를 식별하려면 이벤트 기록에서 SetInstanceHealth API 직접 호출을 검토하십시오. 인스턴스가 상태 확인에 실패하기 전에 SetInstanceHealth API 작업을 실행한 사용자를 찾습니다.

그룹 제약 조건을 변경하는 예약된 작업 업데이트 문제 해결

예약된 작업으로 인해 그룹 용량이 감소하면 Amazon EC2 Auto Scaling은 업데이트된 용량에 맞추기 위해 하나 이상의 인스턴스를 종료합니다.

다음 예와 유사한 메시지는 예약된 작업으로 인해 그룹의 제약 조건이 감소했음을 나타냅니다.

"A scheduled action update of AutoScalingGroup constraints changed the desired capacity"

이 문제의 재발을 방지하려면 그룹 제약 조건을 감소시킨 Scheduled Actions(예약된 작업) 프로세스를 일시 중지하십시오. 일시 중지한 후, 예약된 작업 중 인스턴스를 종료하는 반복 작업이 있는지 확인하고 이를 삭제하거나 새 일정을 지정하십시오. 예약된 작업을 수정한 후에는 Scheduled Actions(예약된 작업) 프로세스를 다시 활성화해야 합니다.

관련 정보

Auto Scaling 그룹이 스케일 인된 이유는 무엇입니까?

Amazon EC2 Auto Scaling에서 비정상 인스턴스를 중지하지 않은 이유는 무엇입니까?

AWS 공식업데이트됨 6달 전