EC2 Windows 인스턴스 상태체크 실패 1/2의 원인 및 해결 방법

3분 분량
콘텐츠 수준: 중급
0

본 기사는 인스턴스 상태 체크가 1/2 로 실패될 경우 발생할 수 있는 원인과 해결 방법에 대해 설명합니다.

인스턴스의 상태체크 실패가 1/2이 되었다면 먼저 인스턴스 상태체크가 무엇인지 이해할 필요가 있습니다.

링크 [1]에 의하면 인스턴스 상태체크는 인스턴스의 네트워크 인터페이스로 ARP ping을 전송하여 응답이 오는지 확인하는 것으로, 응답이 오면 통과, 응답이 오지 않으면 실패되는 것입니다.

ARP에 응답할 수 없는 경우는 다음과 같은 원인이 있습니다. 자세한 내용은 링크 [1]을 참고해주세요.

1. CPU가 100%까지 spike된 경우 혹은 네트워크 트래픽이 일시적으로 spike된 경우

가용한 CPU 를 모두 소진함으로써 ARP에 응답하지 못할 수 있습니다.
또한 네트워크 트래픽이 몰리는 경우 ARP에 일시적으로 응답하지 못할 수 있습니다.

2. Network interface issue

인스턴스의 네트워크 인터페이스가 손상되는 경우, ARP에 응답하지 못할 수 있습니다.

3. OS 레벨의 이슈

OS 레벨에 손상이 있는 경우 ARP에 응답하지 못할 수 있습니다.

위 세가지 중 어떤 원인에 해당하는지 확인할 필요가 있습니다.

이를 위해 다음 사항을 확인합니다.

  1. CloudWatch Metric 중 CPUUtilization이 100%가 되었는지 확인합니다.

    NetworkIn 메트릭과 NetworkOut 메트릭이 일시적으로 크게 증가하였는지 확인합니다.

  2. EC2 콘솔 > 인스턴스 선택 후 Actions > Monitor and troubleshoot > Get instance screenshot 을 클릭합니다.

    instance screenshot을 통해 인스턴스가 성공적으로 부팅이 된 상태인지 혹은 네트워크 인터페이스에 이상이 있는지 등을 확인할 수 있습니다.

    만약 스크린샷이 다음과 같다면 네트워크 인터페이스에 이상이 있는 것으로 추측할 수 있습니다. 이 경우는 해결방법 1을 참고하세요.

    Enter image description here

    만약 스크린샷이 성공적으로 부팅된 화면이 아니라면 OS 이슈일 수 있습니다. 이 경우는 해결방법 2를 참고하세요.

    참고로, 성공적으로 부팅된 화면은 다음과 같습니다.

    Enter image description here

해결 방법

  1. 네트워크 인터페이스의 문제인 경우 새 네트워크 인터페이스를 해당 인스턴스에 부착하여 이 문제를 해결할 수 있습니다.

    a. 문제가 발생하는 인스턴스와 동일 가용 영역에 ENI를 생성합니다.

    b. 생성한 ENI를 인스턴스에 연결하고 10분 정도 기다린 뒤 인스턴스 상태 체크가 통과되는지 확인합니다.

    c. 인스턴스 상태 체크가 통과되는 경우 추가한 ENI를 통해 RDP로 연결을 시도합니다.

    d. RDP 연결에 성공하면 기존에 구성된 네트워크 인터페이스 구성을 확인합니다.

  2. OS 레벨의 이슈로 의심되는 경우 EC2Rescue를 통해 손상된 시스템 파일 등을 복구하여 이 문제를 해결할 수 있습니다.

    a. 문제가 발생하는 인스턴스와 동일한 가용 영역에 새로운 Windows 테스트 인스턴스를 생성합니다.

    b. 기존 인스턴스를 중지하고, 루트볼륨을 detach합니다.

    c. 해당 볼륨을 테스트 인스턴스에 유저볼륨으로 attach합니다.

    d. 테스트 인스턴스에 RDP로 연결하여 EC2Rescue 를 다운로드 받습니다. [2]

    e. EC2Rescue를 실행하여 Offline Instance > Diagnose and Rescue > Select all 을 클릭 후 rescue를 선택합니다.

    f. 유저볼륨을 다시 detach하여 원본 인스턴스에 루트볼륨으로 (/dev/sda1)으로 부착 후 부팅을 시도하고 상태체크가 통과되는지 확인합니다.

이외에도 자세한 인스턴스 스크린샷 종류 별 트러블슈팅 방법은 링크 [3]을 참고하시기 바랍니다.

References

[1] Status checks for your instances - Instance status checks - https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitoring-system-instance-status-check.html#instance-status-checks

[2] https://s3.amazonaws.com/ec2rescue/windows/EC2Rescue_latest.zip?x-download-source=docs

[3] Troubleshoot an unreachable instance - Common screenshots - https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/troubleshoot-unreachable-instance.html#ics-common

profile pictureAWS
지원 엔지니어
MinJu_K
게시됨 3달 전215회 조회