Amazon EC2 Windows 인스턴스 시작 문제 해결 - Amazon Elastic Compute Cloud

Amazon EC2 Windows 인스턴스 시작 문제 해결

다음은 Amazon EC2 Windows 인스턴스와 관련된 암호 및 활성화 문제를 해결하는 데 도움이 되는 문제 해결 팁입니다.

"Password is not available"

원격 데스크톱을 사용하여 Windows 인스턴스에 연결하려면 계정과 암호를 지정해야 합니다. 제공되는 계정과 암호는 인스턴스를 시작하는 데 사용한 AMI를 기준으로 합니다. 관라자 계정의 자동 생성 암호를 검색할 수도 있고, AMI가 생성된 원래 인스턴스에서 사용하는 계정과 암호를 사용할 수도 있습니다.

사용자 지정 Windows AMI를 사용하여 시작한 인스턴스의 관리자 계정 암호를 생성할 수 있습니다. 암호를 생성하려면 AMI 생성 전에 운영 체제에서 일부 설정을 구성해야 합니다. 자세한 내용은 Amazon EBS 지원 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

암호 생성이 해제되어 있으며 원래 인스턴스의 암호를 모르는 경우 이 인스턴스의 암호를 재설정할 수 있습니다. 자세한 내용은 Amazon EC2 Windows 인스턴스의 Windows 관리자 암호 재설정 섹션을 참조하세요.

"Password not available yet"

원격 데스크톱을 사용하여 Windows 인스턴스에 연결하려면 계정과 암호를 지정해야 합니다. 제공되는 계정과 암호는 인스턴스를 시작하는 데 사용한 AMI를 기준으로 합니다. 관라자 계정의 자동 생성 암호를 검색할 수도 있고, AMI가 생성된 원래 인스턴스에서 사용하는 계정과 암호를 사용할 수도 있습니다.

몇 분 이내에 암호가 제공됩니다. 암호가 제공되지 않는 경우 콘솔을 사용하여 자동 생성 암호를 검색할 때 다음 메시지가 표시됩니다.

Password not available yet.
Please wait at least 4 minutes after launching an instance before trying to retrieve the 
auto-generated password.

4분이 지났지만 암호를 받지 못한 경우 인스턴스의 시작 에이전트가 암호를 생성하도록 구성되지 않았을 수 있습니다. 콘솔 출력이 비어 있는지 확인해 봅니다. 자세한 내용은 콘솔 출력을 가져올 수 없음 섹션을 참조하세요.

또한 Management Portal에 액세스하는 데 사용되는 AWS Identity and Access Management(IAM) 계정에 ec2:GetPasswordData 작업이 허용되었는지 확인합니다. IAM 권한에 대한 자세한 내용은 IAM이란?을 참조하세요.

"Cannot retrieve Windows password"

관리자 계정의 자동 생성 암호를 검색하려면 인스턴스 시작 시에 지정한 키 페어의 프라이빗 키를 사용해야 합니다. 인스턴스 시작 시에 키 페어를 지정하지 않은 경우 다음 메시지가 표시됩니다.

Cannot retrieve Windows password

이 인스턴스를 종료하고 같은 AMI를 사용하여 키 페어를 지정하면서 새 인스턴스를 시작할 수 있습니다.

"Waiting for the metadata service"

Windows 인스턴스는 인스턴스 메타데이터 정보를 가져와야 활성화될 수 있습니다. 기본적으로 WaitForMetaDataAvailable 설정은 EC2Config 서비스가 인스턴스 메타데이터에 액세스되는 것을 기다린 후에 부팅 프로세스를 진행하도록 합니다. 자세한 내용은 인스턴스 메타데이터를 사용하여 EC2 인스턴스를 관리합니다. 섹션을 참조하세요.

