EC2 Linux 인스턴스에 연결할 수 없고 상태 확인 중 하나 또는 둘 다에 실패하는 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 6월 2일

Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스에 연결할 수 없어 상태 확인 중 하나 또는 둘 다에 실패합니다. 상태 확인 실패 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Amazon EC2는 두 가지 상태 확인을 통해 각 EC2 인스턴스 상태를 모니터링합니다.

시스템 상태 확인: 시스템 상태 확인은 인스턴스가 실행되는 기본 호스트에서의 문제를 탐지합니다. 네트워크, 하드웨어 또는 소프트웨어 문제로 인해 기본 호스트가 응답하지 않거나 이에 연결할 수 없는 경우 이 상태 확인에 실패합니다.

인스턴스 상태 확인: 인스턴스 상태 확인 실패는 다음과 같은 운영 체제 수준 오류로 인해 인스턴스에 문제가 있음을 나타냅니다.

  • 운영 체제 부팅 실패
  • 올바른 볼륨 마운트 실패
  • 파일 시스템 문제
  • 호환되지 않는 드라이버
  • 커널 패닉

인스턴스 리소스의 과다 사용에 의한 심각한 메모리 압력으로 인해 인스턴스 상태 확인이 실패할 수도 있습니다.

​해결 방법

인스턴스의 상태 확인 지표를 보고 인스턴스가 시스템 상태 확인 또는 인스턴스 상태 확인에 실패했는지 확인합니다.

시스템 상태 확인에 실패한 경우 인스턴스에서 시스템 상태 확인에 실패했습니다. 이 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

인스턴스 상태 확인에 실패한 경우 부팅 오류 또는 인스턴스 리소스의 과다 사용으로 인한 운영 체제 수준 문제가 원인일 수 있습니다. 인스턴스의 시스템 로그에 오류가 있는지 확인하십시오. 다음은 시스템 로그에 표시될 수 있는 일반적인 오류입니다.

부팅 오류

시스템 로그에 부팅 오류가 있는 경우 EC2 Linux 인스턴스가 운영 체제 문제로 인해 인스턴스 상태 확인에 실패했습니다. 이 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

메모리 소진 또는 디스크 가득 참 오류

시스템 로그에 메모리 소진 또는 디스크 가득 참 오류가 포함되어 있는 경우 루트 디바이스가 가득 찼기 때문에 인스턴스가 비상 모드로 전환되었을 수 있습니다. 이 문제를 해결하는 방법에 대한 지침은 EC2 Linux 인스턴스가 리소스 과다 사용으로 인해 인스턴스 상태 확인에 실패했습니다. 이 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

CPU 사용량 스파이크

시스템 로그에 디스크 가득 참 오류가 포함되어 있지 않으면 인스턴스의 CPUUtilization 지표를 확인하십시오. CPUUtilization 지표가 100%이거나 100%에 가까운 경우 인스턴스에 커널을 실행하기에 충분한 컴퓨팅 파워가 없는 것일 수 있습니다.

T2 또는 T3 인스턴스의 경우 CloudWatch 지표 표에서 CPU 크레딧 지표를 확인하여 CPU 크레딧이 0이거나 0에 가까운지 확인합니다. CPU 크레딧이 0인 경우 CPUUtilization 지표에서 포화도 상태가 인스턴스의 기준 성능으로 표시됩니다. 기준 성능은 인스턴스 유형에 따라 20%, 40% 등이 될 수 있습니다.

CloudWatch 지표에서 CPU 사용률이 100% 또는 거의 100%로 표시되거나 T2 또는 T3 인스턴스의 포화도 상태로 표시되는 경우 인스턴스 리소스의 과다 사용으로 인해 상태 확인이 실패한 것을 나타냅니다. 이 문제를 해결하는 방법에 대한 지침은 EC2 Linux 인스턴스가 리소스 과다 사용으로 인해 인스턴스 상태 확인에 실패했습니다. 이 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

블록 디바이스 오류, 소프트웨어 버그 또는 기타 메모리 오류

경고: 인스턴스를 중지하고 시작하기 전에 다음을 이해해야 합니다.

  • 인스턴스를 중지했다가 시작하면 인스턴스 스토어 데이터가 손실됩니다. 사용하는 인스턴스가 인스턴스 스토어 지원 인스턴스이거나 인스턴스에 데이터가 포함된 인스턴스 스토어 볼륨이 있으면 인스턴스 중지 시 데이터가 손실됩니다. 자세한 내용은 인스턴스의 루트 디바이스 유형 확인을 참조하십시오.
  • 인스턴스가 Amazon EC2 Auto Scaling 그룹의 일부인 경우 인스턴스를 중지하면 인스턴스가 종료될 수 있습니다. Amazon EMR, AWS CloudFormation 또는 AWS Elastic Beanstalk를 사용하여 인스턴스를 시작한 경우 인스턴스가 AWS Auto Scaling 그룹의 일부일 수 있습니다. 이 시나리오에서 인스턴스 종료는 Auto Scaling 그룹에 대한 인스턴스 축소 보호 설정에 따라 달라집니다. 인스턴스가 Auto Scaling 그룹의 일부인 경우, 문제 해결 단계를 시작하기 전에 Auto Scaling 그룹에서 일시적으로 인스턴스 제거합니다.
  • 인스턴스를 중지했다가 시작하면 인스턴스의 퍼블릭 IP 주소가 변경됩니다. 외부 트래픽을 인스턴스로 라우팅할 때는 퍼블릭 IP 주소 대신 탄력적 IP 주소를 사용하는 것이 가장 좋습니다. Route 53를 사용하는 경우 퍼블릭 IP가 변경될 때 Route 53 DNS 레코드를 업데이트해야 할 수 있습니다.
  • 인스턴스의 종료 동작이 종료로 설정된 경우 중지 시 인스턴스가 종료됩니다. 이를 방지하려면 인스턴스 종료 동작을 변경하면 됩니다.

블록 디바이스 오류, 소프트웨어 버그 또는 비정상적인 시스템 문제로 인해 비정상적인 CPU 사용량 스파이크가 발생할 수 있습니다. CPUUtilization 지표가 100%이고 시스템 로그에 블록 디바이스, 메모리 문제 또는 기타 비정상적인 시스템 오류와 관련된 오류가 포함되어 있는 경우 인스턴스를 재부팅하거나 중지하고 인스턴스를 시작합니다.