EC2Launch와 함께 Windows Sysprep을 사용하여 AMI 생성 - Amazon Elastic Compute Cloud

EC2Launch와 함께 Windows Sysprep을 사용하여 AMI 생성

EC2Launch 에이전트가 설치된 인스턴스에서 이미지를 생성하면 이미지가 준비될 때 EC2Launch가 특정 작업을 수행합니다. 여기에는 Windows Sysprep 작업이 포함됩니다. 자세한 내용은 Windows Sysprep 단계 섹션을 참조하세요.

EC2Launch는 AMI에서 이미지 준비 프로세스를 자동화하고 보호하는 기본 응답 파일과 배치 파일을 Windows Sysrep에 제공합니다. 이 파일을 수정하는 것은 선택 사항입니다. 이 파일은 기본적으로 C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep 디렉터리에 있습니다.

중요

Windows Sysprep을 사용하여 인스턴스 백업을 생성하지 마세요. Windows Sysprep은 시스템에 특정한 정보를 제거합니다. 이 정보를 제거하면 인스턴스 백업에서 의도하지 않은 결과가 발생할 수 있습니다.

Windows Sysprep에 대한 EC2Launch 응답 및 배치 파일

Windows Sysprep에 대한 EC2Launch 응답 파일과 배치 파일에는 다음 내용이 포함됩니다.

Unattend.xml

이 파일은 기본 응답 파일입니다. SysprepInstance.ps1을 실행하거나 사용자 인터페이스에서 ShutdownWithSysprep을 선택하는 경우 시스템이 이 파일에서 설정을 읽습니다.

BeforeSysprep.cmd

EC2Launch가 Windows Sysprep을 실행하기 전에 이 배치 파일이 명령을 실행하도록 사용자 지정합니다.

SysprepSpecialize.cmd

Windows Sysprep 특수화 단계 중에 명령을 실행하려면 이 배치 파일을 사용자 지정합니다.

EC2Launch와 함께 Windows Sysprep 실행

데스크톱 환경에서 Windows Server 2016 이후를 전체 설치할 때 EC2 Launch Settings 애플리케이션을 사용하여 EC2Launch와 함께 Windows Sysprep을 수동으로 실행할 수 있습니다.

EC2Launch Settings 애플리케이션을 사용하여 Windows Sysprep 실행
  1. Amazon EC2 콘솔에서 Windows Server 2016 이후 AMI를 찾거나 생성합니다.

  2. AMI에서 Windows 인스턴스를 시작합니다.

  3. Windows 인스턴스에 연결하고 인스턴스를 사용자 지정합니다.

  4. EC2LaunchSettings 애플리케이션을 검색하여 실행합니다. 기본적으로 C:\ProgramData\Amazon\EC2-Windows\Launch\Settings 디렉터리에 위치합니다.

    EC2 Launch Settings 애플리케이션
  5. 필요에 따라 옵션을 선택하거나 취소합니다. 이러한 설정은 LaunchConfig.json 파일에 저장되어 있습니다.

  6. Administrator 암호에서 다음 중 하나를 수행합니다.

    • 임의(Random)를 선택합니다. EC2Launch는 암호를 생성하고 사용자의 키를 사용하여 암호를 암호화합니다. 인스턴스가 재부팅 또는 중지되었다가 시작된 경우 이 암호가 그대로 유지되도록 시스템은 인스턴스가 시작된 후 이 설정을 비활성화합니다.

    • 지정(Specify)을 선택하고 시스템 요구 사항을 충족하는 암호를 입력합니다. 암호는 LaunchConfig.json에 일반 텍스트로 저장되며 Windows Sysprep에서 관리자 암호를 설정한 후에 삭제됩니다. 지금 종료하면 암호는 지금 바로 설정됩니다. EC2Launch는 사용자의 키를 사용하여 암호를 암호화합니다.

    • DoNothing을 선택하고 unattend.xml 파일에 암호를 지정합니다. unattend.xml에 암호를 지정하지 않으면 관리자 계정이 비활성화됩니다.

  7. Sysprep을 이용해 종료(Shutdown with Sysprep)를 선택합니다.