인스턴스가 인스턴스 연결성 테스트에 실패한 경우 다음 방법으로 이 문제를 해결하세요.

  • VPC에 대한 CIDR 블록을 검사합니다. IP 주소의 범위가 224.0.0.0~255.255.255.255인 VPC로 시작한 경우(Class D 및 Class E IP 주소 범위) Windows 인스턴스가 올바르게 부팅되지 않습니다. 이러한 IP 주소 범위는 예약되어 있으므로 호스트 디바이스에 할당해서는 안 됩니다. RFC 1918 규격에 따라 사설(비공개적으로 라우팅 가능) IP 주소 범위에 속하는 CIDR 블록으로 VPC를 생성하는 것이 좋습니다.

  • 시스템이 고정 IP 주소로 구성되었을 수 있습니다. 네트워크 인터페이스를 생성하고 인스턴스에 연결합니다.

  • 연결할 수 없는 Windows 인스턴스의 DHCP를 활성화하려면 다음을 수행합니다.
    1. 해당 인스턴스를 중지하고 루트 볼륨을 분리합니다.

    2. 해당 인스턴스와 동일한 가용 영역에서 임시 인스턴스를 시작합니다.

      주의

      임시 인스턴스가 원본 인스턴스와 동일한 AMI를 기반으로 하는 경우 추가 단계를 수행해야 합니다. 그렇지 않으면 디스크 서명 충돌로 인해 루트 볼륨 복원 후 원본 인스턴스를 부팅할 수 없습니다. 또는 임시 인스턴스에 대한 다른 AMI를 선택합니다. 예를 들어 원본 인스턴스에서 Windows Server 2016용 AWS Windows AMI를 사용할 경우 Windows Server 2019용 AWS Windows AMI를 사용하여 임시 인스턴스를 시작합니다.

    3. 해당 인스턴스의 루트 볼륨을 이 임시 인스턴스에 연결합니다. 임시 인스턴스에 연결하고 디스크 관리 유틸리티를 열어서 드라이브를 온라인 상태로 만듭니다.

    4. 임시 인스턴스에서 Regedit를 열고 HKEY_LOCAL_MACHINE을 선택합니다. 파일 메뉴에서 Hive 로드를 선택합니다. 드라이브를 선택하고, Windows\System32\config\SYSTEM 파일을 열고, 메시지가 나타나면 키 이름을 임의로 지정합니다.

    5. 방금 로드한 키를 선택하고 ControlSet001\Services\Tcpip\Parameters\Interfaces 경로로 이동합니다. 각 네트워크 인터페이스가 GUID에 따라 나열됩니다. 올바른 네트워크 인터페이스를 선택합니다. DHCP를 비활성화하고 고정 IP 주소를 할당한 경우 EnableDHCP는 0으로 설정됩니다. DHCP를 활성화하려면 EnableDHCP를 1로 설정하고 NameServer, SubnetMask, IPAddressDefaultGateway 키가 있는 경우 해당 키를 삭제합니다. 키를 한 번 더 선택하고 파일 메뉴에서 Hive 로드 취소를 선택합니다.

      참고

      네트워크 인터페이스가 여러 개일 경우 DHCP를 사용할 인터페이스를 식별해야 합니다. 해당 네트워크 인터페이스를 확인하려면 NameServer, SubnetMask, IPAddress, DefaultGateway 키 값을 확인합니다. 이들 값은 이전 인스턴스의 정적 구성을 표시합니다.

    6. (선택 사항) DHCP가 이미 활성화되어 있다면 메타데이터 서비스로 연결되는 경로가 없는 경우일 수 있습니다. EC2Config를 업데이트하면 문제가 해결됩니다.

      1. 최신 버전의 EC2Config 서비스를 다운로드하여 설치합니다. 이 서비스 설치에 대한 자세한 내용은 최신 버전의 EC2Config 설치 섹션을 참조하세요.

      2. 연결한 드라이브의 .zip 디렉터리에 Temp 파일의 압축을 풉니다.

      3. Regedit를 열고 HKEY_LOCAL_MACHINE을 선택합니다. 파일 메뉴에서 Hive 로드를 선택합니다. 드라이브를 선택하고, Windows\System32\config\SOFTWARE 파일을 열고, 메시지가 나타나면 키 이름을 임의로 지정합니다.

      4. 방금 로드한 키를 선택하고 Microsoft\Windows\CurrentVersion 경로로 이동합니다. RunOnce 키를 선택합니다. 이 키가 없는 경우 CurrentVersion을 마우스 오른쪽 버튼으로 클릭하고 새로 생성을 가리킨 후 를 선택하고 키의 이름을 RunOnce로 지정합니다. 마우스 오른쪽 버튼을 클릭하고 를 가리킨 후 문자열 값을 선택합니다. Ec2Install을 이름으로, C:\Temp\Ec2Install.exe -q를 데이터로 입력합니다.

      5. 키를 한 번 더 선택하고 파일 메뉴에서 Hive 로드 취소를 선택합니다.

    7. (선택 사항) 임시 인스턴스가 원본 인스턴스와 동일한 AMI를 기반으로 하는 경우 다음 단계를 수행해야 합니다. 그렇지 않으면 디스크 서명 충돌로 인해 루트 볼륨 복원 후 원본 인스턴스를 부팅할 수 없습니다.

      주의

      다음 절차에서는 레지스트리 편집기를 사용하여 Windows 레지스트리를 편집하는 방법을 설명합니다. Windows 레지스트리에 대해 또는 레지스트리 편집기를 사용하여 안전하게 수정하는 방법을 잘 알지 못하는 경우 레지스트리 구성을 참조하세요.

      1. 명령 프롬프트를 열고 regedit.exe를 입력한 후 Enter 키를 누릅니다.

      2. 레지스트리 편집기의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)에서 HKEY_LOCAL_MACHINE을 선택한 후 찾기를 선택합니다.

      3. Windows Boot Manager를 입력한 후 다음 찾기를 선택합니다.

      4. 11000001을 선택합니다. 이 키는 이전 단계에서 찾은 키 바로 위의 키입니다.

      5. 오른쪽 창에서 Element를 선택한 후 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)에서 수정을 선택합니다.

      6. 데이터에서 오프셋 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 ...
      7. 명령 프롬프트 창에서 다음 명령을 실행하여 Microsoft DiskPart를 시작합니다.

        diskpart
      8. 다음 DiskPart 명령을 실행하여 볼륨을 선택합니다. 디스크 관리 유틸리티를 사용하여 디스크 번호가 1인지 확인할 수 있습니다.

        DISKPART> select disk 1 Disk 1 is now the selected disk.
      9. 다음 DiskPart 명령을 실행하여 디스크 서명을 봅니다.

        DISKPART> uniqueid disk Disk ID: 0C764FA8
      10. 이전 단계에서 표시된 디스크 서명이 앞에서 기록한 BCD의 디스크 서명과 일치하지 않을 경우 다음 DiskPart 명령을 사용하여 일치하도록 디스크 서명을 변경합니다.

        DISKPART> uniqueid disk id=E9EB3AA5
    8. 디스크 관리 유틸리티를 사용하여 드라이브를 오프라인으로 설정합니다.

      참고

      임시 인스턴스가 영향을 받는 인스턴스와 동일한 운영 체제를 실행하고 있는 경우 드라이브가 자동으로 오프라인 상태가 되므로 사용자가 수동으로 드라이브를 오프라인으로 설정할 필요가 없습니다.

    9. 임시 인스턴스에서 볼륨을 분리합니다. 임시 인스턴스를 더 이상 사용하지 않는 경우 해당 인스턴스는 종료해도 됩니다.

    10. 볼륨을 /dev/sda1로 연결하여 해당 인스턴스의 루트 볼륨을 복원합니다.

    11. 영향을 받는 인스턴스를 시작합니다.

