

# EC2Launch v1 에이전트를 사용하여 EC2 Windows 인스턴스 시작 중 태스크 수행
<a name="ec2launch"></a>

Windows Server 2016 및 2019용 Amazon 관리형 AMI에는 EC2Launch라는 Windows Powershell 스크립트 세트가 포함되어 있습니다. EC2Launch는 초기 인스턴스 부팅 중에 작업을 수행합니다. AWS Windows AMI에 포함된 EC2Launch 버전에 대한 자세한 내용은 [AWS Windows AMI 참조](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/windows-amis.html)를 참조하세요.

**참고**  
Windows Server 2016 이상 운영 체제용 최신 시작 에이전트는 EC2Config와 EC2Launch를 모두 대체하며 AWS Windows Server 2016 및 2019 AMI에 `EC2LaunchV2-Windows_Server-*`로 시작하는 이름으로 사전 설치되어 제공됩니다. Windows Server 2016 및 2019에 에이전트를 수동으로 설치하고 구성할 수도 있습니다. 자세한 내용은 [EC2Launch v2 설치](ec2launch-v2-install.md) 섹션을 참조하세요.  
IMDSv2에서 EC2Launch를 사용하려면 버전이 1.3.2002730 이상이어야 합니다.

다음 Windows PowerShell 명령을 사용하여 설치된 EC2Launch 버전을 확인할 수 있습니다.

```
Test-ModuleManifest -Path "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1" | Select Version
```

## EC2Launch 작업
<a name="ec2launch-tasks"></a>