EC2Launch를 사용하여 Windows Sysprep을 수동으로 실행
  1. Amazon EC2 콘솔에서 복제하려는 Windows Server 2016 이후 Datacenter 에디션 AMI를 찾거나 만듭니다.

  2. 실행을 시작해서 Windows 인스턴스에 연결합니다.

  3. 인스턴스를 사용자 지정합니다.

  4. LaunchConfig.json 파일에서 설정을 지정합니다. 이 파일은 기본적으로 C:\ProgramData\Amazon\EC2-Windows\Launch\Config 디렉터리에 위치합니다.

    adminPasswordType에 대해 다음 값 중 하나를 지정할 수 있습니다.

    Random

    EC2Launch는 암호를 생성하고 사용자의 키를 사용하여 암호를 암호화합니다. 인스턴스가 재부팅 또는 중지되었다가 시작된 경우 이 암호가 그대로 유지되도록 시스템은 인스턴스가 시작된 후 이 설정을 비활성화합니다.

    Specify

    adminPassword에 지정한 암호가 EC2Launch에 사용됩니다. 암호가 시스템 요구 사항에 맞지 않으면 EC2Launch에서 임의의 암호를 대신 생성합니다. 암호는 LaunchConfig.json에 일반 텍스트로 저장되며 Windows Sysprep에서 관리자 암호를 설정한 후에 삭제됩니다. EC2Launch는 사용자의 키를 사용하여 암호를 암호화합니다.

    DoNothing

    unattend.xml 파일에 지정한 암호가 EC2Launch에 사용됩니다. unattend.xml에 암호를 지정하지 않으면 관리자 계정이 비활성화됩니다.

  5. (선택 사항) unattend.xml 및 기타 구성 파일에서 설정을 지정합니다. 설치에 참가하려는 경우 이 파일을 변경할 필요가 없습니다. 파일은 기본적으로 C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep 디렉터리에 위치합니다.

  6. Windows PowerShell에서 ./InitializeInstance.ps1 -Schedule을 실행합니다. 스크립트는 기본적으로 C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts 디렉터리에 위치합니다. 이 스크립트는 다음 부팅 중에 초기화하도록 인스턴스를 예약합니다. 다음 단계에서 SysprepInstance.ps1 스크립트를 실행하기 전에 이 스크립트를 실행해야 합니다.

  7. Windows PowerShell에서 ./SysprepInstance.ps1을 실행합니다. 스크립트는 기본적으로 C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts 디렉터리에 위치합니다.

인스턴스에서 로그오프되고 인스턴스가 종료됩니다. Amazon EC2 콘솔에서 [인스턴스(Instances)] 페이지를 보면 인스턴스 상태가 [Running]에서 [Stopping]으로 바뀐 다음 [Stopped]로 바뀌는 것을 확인할 수 있습니다. 이 시점에서는 이 인스턴스에서 안전하게 AMI를 생성할 수 있습니다.

사용자 지정 AMI 시작 시 Server 2016 이후에 대한 메타데이터/KMS 경로 업데이트

사용자 지정 AMI를 시작할 때 Server 2016 이후에 대한 메타데이터/KMS 경로를 업데이트하려면 다음과 같이 하세요.

  • EC2LaunchSettings GUI(C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe)를 실행하고 Windows Sysprep을 사용하여 종료하는 옵션을 선택합니다.

  • EC2LaunchSettings를 실행하고 Windows Sysprep 없이 종료한 다음 AMI를 생성합니다. 그러면 다음번 부팅할 때 EC2 시작 초기화 작업을 실행하도록 설정되며, 해당 인스턴스의 서브넷을 토대로 경로가 설정됩니다.

  • PowerShell에서 AMI를 생성하기 전에 EC2 시작 초기화 작업을 수동으로 다시 예약합니다.

    중요

    작업을 다시 예약하기 전에 기본 암호 재설정 동작을 적어 두세요.

  • Windows 정품 인증 또는 인스턴스 메타데이터 오류와의 통신이 발생하는 실행 중인 인스턴스에서 경로를 업데이트하려면 “Windows를 정품 인증할 수 없음”을 참조하세요.