EC2Rescue CLI로 손상된 Windows 인스턴스 문제 해결

EC2Rescue CLI로 손상된 Windows 인스턴스 문제 해결 (Troubleshoot impaired Windows instance with the EC2Rescue CLI)

EC2Rescue for Windows Server 명령줄 인터페이스(CLI)를 사용하면 EC2Rescue for Windows Server 플러그인("액션"이라고 함)을 프로그래밍 방식으로 실행할 수 있어요. EC2Rescue for Windows Server 도구에는 두 가지 실행 모드가 있어요:

  • /online — EC2Rescue for Windows Server가 설치된 인스턴스에서 로그 파일 수집 같은 작업을 수행할 수 있어요.
  • /offline:<device_id> — EC2Rescue for Windows Server를 설치한 별도의 Amazon EC2 Windows 인스턴스에 연결된 오프라인 루트 볼륨에서 작업을 수행할 수 있어요.

EC2Rescue for Windows Server 도구를 Windows 인스턴스에 다운로드하고 파일을 추출하세요. 다음 명령으로 도움말 파일을 볼 수 있어요:

EC2RescueCmd.exe /help

EC2Rescue for Windows Server는 Amazon EC2 Windows 인스턴스에서 다음 작업을 수행할 수 있어요:

  • 수집(Collect) 작업
  • 복구(Rescue) 작업
  • 복원(Restore) 작업

수집 작업 (Collect action)

참고 모든 로그, 전체 로그 그룹, 또는 그룹 내 개별 로그를 수집할 수 있어요.

EC2Rescue for Windows Server는 활성 및 오프라인 인스턴스에서 다음 데이터를 수집할 수 있어요.

로그 그룹 사용 가능한 로그 설명
all 사용 가능한 모든 로그를 수집함.
eventlog 'Application', 'System', 'EC2ConfigService' 애플리케이션, 시스템, EC2Config 이벤트 로그를 수집함.
memory-dump 'Memory Dump File', 'Mini Dump Files' 인스턴스에 존재하는 모든 메모리 덤프 파일을 수집함.
ec2config 'Log Files', 'Configuration Files' EC2Config 서비스가 생성한 로그 파일을 수집함.
ec2launch 'Logs', 'Config' EC2Launch 스크립트가 생성한 로그 파일을 수집함.
ssm-agent 'Log Files', 'Patch Baseline Logs', 'InstanceData' SSM 에이전트 및 Patch Manager 로그가 생성한 로그 파일을 수집함.
sysprep 'Log Files' Windows 시스템 준비 도구가 생성한 로그 파일을 수집함.
driver-setup 'SetupAPI Log Files', 'DPInst Log File', 'AWS PV Setup Log File' Windows SetupAPI 로그(setupapi.dev.log 및 setupapi.setup.log)를 수집함.
registry 'SYSTEM', 'SOFTWARE', 'BCD' SYSTEM 및 SOFTWARE 하이브를 수집함.
egpu 'Event Log', 'System Files' 탄력적 GPU와 관련된 이벤트 로그를 수집함.
boot-config 'BCDEDIT Output' HKEY_LOCAL_MACHINE\BCD00000000 하이브를 수집함.
windows-update 'Log Files' Windows Update가 생성한 로그 파일을 수집함.

참고 Windows Server 2016 이상에서 로그는 Windows용 이벤트 추적(ETW) 형식으로 수집돼요.

로그 그룹 사용 가능한 로그 설명
cloudendure 'Migrate Script Logs', 'Driver Logs', 'CloudEndure File List' CloudEndure 에이전트와 관련된 로그 파일을 수집함.

EC2Rescue for Windows Server는 활성 인스턴스에서 다음 추가 데이터를 수집할 수 있어요.

로그 그룹 사용 가능한 로그 설명
system-info 'MSInfo32 Output' MSInfo32를 수집함.
gpresult 'GPResult Output' 그룹 정책 보고서를 수집함.

사용 가능한 옵션:

  • /output: — 필수. 수집된 로그 파일을 zip 형식으로 저장할 대상 파일 경로 위치.
  • /no-offline — 오프라인 모드에서 사용하는 선택적 속성. 작업 완료 후 볼륨을 오프라인으로 설정하지 않음.
  • /no-fix-signature — 오프라인 모드에서 사용하는 선택적 속성. 작업 완료 후 가능한 디스크 서명 충돌을 수정하지 않음.

예시 (Examples)

다음은 EC2Rescue for Windows Server CLI를 사용하는 예시예요.

온라인 모드 예시 (Online mode examples)

모든 사용 가능한 로그 수집:

EC2RescueCmd /accepteula /online /collect:all /output:<outputFilePath>

특정 로그 그룹만 수집:

EC2RescueCmd /accepteula /online /collect:ec2config /output:<outputFilePath>

로그 그룹 내 개별 로그 수집:

EC2RescueCmd /accepteula /online /collect:'ec2config.Log Files,driver-setup.SetupAPI Log Files' /output:<outputFilePath>

오프라인 모드 예시 (Offline mode examples)

EBS 볼륨에서 모든 사용 가능한 로그 수집. 볼륨은 device_id 값으로 지정돼요.