인스턴스에 연결된 경우 인스턴스에서 인터넷 브라우저를 열고 다음과 같이 메타데이터 서버 URL을 입력합니다.

http://169.254.169.254/latest/meta-data/

메타데이터 서버에 접속할 수 없는 경우 다음 방법으로 문제를 해결하세요.

  • 최신 버전의 EC2Config 서비스를 다운로드하여 설치합니다. 이 서비스 설치에 대한 자세한 내용은 최신 버전의 EC2Config 설치 섹션을 참조하세요.

  • Windows 인스턴스에서 RedHat PV 드라이버를 실행하는지 여부를 확인합니다. 실행하는 경우 Citrix PV 드라이버를 업데이트합니다. 자세한 내용은 EC2 Windows 인스턴스의 PV 드라이버 업그레이드 단원을 참조하십시오.

  • 방화벽, IPSec 및 프록시 설정으로 인해 메타데이터 서비스(169.254.169.254) 또는 AWS KMS 서버(TargetKMSServerC:\Program Files\Amazon\Ec2ConfigService\Settings\ActivationSettings.xml 요소에 지정된 주소)로 송신되는 트래픽이 차단되지 않는지 확인합니다.

  • 다음 명령을 사용하여 메타데이터 서비스(169.254.169.254)로 연결되는 경로가 있는지 확인합니다.

    route print
  • 인스턴스의 가용 영역에 영향을 줄 수 있는 네트워크 문제가 있는지 확인합니다. http://status.aws.amazon.com/으로 이동합니다.

"Unable to activate Windows"

Windows 인스턴스는 Windows AWS KMS 정품 인증을 사용합니다. 인스턴스가 A problem occurred when Windows tried to activate. Error Code 0xC004F074 서버에 접속할 수 없는 경우 AWS KMS 메시지가 표시됩니다. 180일마다 Windows 정품을 인증해야 합니다. EC2Config는 정품 인증 기간이 만료되기 전에 AWS KMS 서버 접속을 시도하여 Windows의 정품 인증 상태를 유지합니다.

Windows 정품 인증에 문제가 발생하는 경우, 다음 절차에 따라 문제를 해결하세요.

EC2Config의 경우(Windows Server 2012 R2 AMI 이전)
  1. 최신 버전의 EC2Config 서비스를 다운로드하여 설치합니다. 이 서비스 설치에 대한 자세한 내용은 최신 버전의 EC2Config 설치 섹션을 참조하세요.

  2. 인스턴스에 로그인하여 C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml 파일을 엽니다.

  3. config.xml 파일에서 Ec2WindowsActivate 플러그인을 찾습니다. 상태를 활성화로 변경한 다음 변경 사항을 저장합니다.

  4. Windows Services 스냅인에서 EC2Config 서비스를 재시작하거나 인스턴스를 재부팅합니다.

