본문 바로가기

⭐ AWS/EC2

EC2 인스턴스 상태검사 실패

# 가끔 아래와 같은 알람이 발생하고, 실제 EC2 인스턴스를 확인해보면 상태 검사 실패라는 현상을 보게 된다.

- 와탭에서 인스턴스의 상태가 실패했다고 알려주는 알람.

- 실제 인스턴스의 상태 : 상태 검사에 실패한 모습이다.

- 구글링으로 AWS 공식 문서에서 위의 문제를 보면(AWS 공식문서 발췌) 아래의 더보기 클릭하여 공식문서 내용 확인

더보기

인스턴스 상태 확인

인스턴스 상태 확인 실패는 인스턴스의 연결 가능성에 문제가 있음을 나타냅니다. 이 문제는 다음과 같은 운영 체제 수준 오류로 인해 발생합니다.

  • 운영 체제 부팅 실패
  • 올바른 볼륨 탑재 실패
  • CPU 및 메모리 소진
  • 커널 패닉

경고: 다음 해결 방법 중 일부에서는 인스턴스를 중지하고 시작해야 합니다. 인스턴스를 중지하고 시작하기 전에 다음 사항에 유의하세요.

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

자세한 내용은 인스턴스 중지 및 시작 - 개요를 참조하세요.

- 아마 EC2 인스턴스를 중지 > 재시작 하면 정상적으로 올리오지 않을까 생각 된다.

- CloudWatch > 경보 상태를 보면 2개의 경보가 올라와 있는것을 확인 할 수있다.
- 시간순으로 보면 아래의 CPU 사용률 >= 95 가 먼저 발생한 것으로 보아, 해당 인스턴스 상태 실패현상은 CPU의 과다한 사용으로 인해 발생한것으로 추정할 수 있다.

- 그렇다면 CloudWatch에서 CPU의 지표를 시간순으로 확인해 보자.
- 확인해 보니 역시, 해당 인스턴스의 CPU 사용량이 내려가지 않고 일정시간 부터 99.9%에 가깝게 사용하고 있는것을 볼 수 있다. 

- 중지 후 재시작으로 인스턴스 재부팅 수행
- 상태검사 실패 후 인스턴스를 중지하게 되면, 일반적인 상태의 인스턴스 중지 시간보다 많은 시간이 걸린다.
- 또한 인스턴스 유형자체가 고사양 및 용량이 클 수록 중지 후 재시작 시간에 많은 시간이 소요된다.

- 중지됨 으로 변경, 중지 됨으로 변경 상태에서 다시 인스턴스 시작을 클릭하여 재시작을 수행하자.
- 정상적으로 시작이 되면, 인스턴스의 상태가 대기중으로 변경되고, 정상적으로 load 시 실행중으로 상태가 변경 된다.

- 정상적으로 EC2 인스턴스가 load 되었으면 아래와 같이 상태 검사를 새로 진행 후 인스턴스의 이상유무를 다시 확인한다.

- 결론은 해당 InstaceFail 과 관련된 알람은 CPU 사용량이 100%에 근접하게 사용됨으로써 부하가 발생, 인스턴스가 제 역할을 하지 못하는 상태가 된 것이라고 볼 수 있다. (경보 상태에서는 SSH도 붙지않고, 어떤 작업도 이루어 지지 않을것으로 판단, 인스턴스 강제 중지 > 시작으로 재시작으로 문제를 해결할 수 있다.)

- 끝 - 

'⭐ AWS > EC2' 카테고리의 다른 글

Launch templates 역할  (0) 2021.12.22
CreditBalance  (0) 2021.12.09
EC2 우분투에 Wordpress 설치  (0) 2021.10.26
EC2 생성  (0) 2021.10.24
부하를 통한 EC2 인스턴스 상태변화 감지  (0) 2021.06.10