EC2RescueCmd /accepteula /offline:xvdf /collect:all /output:<outputFilePath>

특정 로그 그룹만 수집:

EC2RescueCmd /accepteula /offline:xvdf /collect:ec2config /output:<outputFilePath>

복구 작업 (Rescue action)

EC2Rescue for Windows Server는 다음 서비스 설정의 문제를 감지하고 해결할 수 있어요.

서비스 그룹 사용 가능한 작업 설명
all
system-time 'RealTimeIsUniversal' 시스템 시간. RealTimeisUniversal — RealTimeisUniversal 레지스트리 키가 활성화되었는지 감지함. 비활성화되면 표준 시간대가 UTC 이외의 값으로 설정될 때 Windows 시스템 시간이 표류하게 돼요.
firewall 'Domain networks', 'Private networks', 'Guest or public networks' Windows 방화벽. Domain networks — 이 Windows 방화벽 프로필이 활성화되었는지 비활성화되었는지 감지함. Private networks — 이 Windows 방화벽 프로필이 활성화되었는지 비활성화되었는지 감지함. Guest or public networks — 이 Windows 방화벽 프로필이 활성화되었는지 비활성화되었는지 감지함.
rdp 'Service Start', 'Remote Desktop Connections', 'TCP Port' 원격 데스크톱. Service Start — 원격 데스크톱 서비스가 활성화되었는지 감지함. Remote Desktop Connections — 활성화되었는지 감지함. TCP Port — 원격 데스크톱 서비스가 수신 대기 중인 포트를 감지함.
ec2config 'Service Start', 'Ec2SetPassword', 'Ec2HandleUserData' EC2Config. Service Start — EC2Config 서비스가 활성화되었는지 감지함. Ec2SetPassword — 새 관리자 암호를 생성함. Ec2HandleUserData — 인스턴스의 다음 부팅 시 사용자 데이터 스크립트를 실행할 수 있게 함.
ec2launch 'Reset Administrator Password' 새 Windows 관리자 암호를 생성함.
network 'DHCP Service Startup' 네트워크 인터페이스. DHCP Service Startup — DHCP 서비스가 활성화되었는지 감지함.

사용 가능한 옵션:

  • /level: — 작업이 트리거해야 하는 검사 수준에 대한 선택적 속성. 허용 값: information, warning, error, all. 기본값은 error.
  • /check-only — 보고서를 생성하지만 오프라인 볼륨을 수정하지 않는 선택적 속성.

참고 EC2Rescue for Windows Server가 가능한 디스크 서명 충돌을 감지하면 /check-only 옵션을 사용해도 기본적으로 오프라인 프로세스 완료 후 서명을 수정해요. 수정을 방지하려면 /no-fix-signature 옵션을 사용해야 해요.

  • /no-offline — 작업 완료 후 볼륨이 오프라인으로 설정되는 것을 방지하는 선택적 속성.
  • /no-fix-signature — 작업 완료 후 가능한 디스크 서명 충돌을 수정하지 않는 선택적 속성.

복구 예시 (Rescue examples)

다음은 EC2Rescue for Windows Server CLI를 사용하는 예시예요. 볼륨은 device_id 값으로 지정돼요.

볼륨에서 식별된 모든 문제 수정 시도:

EC2RescueCmd /accepteula /offline:xvdf /rescue:all

볼륨의 서비스 그룹 내 모든 문제 수정 시도:

EC2RescueCmd /accepteula /offline:xvdf /rescue:firewall

볼륨의 서비스 그룹 내 특정 항목 수정 시도:

EC2RescueCmd /accepteula /offline:xvdf /rescue:rdp.'Service Start'

볼륨에서 수정할 여러 문제 지정:

EC2RescueCmd /accepteula /offline:xvdf /rescue:'system-time.RealTimeIsUniversal,ec2config.Service Start'

복원 작업 (Restore action)

EC2Rescue for Windows Server는 다음 서비스 설정의 문제를 감지하고 해결할 수 있어요.

서비스 그룹 사용 가능한 작업 설명
lkgc 마지막으로 성공한 구성 복원(Restore Last Known Good Configuration) Last Known Good Configuration — 인스턴스를 마지막으로 부팅 가능한 상태로 부팅하려 시도함.
regback 최신 백업에서 Windows 레지스트리 복원(Restore Windows registry from latest backup) 백업에서 레지스트리 복원(Restore registry from backup) — \Windows\System32\config\RegBack에서 레지스트리를 복원함.

사용 가능한 옵션:

  • /no-offline — 작업 완료 후 볼륨이 오프라인으로 설정되는 것을 방지하는 선택적 속성.
  • /no-fix-signature — 작업 완료 후 가능한 디스크 서명 충돌을 수정하지 않는 선택적 속성.

복원 예시 (Restore examples)

다음은 EC2Rescue for Windows Server CLI를 사용하는 예시예요. 볼륨은 device_id 값으로 지정돼요.

볼륨에서 마지막으로 성공한 구성 복원:

EC2RescueCmd /accepteula /offline:xvdf /restore:lkgc

볼륨에 마지막 Windows 레지스트리 백업 복원:

EC2RescueCmd /accepteula /offline:xvdf /restore:regback

더 알아보기 (Learn more)