Amazon Elastic Cloud Compute(Amazon EC2)에서 실행되는 Amazon Elastic Container Service(Amazon ECS) 컨테이너 인스턴스가 예기치 않게 종료되었습니다.
해결 방법
인스턴스 종료 원인을 확인하려면 AWS CloudTrail 이벤트에서 TerminateInstances API 직접 호출을 검토하십시오. 이벤트 세부 정보에서 API를 간접 호출한 AWS Identity and Access Management(IAM) 사용자 또는 역할에 대한 userAgent 값을 기록해 두십시오. SourceIPaddress, eventTime, errorCode 및 errorMessage 값도 기록하십시오.
인스턴스 종료 문제의 원인에 따라 다음과 같은 문제 해결 작업을 수행하십시오.
지표에서 상태 확인 문제 검토
종료된 인스턴스에 대한 Amazon CloudWatch 지표의 CPUUtilization 및 StatusCheckFailed_Instance를 확인하십시오. 이상 징후로 성능 문제나 하드웨어 결함이 드러날 수 있습니다. 자세한 내용은 Amazon EC2 인스턴스 상태 확인을 참조하십시오. CloudWatch Container Insights를 활성화한 경우 Container Insights 지표도 확인하십시오.
인스턴스 로그를 확인하여 인스턴스에 네트워크 연결, 메모리 부족 또는 기타 기본 문제가 있는지 확인하십시오. 리소스 사용량이 많으면 인스턴스 종료 문제가 발생할 수 있습니다. 워크로드 요구 사항에 따라 컨테이너 인스턴스 유형의 크기를 조정하십시오.
Auto Scaling 기록에서 문제 확인
Amazon EC2 Auto Scaling 그룹 활동 기록을 확인하여 예약된 EC2 Auto Scaling 이벤트로 인해 인스턴스가 종료되었는지 확인하십시오. 예상치 못한 Auto Scaling 작업이 있었던 경우 Auto Scaling 구성, 스케일링 정책 및 임계값을 확인하십시오.
예기치 않은 인스턴스 종료를 방지하려면 관리형 종료 보호를 사용하여 실행 중인 작업이 포함된 Amazon ECS 컨테이너 인스턴스를 보존하십시오.
인스턴스에 대한 종료 보호를 활성화하여 우발적인 종료를 방지할 수 있습니다. 종료 보호를 활성화했지만 여전히 문제가 발생하는 경우 Amazon ECS의 용량 공급자 오류에 대한 관리형 종료 보호 설정 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.
스팟 인스턴스 중단 확인
클러스터에 스팟 인스턴스를 사용하는 경우 스팟 인스턴스가 종료 또는 중단된 이유를 확인하십시오. Amazon EC2에서 스팟 인스턴스를 종료했는지 여부를 확인하십시오. Amazon EC2가 스팟 인스턴스를 중단한 경우 중단 2분 전에 알림을 수신합니다.
중단할 수 없는 중요한 워크로드가 있는 애플리케이션에는 온디맨드 인스턴스를 사용하는 것이 좋습니다.
인스턴스에 대한 모니터링 설정
CloudWatch 경보를 생성하여 인스턴스가 자동으로 중지, 종료, 재부팅 또는 복구되는 시점을 모니터링하여 문제를 사전에 식별하십시오. 또한 CPUUtilization, DiskReadOps, DiskWriteOps, NetworkIn 또는 NetworkOut 등과 같은 중요한 지표에 대한 CloudWatch 경보도 생성하십시오.
Amazon Simple Notification Service(Amazon SNS) 및 Amazon EventBridge를 사용하여 중지, 종료 및 상태 확인 실패와 같은 인스턴스 상태 변경 알림을 수신하십시오. 인스턴스의 상태가 변경될 때 이메일을 보내는 경보를 생성할 수도 있습니다.
클러스터, 인스턴스, 서비스 및 작업 수준에서 지표를 수집하려면 Container Insights를 설정하십시오.
고가용성 설정
스프레드 및 빈팩 작업과 같은 작업 배치 전략을 사용하여 하나의 인스턴스에 너무 많은 작업이 집중되지 않도록 하십시오.
또한 컨테이너 인스턴스를 여러 가용 영역에 분산하여 우발적인 인스턴스 종료가 미치는 영향을 줄이십시오. 자세한 내용은 Amazon ECS 가용성 모범 사례를 참조하십시오.