スキップしてコンテンツを表示

EC2 Windows 인스턴스 상태체크 실패 시 해결 방안 (네트워크 아이콘이 X, 부팅X)

所要時間4分
コンテンツレベル: 中級
0

인스턴스 타입을 변경하거나 윈도우 버전 업그레이드 이후 네트워크 아이콘이 X 또는 느낌표가 발생하여 네트워크가 되지 않을때 트러블 슈팅방안을 소개합니다.

EC2 Windows를 운영 중 Windows를 버전 업그레이드 하거나 인스턴스 타입을 변경 후 또는 특정 작업이나 프로그램 설치 이후 네트워크가 되지 않을 수 있습니다. 이때 EC2 콘솔에서 해당 인스턴스의 스크린 샷 화면을 확인하면 네트워크 아이콘이 X로 표기되거나 느낌표가 떠 있습니다. 이때 시도 해볼 수 있는 트러블 슈팅방안을 소개하려고 합니다.

1. 새로운 네트워크 인터페이스를 추가

중복IP 문제(수동으로 IP맵핑) 또는 네트워크 드라이버 문제가 있을 수 있습니다. 이때 손쉽게 해볼수 있는 방안이 새로운 네트워크 인터페이스를 추가하는 방법입니다. 이때 OS에서는 새로운 하드웨어를 인지하고 DHCP서버로 부터 새로 IP를 부여하게 됩니다. 이러면 새로 부여 받은 IP로 네트워크 사용이 가능하고 RDP로 접속 후 트러블 슈팅이 가능합니다.

2. 오프라인 모드로 전환 후 네트워크 드라이버 설치

위의 방법으로 되지 않을 때 네트워크 드라이버를 새로 설치 해볼 수 있습니다. 다만 RDP로 접속이 되지 않은 상태이기에 아래와 같이 헬프 인스턴스를 한개 더 런치후 트러블 슈팅을 진행 할 수 있습니다.

2.1 같은 서브넷에 네트워크가 되지 않는 인스턴스와 OS버전이 다른 인스턴스를 생성합니다. 이 다른 인스턴스를 헬프 인스턴스로 부르도록 하겠습니다.

2.2 네트워크에 문제가 있는 인스턴스의 루트볼륨을 떼어낸 뒤 헬퍼 인스턴스에 붙입니다.

2.3 헬퍼 인스턴스로 로그인한뒤 네트워크에 문제가 있는 인스턴스의 루트볼륨을 D:\로 활성화 합니다.

2.4 D:\Windows\System32\DriverStore\FileRepository\ena.inf_*를 삭제합니다.

2.5 아래의 명령어로 문제가 있는 인스턴스 볼륨에서 Original File Name : ena.inf 인 Published Name를 확인합니다.

     Dism /image:d: /get-drivers

여기에 이미지 설명 입력

2.6 Dism /Image:D: /Remove-Driver /Driver:----.inf { Replace ---- with Publish name } 로 ena드라이버를 모두 삭제합니다.

여기에 이미지 설명 입력

2.7 C:\temp\ 에 ENA driver 최신버전을 다운받은 후 압축을 풉니다. (파워쉘 명령어 사용 또는 해당 URL에서 직접 다운로드)

invoke-webrequest https://ec2-windows-drivers-downloads.s3.amazonaws.com/ENA/Latest/AwsEnaNetworkDriver.zip -outfile C:\temp\AwsEnaNetworkDriver.zip

2.8 아래의 명령어로 ena.inf 파일을 설치합니다.

Dism.exe /Image:D:\ /add-driver /driver:C:\temp\AwsEnaNetworkDriver/ena.inf

여기에 이미지 설명 입력

2.9 헬퍼 인스턴스에서 문제가 있는 인스턴스의 루트볼륨을 떼어낸뒤 /dev/sda1 으로 원복후 네트워크가 정상적으로 동작하는 지 확인합니다.

3. 오프라인모드에서 ENA드라이버를 설치 후에도 비정상적일 시 시리얼 모드를 활성화 후 네트워크 드라이버를 설치

3.1 같은 서브넷에 네트워크가 되지 않는 인스턴스와 OS버전이 다른 인스턴스를 생성합니다. 이 다른 인스턴스를 헬프 인스턴스로 부르도록 하겠습니다.

3.2 네트워크에 문제가 있는 인스턴스의 루트볼륨을 떼어낸 뒤 헬퍼 인스턴스에 붙입니다.