EC2Launch는 초기 인스턴스 부팅 중에 기본적으로 다음 작업을 수행합니다.
+ 인스턴스에 대한 정보를 렌더링하는 새로운 월페이퍼(wallpaper)를 설정합니다.
+ 컴퓨터 이름을 인스턴스의 프라이빗 IPv4 주소로 설정합니다.
+ 인스턴스 정보를 Amazon EC2 콘솔에 전송합니다.
+ RDP 인증서 지문을 EC2 콘솔에 전송합니다.
+ 관리자 계정에 대한 무작위 암호를 설정합니다.
+ DNS 접미사를 추가합니다.
+ 분할되지 않은 공간을 포함하도록 운영 체제 파티션을 동적으로 확장합니다.
+ 사용자 데이터를 실행합니다(지정된 경우). 사용자 데이터 지정에 대한 자세한 내용은 [사용자 데이터 입력을 사용하여 EC2 인스턴스를 시작할 때 명령 실행](user-data.md) 섹션을 참조하세요.
+  영구 정적 경로를 설정하여 메타데이터 서비스 및 AWS KMS 서버에 도달합니다.
**중요**  
사용자 지정 AMI를 이 인스턴스에서 생성한 경우 이 경로는 OS 구성의 일부로서 캡처되며 AMI에서 시작한 새로운 인스턴스는 서브넷 배치와 상관없이 동일한 경로를 유지합니다. 경로를 업데이트하려면 [사용자 지정 AMI 시작 시 Server 2016 이후에 대한 메타데이터/KMS 경로 업데이트](ec2launch-sysprep.md#update-metadata-KMS) 섹션을 참조하세요.

다음 작업은 EC2Config 서비스와 역방향 호환성을 유지하는 데 도움이 됩니다. 스타트업 중에 이러한 작업을 수행하도록 EC2Launch를 구성할 수도 있습니다.
+ 둘째 EBS 볼륨을 초기화합니다.
+ Windows Event 로그를 EC2 콘솔 로그에 전송합니다.
+ *Windows is ready to use* 메시지를 EC2 콘솔에 전송합니다.

## EC2Launch 디렉터리 구조
<a name="ec2launch-directories"></a>

EC2Launch는 기본적으로 루트 디렉터리 `C:\ProgramData\Amazon\EC2-Windows\Launch`의 Windows Server 2016 이후 AMI에 설치됩니다.

**참고**  
기본적으로 Windows는 파일과 폴더를 `C:\ProgramData` 아래에 숨깁니다. EC2Launch 디렉터리와 파일을 보려면 Windows 탐색기에 경로를 입력하거나 숨겨진 파일과 폴더를 표시하도록 폴더 속성을 변경해야 합니다.

`Launch` 디렉터리에는 다음 하위 디렉터리가 포함됩니다.
+ `Scripts` - EC2Launch를 구성하는 PowerShell 스크립트가 포함됩니다.
+ `Module` - Amazon EC2와 관련된 스크립트를 빌드하기 위한 모듈이 포함됩니다.
+ `Config` - 사용자가 사용자 지정할 수 있는 스크립트 구성 파일이 포함됩니다.
+ `Sysprep` - Sysprep 리소스가 포함됩니다.
+ `Settings` - Sysprep 그래픽 사용자 인터페이스용 애플리케이션이 포함됩니다.
+ `Library` - EC2 시작 에이전트용 공유 라이브러리를 포함합니다.
+ `Log` - 스크립트의 하위 디렉터리와 스크립트가 생성하는 로그 파일이 포함됩니다.

## 원격 측정
<a name="ec2launch-telemetry"></a>

원격 측정 데이터는 AWS가 사용자의 요구 사항을 더 잘 이해하고, 문제를 진단하고, AWS 서비스의 경험을 개선할 기능을 제공하는 데 도움이 되는 추가 정보입니다.

EC2Launch 버전 `1.3.2003498` 이상은 사용량 지표 및 오류와 같은 원격 측정 데이터를 수집합니다. 이 데이터는 EC2Launch가 실행되는 Amazon EC2 인스턴스에서 수집됩니다. 여기에는 AWS가 소유한 모든 Windows AMI가 포함됩니다.

EC2Launch에서 수집되는 원격 측정 데이터의 유형은 다음과 같습니다.
+ **사용량 정보** - 에이전트 명령, 설치 방법 및 예약된 실행 빈도입니다.
+ **오류 및 진단 정보** - 에이전트 설치 및 실행 오류 코드입니다.

수집되는 데이터의 예:

```
2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsAgentScheduledPerBoot=true
2021/07/15 21:44:12Z: EC2LaunchTelemetry: IsUserDataScheduledPerBoot=true
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandCode=1
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentCommandErrorCode=5
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallCode=2
2021/07/15 21:44:12Z: EC2LaunchTelemetry: AgentInstallErrorCode=0
```

원격 측정은 기본적으로 활성화됩니다. 언제든지 원격 측정 데이터 수집을 비활성화할 수 있습니다. 원격 측정이 활성화되면 EC2Launch는 별도로 고객에게 알리지 않고 원격 측정 데이터를 전송합니다.

원격 분석을 사용하거나 비활성화하는 선택 사항이 수집됩니다.

원격 측정 수집을 옵트인 또는 옵트아웃할 수 있습니다. 원격 측정 옵션을 준수하기 위해 원격 측정 옵트인 또는 옵트아웃 선택이 수집됩니다.

**원격 측정 가시성**  
원격 측정이 활성화되면 Amazon EC2 콘솔 출력에 다음과 같이 표시됩니다.

```
2021/07/15 21:44:12Z: Telemetry: <Data>
```

**인스턴스의 원격 측정 비활성화**  
시스템 환경 변수를 설정하여 원격 측정을 비활성화하려면 관리자로 다음 명령을 실행합니다.

```
setx /M EC2LAUNCH_TELEMETRY 0
```

설치 중 원격 측정을 비활성화하려면 다음과 같이 `install.ps1`을 실행합니다.

```
. .\install.ps1 -EnableTelemetry:$false
```

**Topics**
+ [EC2Launch 작업](#ec2launch-tasks)
+ [EC2Launch 디렉터리 구조](#ec2launch-directories)
+ [원격 측정](#ec2launch-telemetry)
+ [최신 버전의 EC2Launch 설치](ec2launch-download.md)
+ [Windows 인스턴스에서 EC2Launch v1 에이전트 구성](ec2launch-config.md)
+ [EC2Launch 버전 기록](ec2launch-version-details.md)