Windows 인스턴스에서 EC2Launch v1 에이전트 구성
인스턴스가 처음으로 초기화된 후에는 다시 실행하고 다른 스타트업 작업을 수행하도록 EC2Launch를 구성할 수 있습니다.
작업
초기화 작업 구성
LaunchConfig.json
구성 파일에서 설정을 지정하여 다음과 같은 초기화 작업을 수행 혹은 해제합니다.
-
컴퓨터 이름을 인스턴스 프라이빗 IPv4 주소로 설정합니다.
-
모니터가 항상 켜져 있도록 설정합니다.
-
새로운 월페이퍼(wallpaper)를 설정합니다.
-
DNS 접미사 목록을 추가합니다.
참고
이렇게 하면 다음 도메인에 대한 DNS 접미사 조회가 추가되고 다른 표준 접미사가 구성됩니다. 시작 에이전트가 DNS 접미사를 설정하는 방법에 대한 자세한 내용은 EC2 Windows 시작 에이전트용 DNS 접미사 구성 섹션을 참조하세요.
region
.ec2-utilities.amazonaws.com -
부팅 볼륨 크기를 확장합니다.
-
관리자 암호를 설정합니다.
초기화 설정을 구성하려면
-
구성할 인스턴스에서 텍스트 편집기에
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json
파일을 엽니다. -
다음 설정을 필요에 따라 업데이트하고 변경 내용을 저장합니다.
adminPassword
이adminPasswordtype
인 경우에만Specify
에 암호를 입력합니다.{ "setComputerName": false, "setMonitorAlwaysOn": true, "setWallpaper": true, "addDnsSuffixList": true, "extendBootVolumeSize": true, "handleUserData": true, "adminPasswordType": "Random | Specify | DoNothing", "adminPassword": "password that adheres to your security policy (optional)" }
암호 유형은 다음과 같이 정의됩니다.
Random
-
EC2Launch는 암호를 생성하고 사용자의 키를 사용하여 암호를 암호화합니다. 인스턴스가 재부팅 또는 중지되었다가 시작된 경우 이 암호가 그대로 유지되도록 시스템은 인스턴스가 시작된 후 이 설정을 비활성화합니다.
Specify
-
adminPassword
에 지정한 암호가 EC2Launch에 사용됩니다. 암호가 시스템 요구 사항에 맞지 않으면 EC2Launch에서 임의의 암호를 대신 생성합니다. 암호는LaunchConfig.json
에 일반 텍스트로 저장되며 Sysprep에서 관리자 암호를 설정한 후에 삭제됩니다. EC2Launch는 사용자의 키를 사용하여 암호를 암호화합니다. DoNothing
-
unattend.xml
파일에 지정한 암호가 EC2Launch에 사용됩니다.unattend.xml
에 암호를 지정하지 않으면 관리자 계정이 비활성화됩니다.
-
Windows PowerShell에서 다음 명령을 실행하여 스크립트가 Windows 예약된 작업으로 실행되도록 예약합니다. 스크립트는 다음 부팅 중에 이 작업을 한 번 실행한 다음 이 작업이 다시 실행되지 않도록 비활성화합니다.
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
매 부팅마다 실행하도록 EC2Launch 예약
처음 부팅할 때만이 아니라 매 부팅마다 실행하도록 EC2Launch를 예약할 수 있습니다.
매 부팅마다 실행하도록 EC2Launch를 활성화하는 방법:
Windows PowerShell을 열어 다음 명령을 실행합니다.
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -SchedulePerBoot
또는 다음 명령을 사용하여 실행 파일을 실행합니다.
C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe
그런 다음
Run EC2Launch on every boot
를 선택합니다. EC2 인스턴스Shutdown without Sysprep
또는Shutdown with Sysprep
을 지정할 수 있습니다.
참고
부팅 시마다 실행하도록 EC2Launch를 활성화할 경우 다음 번에 EC2Launch를 실행할 때 다음과 같이 됩니다.
-
AdminPasswordType
이 여전히Random
인 경우 EC2Launch가 다음 부팅 시 새 암호를 생성합니다. EC2Launch가 후속 부팅에서 새 암호를 생성하지 않도록, 부팅 후AdminPasswordType
이 자동으로DoNothing
으로 설정됩니다. EC2Launch가 최초 부팅 시 새 암호를 생성하지 않도록 하려면AdminPasswordType
을DoNothing
으로 설정합니다. -
사용자 데이터에서
HandleUserData
를false
로 설정한 경우가 아니면persist
가true
로 다시 설정됩니다. 자세한 내용은 사용자 데이터 스크립트 단원을 참조하십시오.
드라이브 및 맵 드라이브 문자 초기화
DriveLetterMappingConfig.json
파일에서 설정을 지정하여 드라이브를 초기화 및 포맷하고 드라이브 문자를 EC2 인스턴스의 볼륨에 매핑합니다. 이 스크립트는 아직 초기화 및 파티셔닝되지 않은 드라이브를 초기화합니다. Windows에서 볼륨 세부 정보를 가져오는 방법에 대한 자세한 내용은 Microsoft 설명서에서 Get-Volume
드라이브 문자를 볼륨에 매핑하려면
-
텍스트 에디터에서
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json
파일을 엽니다. -
다음 볼륨 설정을 지정하고 변경 내용을 저장합니다.
{ "driveLetterMapping": [ { "volumeName": "
sample volume
", "driveLetter": "H
" } ] } -
디스크를 초기화할 EC2Launch 스크립트를 수행하기 위해서 Windows PowerShell을 열고 다음 명령을 실행합니다.
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1
인스턴스를 부팅할 때마다 디스크를 초기화하려면 다음과 같이
-Schedule
플래그를 추가하세요.C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule
EC2 콘솔에 Windows 이벤트 로그 전송
EventLogConfig.json
구성 파일에서 설정을 지정하여 Windows Event 로그를 EC2 콘솔 로그에 전송합니다.
Windows Event 로그를 전송하도록 설정을 구성하려면
-
인스턴스의 텍스트 편집기에서
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.json
파일을 엽니다. -
다음 로그 설정을 구성하고 변경 내용을 저장합니다.
{ "events": [ { "logName": "
System
", "source": "An event source (optional)
", "level": "Error | Warning | Information
", "numEntries":3
} ] } -
Windows PowerShell에서 다음 명령을 실행합니다. 그러면 시스템에서 인스턴스가 부팅될 때마다 스크립트가 Windows 예약된 작업으로 실행되도록 예약됩니다.
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendEventLogs.ps1 -Schedule
로그가 EC2 콘솔 로그에 나타나려면 3분 이상 걸릴 수 있습니다.
부팅 성공 후 Windows is ready 메시지 전송
EC2Config 서비스는 매번 부팅 후에 "Windows is ready" 메시지를 EC2 콘솔에 전송했습니다. EC2Launch는 초기 부팅 후에만 이 메시지를 전송합니다. EC2Config 서비스와 역방향 호환성을 위해 매번 부팅한 후에 이 메시지를 전송하도록 EC2Launch를 예약할 수 있습니다. 인스턴스에서 Windows PowerShell을 열고 다음 명령을 실행합니다. 시스템에서 이 스크립트는 Windows 예약된 작업으로 실행되도록 예약됩니다.
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendWindowsIsReady.ps1 -Schedule