Amazon EC2 Windows 인스턴스 시작 문제 트러블슈팅
Amazon EC2 Windows 인스턴스 시작 문제 트러블슈팅
다음은 Amazon EC2 Windows 인스턴스의 비밀번호 및 활성화 문제를 해결하는 데 도움이 되는 트러블슈팅 팁이에요.
출처: 문서
본문
문제 (Issues)
- "Password is not available"
- "Password not available yet"
- "Cannot retrieve Windows password"
- "Waiting for the metadata service"
- "Unable to activate Windows"
- "Windows is not genuine (0x80070005)"
- "No Terminal Server License Servers available to provide a license"
- "Some settings are managed by your organization"
"Password is not available"
원격 데스크톱으로 Windows 인스턴스에 연결하려면 계정과 비밀번호를 지정해야 해요. 제공되는 계정과 비밀번호는 인스턴스를 실행하는 데 사용한 AMI를 기반으로 합니다. 자동 생성된 Administrator 계정 비밀번호를 검색하거나, AMI가 만들어진 원본 인스턴스에서 사용 중이던 계정과 비밀번호를 사용할 수 있어요.
커스텀 Windows AMI로 실행된 인스턴스에 대해 Administrator 계정 비밀번호를 생성할 수 있습니다. 비밀번호를 생성하려면 AMI를 만들기 전에 운영 체제에서 일부 설정을 구성해야 해요. 자세한 내용은 Create an Amazon EBS-backed AMI 문서를 참고하세요.
Windows 인스턴스가 무작위 비밀번호를 생성하도록 구성되지 않은 경우, 콘솔에서 자동 생성된 비밀번호를 검색할 때 다음 메시지를 받게 됩니다.
Password is not available. The instance was launched from a custom AMI, or the default password has changed. A password cannot be retrieved for this instance. If you have forgotten your password, you can reset it using the Amazon EC2 configuration service. For more information, see Passwords for a Windows Server instance.
인스턴스의 콘솔 출력을 확인해 실행에 사용한 AMI가 비밀번호 생성이 비활성화된 채 만들어졌는지 확인하세요. 비밀번호 생성이 비활성화되어 있으면 콘솔 출력에 다음이 포함됩니다.
Ec2SetPassword: Disabled
비밀번호 생성이 비활성화되어 있고 원본 인스턴스의 비밀번호가 기억나지 않는다면, 이 인스턴스의 비밀번호를 재설정할 수 있어요. 자세한 내용은 Reset the Windows administrator password for an Amazon EC2 Windows instance 문서를 참고하세요.
"Password not available yet"
원격 데스크톱으로 Windows 인스턴스에 연결하려면 계정과 비밀번호를 지정해야 해요. 제공되는 계정과 비밀번호는 인스턴스를 실행하는 데 사용한 AMI를 기반으로 합니다. 자동 생성된 Administrator 계정 비밀번호를 검색하거나, AMI가 만들어진 원본 인스턴스에서 사용 중이던 계정과 비밀번호를 사용할 수 있어요.
비밀번호는 몇 분 안에 사용할 수 있어야 합니다. 비밀번호를 사용할 수 없으면 콘솔에서 자동 생성된 비밀번호를 검색할 때 다음 메시지를 받게 됩니다.
Password not available yet. Please wait at least 4 minutes after launching an instance before trying to retrieve the auto-generated password.
4분이 지났는데도 여전히 비밀번호를 얻을 수 없다면, 인스턴스의 실행 에이전트가 비밀번호를 생성하도록 구성되지 않았을 수 있어요. 콘솔 출력이 비어 있는지 확인해 이를 검증해 보세요. 자세한 내용은 Unable to get console output 문서를 참고하세요.
또한 Management Portal에 접근하는 데 사용하는 AWS Identity and Access Management(IAM) 계정에 ec2:GetPasswordData 작업이 허용되어 있는지도 확인하세요. IAM 권한에 대한 자세한 내용은 What is IAM? 문서를 참고하세요.
"Cannot retrieve Windows password"
Administrator 계정의 자동 생성된 비밀번호를 검색하려면 인스턴스 실행 시 지정한 키 페어의 프라이빗 키를 사용해야 해요. 인스턴스 실행 시 키 페어를 지정하지 않았다면 다음 메시지를 받게 됩니다.
Cannot retrieve Windows password
이 인스턴스를 종료하고 같은 AMI를 사용해 키 페어를 지정해 새 인스턴스를 실행할 수 있어요.
"Waiting for the metadata service"
Windows 인스턴스는 자체적으로 활성화되기 전에 인스턴스 메타데이터에서 정보를 얻어야 합니다. 기본적으로 WaitForMetaDataAvailable 설정은 EC2Config 서비스가 인스턴스 메타데이터에 접근할 수 있을 때까지 부팅 프로세스를 계속하기 전에 기다리도록 보장합니다. 자세한 내용은 Use instance metadata to manage your EC2 instance 문서를 참고하세요.
인스턴스가 인스턴스 연결 가능성 테스트(instance reachability test)를 실패한다면 다음을 시도해 이 문제를 해결하세요.
- VPC의 CIDR 블록을 확인하세요.
224.0.0.0~255.255.255.255(Class D 및 Class E IP 주소 범위)의 IP 주소 범위를 가진 VPC에서 실행되면 Windows 인스턴스는 올바르게 부팅할 수 없습니다. 이 IP 주소 범위는 예약되어 있으며 호스트 장치에 할당해서는 안 됩니다. RFC 1918에 지정된 사설(공개적으로 라우팅되지 않는) IP 주소 범위의 CIDR 블록으로 VPC를 만들 것을 권장합니다. - 시스템이 고정 IP 주소로 구성되었을 수 있어요. 네트워크 인터페이스를 만들어 인스턴스에 연결해 보세요.
- 연결할 수 없는 Windows 인스턴스에서 DHCP를 활성화하려면
- 영향을 받는 인스턴스를 중지하고 루트 볼륨을 분리합니다.
- 영향을 받는 인스턴스와 같은 가용 영역에서 임시 인스턴스를 실행합니다.
경고: 임시 인스턴스가 원본 인스턴스와 같은 AMI를 기반으로 한다면, 추가 단계를 완료하지 않으면 **디스크 서명 충돌(disk signature collision)**로 인해 루트 볼륨을 복원한 후 원본 인스턴스를 부팅할 수 없어요. 또는 임시 인스턴스에 다른 AMI를 선택하세요. 예를 들어 원본 인스턴스가 Windows Server 2016용 AWS Windows AMI를 사용한다면, Windows Server 2019용 AWS Windows AMI로 임시 인스턴스를 실행하세요.
- 영향을 받는 인스턴스의 루트 볼륨을 이 임시 인스턴스에 연결합니다. 임시 인스턴스에 연결하고 Disk Management 유틸리티를 열어 드라이브를 온라인 상태로 만듭니다.
- 임시 인스턴스에서 Regedit을 열고
HKEY_LOCAL_MACHINE을 선택합니다. File 메뉴에서 Load Hive를 선택합니다. 드라이브를 선택하고Windows\System32\config\SYSTEM파일을 연 다음, 프롬프트가 표시되면 키 이름을 지정합니다(아무 이름이나 사용 가능). - 방금 로드한 키를 선택하고
ControlSet001\Services\Tcpip\Parameters\Interfaces로 이동합니다. 각 네트워크 인터페이스는 GUID로 나열됩니다. 올바른 네트워크 인터페이스를 선택합니다. DHCP가 비활성화되고 고정 IP 주소가 할당된 경우EnableDHCP가 0으로 설정됩니다. DHCP를 활성화하려면EnableDHCP를 1로 설정하고, 존재한다면 다음 키를 삭제합니다:NameServer,SubnetMask,IPAddress,DefaultGateway. 키를 다시 선택하고 File 메뉴에서 Unload Hive를 선택합니다.참고: 네트워크 인터페이스가 여러 개라면 DHCP를 활성화할 올바른 인터페이스를 식별해야 해요. 올바른 네트워크 인터페이스를 식별하려면
NameServer,SubnetMask,IPAddress,DefaultGateway키 값을 검토하세요. 이 값들은 이전 인스턴스의 고정 구성을 표시합니다. - (선택 사항) DHCP가 이미 활성화되어 있다면 메타데이터 서비스로 가는 경로가 없을 수 있어요. EC2Config를 업데이트하면 이 문제를 해결할 수 있습니다.
- 최신 버전의 EC2Config 서비스를 다운로드해 설치합니다. 이 서비스 설치에 대한 자세한 내용은 Install the latest version of EC2Config 문서를 참고하세요.
.zip파일의 파일을 연결한 드라이브의 Temp 디렉터리에 압축 해제합니다.- Regedit을 열고
HKEY_LOCAL_MACHINE을 선택합니다. File 메뉴에서 Load Hive를 선택합니다. 드라이브를 선택하고Windows\System32\config\SOFTWARE파일을 연 다음, 프롬프트가 표시되면 키 이름을 지정합니다(아무 이름이나 사용 가능). - 방금 로드한 키를 선택하고
Microsoft\Windows\CurrentVersion으로 이동합니다. RunOnce 키를 선택합니다. (이 키가 없으면CurrentVersion을 오른쪽 클릭하고 New를 가리킨 다음 Key를 선택하고 키 이름을RunOnce로 지정합니다.) 상황(오른쪽 클릭) 메뉴를 열고 New를 가리킨 다음 String Value를 선택합니다. 이름으로Ec2Install을, 데이터로C:\Temp\Ec2Install.exe -q를 입력합니다. - 키를 다시 선택하고 File 메뉴에서 Unload Hive를 선택합니다.
- (선택 사항) 임시 인스턴스가 원본 인스턴스와 같은 AMI를 기반으로 한다면, 다음 단계를 완료하지 않으면 루트 볼륨을 복원한 후 디스크 서명 충돌로 인해 원본 인스턴스를 부팅할 수 없어요.
경고: 다음 절차는 Registry Editor를 사용해 Windows 레지스트리를 편집하는 방법을 설명해요. Windows 레지스트리에 익숙하지 않거나 Registry Editor를 사용해 안전하게 변경하는 방법을 모른다면 Configure the Registry 문서를 참고하세요.
- 명령 프롬프트를 열고
regedit.exe를 입력한 다음 Enter를 누릅니다. - Registry Editor에서 상황(오른쪽 클릭) 메뉴에서 HKEY_LOCAL_MACHINE을 선택한 다음 Find를 선택합니다.
Windows Boot Manager를 입력하고 Find Next를 선택합니다.11000001이라는 이름의 키를 선택합니다. 이 키는 이전 단계에서 찾은 키의 **형제(sibling)**입니다.- 오른쪽 창에서 Element를 선택하고 상황(오른쪽 클릭) 메뉴에서 Modify를 선택합니다.
- 데이터의 오프셋 0x38에서 4바이트 디스크 서명을 찾습니다. 디스크 서명을 만들려면 바이트를 반대로 하고 적어 둡니다. 예를 들어 다음 데이터로 표현되는 디스크 서명은
E9EB3AA5입니다.
... 0030 00 00 00 00 01 00 00 00 0038 A5 3A EB E9 00 00 00 00 0040 00 00 00 00 00 00 00 00 ...- 명령 프롬프트 창에서 다음 명령을 실행해 Microsoft DiskPart를 시작합니다.
diskpart- 다음 DiskPart 명령을 실행해 볼륨을 선택합니다. (Disk Management 유틸리티로 디스크 번호가 1인지 확인할 수 있어요.)
DISKPART> select disk 1 Disk 1 is now the selected disk.- 다음 DiskPart 명령을 실행해 디스크 서명을 가져옵니다.
DISKPART> uniqueid disk Disk ID: 0C764FA8- 이전 단계에 표시된 디스크 서명이 앞서 적어 둔 BCD의 디스크 서명과 일치하지 않으면, 다음 DiskPart 명령을 사용해 일치하도록 디스크 서명을 변경합니다.
DISKPART> uniqueid disk id=E9EB3AA5- Disk Management 유틸리티를 사용해 드라이브를 오프라인 상태로 만듭니다.
참고: 임시 인스턴스가 영향을 받은 인스턴스와 같은 운영 체제를 실행 중이라면 드라이브는 자동으로 오프라인 상태가 되므로 수동으로 오프라인으로 만들 필요가 없어요.
- 임시 인스턴스에서 볼륨을 분리합니다. 더 이상 사용할 필요가 없으면 임시 인스턴스를 종료할 수 있어요.
- 볼륨을
/dev/sda1로 연결해 영향을 받은 인스턴스의 루트 볼륨을 복원합니다. - 영향을 받은 인스턴스를 시작합니다.
- 명령 프롬프트를 열고
인스턴스에 연결되어 있다면 인스턴스에서 인터넷 브라우저를 열고 메타데이터 서버의 다음 URL을 입력합니다.
http://169.254.169.254/latest/meta-data/
메타데이터 서버에 연결할 수 없다면 다음을 시도해 문제를 해결하세요.
- 최신 버전의 EC2Config 서비스를 다운로드해 설치합니다. 이 서비스 설치에 대한 자세한 내용은 Install the latest version of EC2Config 문서를 참고하세요.
- Windows 인스턴스가 Red Hat PV 드라이버를 실행 중인지 확인합니다. 그렇다면 Citrix PV 드라이버로 업데이트하세요. 자세한 내용은 Upgrade PV drivers on EC2 Windows instances 문서를 참고하세요.
- 방화벽, IPSec, 프록시 설정이 메타데이터 서비스(169.254.169.254) 또는 AWS KMS 서버(주소는
C:\Program Files\Amazon\Ec2ConfigService\Settings\ActivationSettings.xml의TargetKMSServer요소에 지정됨)로 가는 아웃바운드 트래픽을 차단하지 않는지 확인하세요. - 다음 명령을 사용해 메타데이터 서비스(169.254.169.254)로 가는 경로가 있는지 확인하세요.
route print
- 인스턴스의 가용 영역에 영향을 줄 수 있는 네트워크 문제를 확인하세요. http://status.aws.amazon.com/ 로 이동합니다.
"Unable to activate Windows"
Windows 인스턴스는 Windows AWS KMS 활성화를 사용합니다. 인스턴스가 AWS KMS 서버에 연결할 수 없으면 다음 메시지를 받을 수 있어요: A problem occurred when Windows tried to activate. Error Code 0xC004F074. Windows는 180일마다 활성화되어야 합니다. EC2Config는 활성화 기간이 만료되기 전에 AWS KMS 서버에 연결해 Windows가 활성화 상태로 유지되도록 시도합니다.
Windows 활성화 문제가 발생하면 다음 절차를 사용해 문제를 해결하세요.
EC2Config(Windows Server 2012 R2 AMI 및 이전 버전)의 경우
- 최신 버전의 EC2Config 서비스를 다운로드해 설치합니다. 이 서비스 설치에 대한 자세한 내용은 Install the latest version of EC2Config 문서를 참고하세요.
- 인스턴스에 로그온하고 다음 파일을 엽니다:
C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml. config.xml파일에서 Ec2WindowsActivate 플러그 인을 찾습니다. 상태를Enabled로 변경하고 변경 사항을 저장합니다.- Windows Services 스냅인에서 EC2Config 서비스를 다시 시작하거나 인스턴스를 재부팅합니다.
이렇게 해도 활성화 문제가 해결되지 않으면 다음 추가 단계를 따르세요.
- AWS KMS 대상을 설정합니다:
C:\> slmgr.vbs /skms 169.254.169.250:1688 - Windows를 활성화합니다:
C:\> slmgr.vbs /ato
EC2Launch(Windows Server 2016 AMI 및 이후 버전)의 경우
- 관리자 권한의 PowerShell 프롬프트에서 EC2Launch 모듈을 가져옵니다.
PS C:\> Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
Add-Routes함수를 호출해 새 경로 목록을 확인합니다.
PS C:\> Add-Routes
Set-ActivationSettings함수를 호출합니다.
PS C:\> Set-Activationsettings
- 그런 다음 다음 스크립트를 실행해 Windows를 활성화합니다.
PS C:\> cscript "${env:SYSTEMROOT}\system32\slmgr.vbs" /ato
EC2Config와 EC2Launch 모두에 대해, 여전히 활성화 오류가 발생한다면 다음 정보를 확인하세요.
- AWS KMS 서버로 가는 경로가 있는지 확인하세요.
C:\Program Files\Amazon\Ec2ConfigService\Settings\ActivationSettings.xml을 열고TargetKMSServer요소를 찾습니다. 다음 명령을 실행하고 이 AWS KMS 서버의 주소가 나열되어 있는지 확인하세요.
route print
- AWS KMS 클라이언트 키가 설정되어 있는지 확인합니다. 다음 명령을 실행하고 출력을 확인하세요.
C:\Windows\System32\slmgr.vbs /dlv
출력에 Error: product key not found가 포함되면 AWS KMS 클라이언트 키가 설정되지 않은 것입니다. AWS KMS 클라이언트 키가 설정되지 않았다면 이 Microsoft 문서(AWS KMS client activation and product keys)에 설명된 대로 클라이언트 키를 찾은 다음 다음 명령을 실행해 AWS KMS 클라이언트 키를 설정하세요.
C:\Windows\System32\slmgr.vbs /ipk client_key
- 시스템에 올바른 시간과 시간대가 있는지 확인합니다. UTC 외의 시간대를 사용한다면 시간이 올바른지 확인하기 위해 다음 레지스트리 키를 추가하고 1로 설정하세요:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal. - Windows Firewall이 활성화되어 있다면 다음 명령을 사용해 일시적으로 비활성화합니다.
netsh advfirewall set allprofiles state off
"Windows is not genuine (0x80070005)"
Windows 인스턴스는 Windows AWS KMS 활성화를 사용합니다. 인스턴스가 활성화 프로세스를 완료할 수 없으면 Windows 사본이 정품이 아니라고 보고합니다.
"Unable to activate Windows"의 제안 사항을 시도해 보세요.
"No Terminal Server License Servers available to provide a license"
기본적으로 Windows Server는 원격 데스크톱을 통해 두 명의 동시 사용자에게 라이선스가 부여됩니다. 원격 데스크톱을 통해 Windows 인스턴스에 세 명 이상의 사용자가 동시에 접근하도록 제공해야 한다면, **Remote Desktop Services 클라이언트 액세스 라이선스(CAL)**를 구매하고 Remote Desktop Session Host 및 Remote Desktop Licensing Server 역할을 설치할 수 있어요.
다음 문제를 확인하세요.
- 최대 동시 RDP 세션 수를 초과했습니다.
- Windows Remote Desktop Services 역할을 설치했습니다.
- 라이선스가 만료되었습니다. 라이선스가 만료되면 사용자로 Windows 인스턴스에 연결할 수 없습니다. 다음을 시도할 수 있어요.
/admin파라미터를 사용해 명령줄에서 인스턴스에 연결합니다. 예:
자세한 내용은 다음 Microsoft 문서를 참고하세요: Access Remote Desktop Via Command Line.mstsc /v:instance /admin- 인스턴스를 중지하고 Amazon EBS 볼륨을 분리한 다음 같은 가용 영역의 다른 인스턴스에 연결해 데이터를 복구합니다.
"Some settings are managed by your organization"
최신 Windows Server AMI에서 실행된 인스턴스는 **"Some settings are managed by your organization"**이라고 말하는 Windows Update 대화 상자 메시지를 표시할 수 있어요. 이 메시지는 Windows Server의 변경 사항으로 인해 나타나며, Windows Update의 동작이나 업데이트 설정을 관리하는 능력에는 영향을 주지 않습니다.
경고를 제거하려면
gpedit.msc를 열고 Computer Configuration, Administrative Templates, Windows Components, Windows updates로 이동합니다. Configure Automatic Update를 편집하고 활성화로 설정합니다.- 명령 프롬프트에서
gpupdate /force를 사용해 그룹 정책을 업데이트합니다. - Windows Update 설정을 닫고 다시 엽니다. 설정이 조직에서 관리되고 있다는 위 메시지가 표시되고, 그 뒤에 "We'll automatically download updates, except on metered connections (where charges may apply). In that case, we'll automatically download those updates required to keep Windows running smoothly."라는 메시지가 표시될 거예요.
gpedit.msc로 돌아와 그룹 정책을 not configured로 다시 설정합니다.gpupdate /force를 다시 실행합니다.- 명령 프롬프트를 닫고 몇 분 기다립니다.
- Windows Update 설정을 다시 엽니다. "Some settings are managed by your organization" 메시지가 더 이상 표시되지 않아야 해요.