3.3 헬퍼 인스턴스로 로그인한뒤 네트워크에 문제가 있는 인스턴스의 루트볼륨을 D:\로 활성화 합니다. 이후 D:\temp 에 ENA드라이버를 다운로드 후 압축을 풀어 줍니다.

3.4 아래의 명렁어를 통해 문제가 있는 인스턴스의 시리얼 콘솔을 Enable합니다.

bcdedit /store D:\Boot\BCD /ems {default} on

bcdedit /store D:\Boot\BCD /emssettings EMSPORT:1 EMSBAUDRATE:115200

bcdedit /store D:\Boot\BCD /set {bootmgr} displaybootmenu yes

bcdedit /store D:\Boot\BCD /set {bootmgr} timeout 15

bcdedit /store D:\Boot\BCD /set {bootmgr} bootems yes

여기에 이미지 설명 입력

3.5 헬퍼 인스턴스에서 regedit를 실행합니다. HKEY_LOCAL_MACHINE 을 클릭하신 뒤 상단 메뉴의 File - Load Hive를 순서대로 선택합니다. ( 윈도우 서비스 중 'Special Administration Console Helper' 를 시작)

여기에 이미지 설명 입력

3.6 "D:\Windows\System32\config\SYSTEM" 파일을 선택 후 임시로 키 네임을 'temp'로 명명합니다.

여기에 이미지 설명 입력

3.7 이제 temp 키가 HKEY_LOCAL_MACHINE 하위에 로드된 것을 확인하실 수 있습니다. 'temp\ControlSet001\Services\sacsvr' 위치로 이동합니다.

3.8 start 라는 REG_DWORD 값을 확인됩니다. 해당 값을 더블클릭 후 '2'으로 저장하고 OK를 눌러 저장합니다.

여기에 이미지 설명 입력

3.9 HKEY_LOCAL_MACHINE 하위의 temp 키를 다시 마우스로 선택합니다. 그후 상단 메뉴의 File - Unload Hive를 순서대로 선택합니다.

3.10 "Are you sure you wawnt to unload the current key and all of its subkeys? 라는 메시지 박스에서 Yes를 눌러 Unload를 완료합니다.

3.11 헬퍼 인스턴스에서 문제가 있는 인스턴스의 루트볼륨을 떼어낸뒤 /dev/sda1 으로 원복합니다.

3.12 .인스턴스로 부팅 후 Serial Console로 접속되는지 확인합니다. (EC2 콘솔)

접속이 되면 SAC> 화면이 보이고 CMD를 입력 뒤 ESC키를 누르고 TAB을 누른 후 사용자 인증을 하면 CMD창으로 넘어가는 것을 확인합니다.

위의 안내사항은 Serial Console를 사용하기 위한 OS적인 조치사항이며 권한 및 요구사항 관련은 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-serial-console.html 문서를 참고하시기 바랍니다.)

3.13 CMD창에서 powershell.exe를 입력하면 파워쉘 명령어 화면으로 변경됩니다.

3.14 Get-NetAdapter 를 입력하면 아무런 결과값이 없음을 확인합니다.

3.15 cd C:\Temp\AwsEnaNetworkDriver 로 이동합니다. (이전 ENA드라이버 다운로드 폴더)

여기에 이미지 설명 입력

3.16 .\install.ps1 으로 드라이버를 인스톨 합니다.

여기에 이미지 설명 입력

3.17 Get-NetAdapter 하면 AWS 네트워크 드라이버가 up으로 표시되는지 확인합니다.

여기에 이미지 설명 입력

3.18 드라이버 인스톨이 정상적으로 되면 EC2 대시보드에서 해당 인스턴스 >Actions>Monitor and troubleshoot > Get instance screenshot를 하면 오른쪽하단의 X로 표시되었던 네트워크 아이콘이 정상적으로 표기됩니다.

3.19 이후 5분이내에 인스턴스 상태체크가 정상적으로 표시됨을 확인합니다.

위의 방법은 EC2 Windows에 네트워크가 되지 않아 네트워크 드라이버를 재설치 하는 방법입니다. 추가 확인이 필요 할 시에는 지원 센터에 연락 하는 방법을 권장드리며, 작업 전 반드시 스냅샷을 찍고 진행하시길 바랍니다.

AWS
サポートエンジニア
公開済み 5ヶ月前76ビュー
コメントはありません

関連するコンテンツ