이렇게 해도 정품 인증 문제가 해결되지 않는 경우, 다음과 같은 추가 단계를 수행하세요.

  1. AWS KMS 대상 설정: C:\> slmgr.vbs /skms 169.254.169.250:1688

  2. Windows 정품 인증: C:\> slmgr.vbs /ato

EC2Launch의 경우(Windows Server 2016 AMI 이상)
  1. 관리 권한이 있는 PowerShell 프롬프트에서 EC2Launch 모듈을 가져옵니다.

    PS C:\> Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
  2. Add-Routes 함수를 호출하여 새 라우팅 목록을 표시합니다.

    PS C:\> Add-Routes
  3. Set-ActivationSettings 함수를 호출합니다.

    PS C:\> Set-Activationsettings
  4. 그런 다음 아래 스크립트를 실행하여 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 클라이언트 설정 키)의 설명에 따라 클라이언트 키를 조회하고 다음 명령을 실행하여 AWS KMS 클라이언트 키를 설정합니다.

    C:\Windows\System32\slmgr.vbs /ipk client_key
  • 시스템의 시간과 표준 시간대가 올바른지 확인합니다. UTC 이외의 표준 시간대를 사용하는 경우 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal 레지스트리 키를 추가하고 값을 1로 설정하여 시간을 정확하게 맞춥니다.

  • Windows 방화벽이 활성화된 경우 다음 명령을 사용하여 임시로 비활성화합니다.

    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의 기본 라이선스는 원격 데스크톱 사용자 2명 동시 연결입니다. 3명 이상의 사용자가 원격 데스크톱으로 Windows 인스턴스에 액세스해야 하는 경우 원격 데스크톱 서비스 CAL(Client Access License)을 구입하고 원격 데스크톱 세션 호스트 및 원격 데스크톱 라이선싱 서버 역할을 설치해야 합니다.

다음과 같은 문제가 있는지 확인합니다.

  • 최대 동시 RDP 세션 수를 초과했습니다.

  • Windows 원격 데스크톱 서비스 역할을 설치했습니다.

  • 라이선스가 만료되었습니다. 라이선스가 만료된 경우 Windows 인스턴스에 사용자로 연결할 수 없습니다. 다음과 같은 방법을 시도할 수 있습니다.

    • 다음과 같이 명령줄에서 /admin 파라미터를 사용하여 인스턴스에 연결합니다.

      mstsc /v:instance /admin

      자세한 내용은 Microsoft 문서(Access Remote Desktop Via Command Line)를 참조하세요.

    • 인스턴스를 중지하고 Amazon EBS 볼륨을 분리한 후 같은 가용 영역의 다른 인스턴스에 연결하여 데이터를 복구합니다.

"일부 설정이 사용자의 조직에 의해 관리됩니다.(Some settings are managed by your organization.)"

최신 Windows Server AMI에서 시작한 인스턴스에서 "일부 설정이 사용자의 조직에 의해 관리됩니다.(Some settings are managed by your organization.)"라는 Windows 업데이트 대화 상자 메시지를 표시할 수 있습니다. 이 메시지는 Windows Server의 변경 사항으로 인해 나타나며 업데이트 설정 관리 기능 또는 Windows 업데이트 동작에는 영향을 주지 않습니다.

경고를 제거하려면
  1. gpedit.msc를 열고 컴퓨터 구성(Computer Configuration), 관리 템플릿(Administrative Templates), Windows 구성 요소(Windows Components), Windows 업데이트(Windows updates)로 이동합니다. 자동 업데이트 구성(Configure Automatic Update)을 편집하고 활성(enabled)으로 설정합니다.

  2. 명령 프롬프트에서 gpupdate /force을(를) 사용하여 그룹 정책을 업데이트합니다.

  3. Windows 업데이트 설정을 닫은 다음 다시 엽니다. 사용자에게는 위와 같이 사용자의 설정이 사용자의 조직에 의해 관리된다는 메시지가 표시되며, 이어서 “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.(측정된 연결(요금 발생 가능)을 제외하고 업데이트를 자동으로 다운로드합니다. 이 경우에는 원활한 Windows 실행 유지에 필요한 업데이트를 자동으로 다운로드합니다.)”라는 메시지도 표시됩니다.

  4. gpedit.msc로 돌아가 그룹 정책을 다시 구성되지 않음(not configured)으로 설정합니다. gpupdate /force를 다시 실행합니다.

  5. 명령 프롬프트를 닫고 몇 분간 기다립니다.

  6. Windows 업데이트 설정 다시 엽니다. "일부 설정이 사용자의 조직에 의해 관리됩니다.(Some settings are managed by your organization)"라는 메시지가 표시되지 않아야 합니다.