EC2Config 서비스를 사용하여 EC2 레거시 Windows 운영 체제 인스턴스를 시작하는 동안 태스크를 수행합니다. - Amazon Elastic Compute Cloud

EC2Config 서비스를 사용하여 EC2 레거시 Windows 운영 체제 인스턴스를 시작하는 동안 태스크를 수행합니다.

참고

EC2Config 설명서는 기록 참조용으로만 제공됩니다. 실행되는 운영 체제 버전은 Microsoft에서 더 이상 지원되지 않습니다. 최신 시작 에이전트로 업그레이드하는 것이 좋습니다.

Windows Server 2022용 최신 시작 에이전트는 EC2Config와 EC2Launch를 모두 대체하며 AWS Windows Server 2022 AMI에 사전 설치되어 제공되는 EC2Launch v2입니다. 마이그레이션 도구를 사용하여 EC2Launch v2로 마이그레이션하거나, Windows Server 2016 및 2019에 에이전트를 수동으로 설치하고 구성할 수도 있습니다.

Windows Server 2016 이전의 Windows Server 버전용 Windows AMI는 EC2Config 서비스(EC2Config.exe)라는 선택적 서비스를 포함합니다. 시작 중에 인스턴스가 부팅되고 작업을 수행할 때와 인스턴스를 중지하거나 시작할 때마다 EC2Config가 시작됩니다. 또한 EC2Config는 요청 시 작업을 수행할 수 있습니다. 이러한 작업 중 일부는 자동으로 활성화되고, 나머지는 수동으로 활성화해야 합니다. 선택 사항이긴 하지만, 이 서비스는 다른 방식으로는 사용할 수 없는 고급 기능에 대한 액세스를 제공합니다. 이 서비스는 LocalSystem 계정에서 실행됩니다.

EC2Config 서비스에서는 재사용할 수 있는 사용자 정의된 Windows AMI를 생성하는 데 사용할 수 있는 Microsoft 도구인 Sysprep을 실행합니다. EC2Config가 Sysprep을 호출하면 Sysprep은 %ProgramFiles%\Amazon\EC2ConfigService\Settings 안의 파일을 사용하여 어느 작업을 수행할지 결정합니다. 이러한 파일은 EC2 서비스 속성 시스템 대화 상자를 사용하여 간접적으로 편집하거나, XML 편집기 또는 텍스트 편집기를 사용하여 직접적으로 편집할 수 있습니다. 그러나 Ec2 서비스 속성 시스템 대화 상자에서 사용할 수 없는 몇 가지 고급 설정이 있으며, 이러한 항목은 직접 편집해야 합니다.

설정을 업데이트한 후에 인스턴스에서 AMI를 생성하면 새로운 설정은 그 새로운 AMI에서 실행하는 모든 인스턴스에 적용됩니다. AMI 생성에 대한 자세한 내용은 Amazon EBS 지원 AMI 생성 섹션을 참조하세요.

EC2Config에서 설정 파일을 사용하여 해당 작업을 제어합니다. 이러한 설정 파일은 그래픽 도구를 사용하거나 XML 파일을 직접 편집하여 업데이트할 수 있습니다. 서비스 바이너리 및 추가 파일은 %ProgramFiles%\Amazon\EC2ConfigService 디렉터리에 저장됩니다.

EC2Config 및 AWS Systems Manager

EC2Config 서비스는 2016년 11월 이전에 발표된 Windows Server 2016 이전 버전의 Windows Server용 AMI에서 생성된 인스턴스에 대한 Systems Manager 요청을 처리합니다.

2016년 11월 이후에 발표된 Windows Server 2016 이전 버전의 Windows Server용 AMI에서 생성된 인스턴스에는 EC2Config 서비스 SSM Agent가 포함되어 있습니다. EC2Config는 앞서 설명한 모든 작업을 수행하고 SSM Agent는 명령 실행 및 상태 관리자 같은 Systems Manager 기능에 대한 요청을 처리합니다.

Run Command를 사용하여 기존 인스턴스가 최신 버전의 EC2Config 서비스와 SSM Agent를 사용하도록 업그레이드할 수 있습니다. 자세한 내용은 AWS Systems Manager 사용 설명서에서 Run Command를 사용하여 SSM Agent 업데이트를 참조하세요.

EC2Config 태스크

EC2Config는 인스턴스가 처음 시작할 때 초기 시작 작업을 실행하고 이후에 그 작업을 비활성화합니다. 이런 작업을 다시 실행하기 위해서는 인스턴스를 종료하기 전에 이를 명시적으로 활성화하거나 Sysprep을 수동으로 실행하는 방법을 사용해야 합니다. 이 작업은 다음과 같습니다.

  • 관리자 계정에 대한 무작위의 암호화된 암호 설정.

  • Remote Desktop Connection(원격 데스크톱 연결)에 사용되는 호스트 인증서의 생성 및 설치.

  • 파티션 처리되지 않은 공간을 포함시키기 위한 운영 시스템 파티션을 동적으로 확장.

  • 지정된 사용자 데이터 실행(설치된 경우는 Cloud-Init도 실행). 사용자 데이터 지정에 대한 자세한 내용은 사용자 데이터 입력을 사용하여 EC2 인스턴스를 시작할 때 명령 실행 섹션을 참조하세요.

EC2Config는 다음 작업을 인스턴스가 시작할 때마다 실행합니다.

  • 16진수 표기법으로 프라이빗 IP 주소와 일치하도록 호스트 이름 변경(이 작업은 기본적으로 비활성화되어 있으며 인스턴스가 시작할 때 실행하려면 활성화해야 함)

  • AWS KMS(핵심 관리 서버) 구성, Windows 정품 인증 상태 확인, 필요한 경우 Windows 정품 인증을 활성화.

  • 모든 Amazon EBS 볼륨 및 인스턴스 스토어 볼륨을 마운트하고 볼륨 이름을 드라이브 문자로 매핑합니다.

  • 문제 해결을 돕기 위해 이벤트 로그 항목을 콘솔에 기록(이 작업은 기본적으로 비활성화되어 있으며 인스턴스가 시작할 때 실행될 수 있도록 활성화되어야 함)

  • Windows가 준비된 상태를 콘솔에 기록.

  • 단일 NIC 또는 복수의 NIC가 연결될 때 다음 IP 주소(169.254.169.250, 169.254.169.251, 169.254.169.254)를 활성화하기 위해 기본 네트워크 어댑터에 사용자 정의 라우팅을 추가합니다. 이 주소들은 Windows 정품 인증을 할 때와 인스턴스 메타데이터에 액세스할 때 사용됩니다.

    참고

    Windows OS가 IPv4를 사용하도록 구성된 경우 이러한 IPv4 링크 로컬 주소를 사용할 수 있습니다. Windows OS에서 IPv4 네트워크 프로토콜 스택이 비활성화되어 있고 IPv6을 대신 사용하는 경우 169.254.169.250169.254.169.251 대신 [fd00:ec2::240]을 추가합니다. 그런 다음 169.254.169.254 대신 [fd00:ec2::254]를 추가합니다.

EC2Config는 다음 작업을 사용자가 로그인할 때마다 실행합니다.

  • 바탕 화면 배경에 월페이퍼(wallpaper) 정보 표시

인스턴스가 실행 중일 때 사용자는 EC2Config가 다음 작업을 필요할 때 수행하도록 요청할 수 있습니다.

EC2Config 설정 파일

본 설정 파일은 EC2Config 서비스의 작동을 제어합니다. 이 파일은 C:\Program Files\Amazon\Ec2ConfigService\Settings 디렉터리에 위치합니다.

  • ActivationSettings.xml 핵심 관리 서버()를 사용해서 제품의 정품 인증을 제어합니다.AWS KMS

  • AWS.EC2.Windows.CloudWatch.json - CloudWatch에 전송할 성능 카운터 및 CloudWatch Logs에 전송할 로그가 무엇인지를 제어합니다.

  • BundleConfig.xml - EC2Config가 AMI 생성을 위한 인스턴스 스토어 지원 인스턴스의 준비 방법을 제어합니다.

  • Config.xml - 기본 설정을 제어합니다.

  • DriveLetterConfig.xml - 드라이브 문자 매핑을 제어합니다.

  • EventLogConfig.xml - 인스턴스가 부팅 중인 동안 콘솔에 표시되는 이벤트 로그 정보를 제어합니다.

  • WallpaperSettings.xml - 바탕 화면 배경에 표시되는 정보를 제어합니다.

ActivationSettings.xml

이 파일은 제품 정품 인증을 제어하는 설정을 포함하고 있습니다. Windows가 부팅될 때 EC2Config 서비스는 Windows가 이미 정품 인증되었는지를 검사합니다. Windows가 아직 정품 인증되지 않은 경우, EC2Config 서비스는 지정된 AWS KMS 서버를 검색해서 Windows 정품 인증을 시도합니다.

  • SetAutodiscover - AWS KMS를 자동으로 감지할지 여부를 지정합니다.

  • TargetKMSServer 의 프라이빗 IP 주소를 저장합니다.AWS KMS AWS KMS은(는) 인스턴스와 동일한 리전에 위치해 있어야 합니다.

  • DiscoverFromZone - 지정된 DNS 영역에서 AWS KMS 서버를 검색합니다.

  • ReadFromUserData - UserData에서 AWS KMS 서버를 가져옵니다.

  • LegacySearchZones - 지정된 DNS 영역에서 AWS KMS 서버를 검색합니다.

  • DoActivate - 해당 섹션의 지정된 설정을 사용해서 정품 인증을 시도합니다. 이 값은 true 또는 false일 수 있습니다.

  • LogResultToConsole - 결과를 콘솔에 표시합니다.

BundleConfig.xml

이 파일은 EC2Config가 AMI 생성을 위한 인스턴스 스토어 지원 인스턴스의 준비 방법을 제어하는 설정을 포함하고 있습니다.

  • AutoSysprep- Sysprep을 자동적으로 사용할지 여부를 지정합니다. Yes로 값을 변경해서 Sysprep을 사용하도록 합니다.

  • SetRDPCertificate - 자체 서명된 인증서를 원격 데스크톱 서버로 설정합니다. 이를 통해 안전하게 RDP를 인스턴스에 연결시킬 수 있습니다. 새 인스턴스가 인증서를 보유해야 하는 경우는 이 값을 Yes로 변경합니다.

    Windows Server 2016 이전의 운영 체제 버전을 사용하는 인스턴스는 자신의 고유한 인증서를 생성할 수 있으므로 이 설정은 이 인스턴스에서는 사용되지 않습니다.

  • SetPasswordAfterSysprep - 새로 실행된 인스턴스에 무작위 암호를 설정하고 이를 사용자 실행 키로 암호화하고 암호화된 암호를 콘솔에 출력합니다. 새 인스턴스를 무작위의 암호화된 암호로 설정하지 않아야 하는 경우는 설정의 값을 No로 변경합니다.

Config.xml

플러그인

  • Ec2SetPassword - 인스턴스를 실행할 때마다 무작위의 암호화된 암호를 생성합니다. 이 기능은 첫 실행 후 기본적으로 비활성화되어 해당 인스턴스의 재부팅으로 인해 사용자가 설정한 암호가 변경되지 않도록 합니다. 이 설정을 Enabled로 변경하면 인스턴스를 실행할 때마다 계속 새로운 암호를 생성합니다.

    이 설정은 인스턴스에서 AMI를 생성하려는 경우 필요할 수 있습니다.

  • Ec2SetComputerName - 인스턴스의 호스트 이름을 인스턴스의 IP 주소에 기반한 고유의 이름으로 변경하고 인스턴스를 재부팅합니다. 자신의 호스트 이름을 설정하거나 기존 호스트 이름이 변경되는 것을 방지하려면 이 설정을 비활성화해야 합니다.

  • Ec2InitializeDrives - 시작 시에 모든 볼륨을 초기화하고 포맷합니다. 이 기능은 기본적으로 활성화되어 있습니다.

  • Ec2EventLog - 콘솔에서 이벤트 로그 항목을 표시합니다. 기본적으로 시스템 이벤트 로그에서 가장 최근의 오류 항목 3개가 표시됩니다. 표시할 이벤트 로그 항목을 지정하려면 EventLogConfig.xml 디렉터리에 있는 EC2ConfigService\Settings 파일을 편집합니다. 아 파일의 설정에 대한 자세한 내용은 MSDN 라이브러리의 Eventlog Key 섹션을 참조하세요.

  • Ec2ConfigureRDP - 인스턴스에 자체 서명된 인증서를 설정해서 사용자가 원격 데스크톱을 사용하여 안전하게 인스턴스에 액세스할 수 있도록 합니다. Windows Server 2016 이전의 운영 체제 버전을 사용하는 인스턴스는 자신의 고유한 인증서를 생성할 수 있으므로 이 설정은 이 인스턴스에서는 사용되지 않습니다.

  • Ec2OutputRDPCert - 원격 데스크톱 인증서 정보를 사용자가 그 지문에 대해 검증할 수 있도록 상기 정보를 콘솔로 표시합니다.

  • Ec2SetDriveLetter - 사용자가 지정한 설정에 기반하는 마운트된 볼륨의 드라이브 문자를 설정합니다. 기본적으로 Amazon EBS 볼륨이 인스턴스에 연결되면 인스턴스의 드라이브 문자를 사용하여 상기 볼륨을 마운트할 수 있습니다. 드라이브 문자 매핑을 지정하려면 DriveLetterConfig.xml에 있는 EC2ConfigService\Settings 파일을 편집합니다.

  • Ec2WindowsActivate - 플러그인이 Windows 정품 인증을 처리합니다. Windows가 정품 인증되었는지 확인합니다. 인증되지 않은 경우 AWS KMS 클라이언트 설정을 업데이트한 후 Windows를 정품 인증합니다.

    AWS KMS 설정을 변경하려면 ActivationSettings.xml 디렉터리에 위치한 EC2ConfigService\Settings 파일을 편집합니다.

  • Ec2DynamicBootVolumeSize - 파티션 처리되지 않은 모든 공간을 포함하도록 디스크 0/볼륨 0을 확장합니다.

  • Ec2HandleUserData—Sysprep이 실행된 후에 인스턴스를 처음 실행했을 때 사용자가 생성한 스크립트를 생성하여 실행시킵니다. 스크립트 태그에 둘러싸인 명령은 배치 파일로 저장되고, PowerShell 태그로 둘러싸인 명령은 .ps1 파일로 저장됩니다. 이는 Ec2 서비스 속성 시스템 대화 상자의 사용자 데이터 확인란에 해당되는 기능입니다.

  • Ec2ElasticGpuSetup - 인스턴스가 탄력적 GPU와 연결되어 있으면 탄력적 GPU 소프트웨어 패키지를 설치합니다.

  • Ec2FeatureLogging - Windows 기능 설치 및 이에 상응하는 서비스 상태를 콘솔로 전송합니다. Microsoft Hyper-V 기능 및 이에 상응하는 vmms 서비스에 대해서만 지원됩니다.

글로벌 설정

  • ManageShutdown - 인스턴스 스토어 지원 AMI에서 실행한 인스턴스가 Sysprep 실행 중에 종료되지 않도록 합니다.

  • SetDnsSuffixList - Amazon EC2에 대한 네트워크 어댑터의 DNS 접미사를 설정합니다. 이를 통해 정규화된 도메인 이름을 제공하지 않고도 Amazon EC2에서 실행 중인 서버의 DNS 확인을 할 수 있습니다.

    참고

    이렇게 하면 다음 도메인에 대한 DNS 접미사 조회가 추가되고 다른 표준 접미사가 구성됩니다. 시작 에이전트가 DNS 접미사를 설정하는 방법에 대한 자세한 내용은 EC2 Windows 시작 에이전트용 DNS 접미사 구성 섹션을 참조하세요.

    region.ec2-utilities.amazonaws.com
  • WaitForMetaDataAvailable - 부팅이 시작되기 전에 메타데이터의 액세스와 네트워크의 사용이 가능해질 때까지 EC2Config 서비스가 대기하도록 설정합니다. 이를 통해 EC2Config가 정품 인증 및 기타 플러그인에 대한 메타데이터를 얻을 수 있는지를 검사할 수 있습니다.

  • ShouldAddRoutes - 복수 NIC가 연결될 때 다음 IP 주소(169.254.169.250, 169.254.169.251, 169.254.169.254)를 활성화하기 위해 기본 네트워크 어댑터에 사용자 지정 라우팅 추가. 이 주소들은 Windows 정품 인증을 할 때와 인스턴스 메타데이터에 액세스할 때 사용됩니다.

  • RemoveCredentialsfromSyspreponStartup - 다음에 서비스가 시작할 때 Sysprep.xml에서 관리자 암호를 제거합니다. 암호가 유지되도록 하려면 이 설정을 편집합니다.

DriveLetterConfig.xml

이 파일은 드라이브 문자 매핑을 제어하는 설정을 포함하고 있습니다. 기본적으로 볼륨은 사용 가능한 모든 드라이브 문자에 매핑할 수 있습니다. 다음과 같은 특정 드라이브에 볼륨을 마운트할 수 있습니다.

<?xml version="1.0" standalone="yes"?> <DriveLetterMapping> <Mapping> <VolumeName></VolumeName> <DriveLetter></DriveLetter> </Mapping> . . . <Mapping> <VolumeName></VolumeName> <DriveLetter></DriveLetter> </Mapping> </DriveLetterMapping>
  • VolumeName - 볼륨 레이블. 예: My Volume. 인스턴스 스토리지 볼륨에 대한 매핑을 지정하려면 라벨 Temporary Storage X를 사용합니다(X는 0-25 범위 내 숫자).

  • DriveLetter - 드라이브 문자. 예: M:. 그러나 드라이브 문자가 이미 사용 중인 경우 드라이브 문자 매핑은 실패하게 됩니다.

EventLogConfig.xml

이 파일은 인스턴스가 부팅 중인 동안 콘솔에 표시되는 이벤트 로그 정보를 제어하는 설정을 포함하고 있습니다. 기본적으로 시스템 이벤트 로그에서 가장 최근의 오류 항목 3개가 표시됩니다.

  • Category - 모니터링할 이벤트 로그 키.

  • ErrorType - 이벤트 유형(예:Error ,Warning ,Information )

  • NumEntries - 해당 카테고리에 대해 저장된 이벤트 수.

  • LastMessageTime - 동일한 메시지가 반복적으로 푸시되는 것을 방지하기 위해 서비스는 이 값을 메시지를 푸시할 때마다 업데이트합니다.

  • AppName - 이벤트를 기록한 이벤트 소스 또는 애플리케이션.

WallpaperSettings.xml

이 파일은 바탕 화면 배경에 표시되는 정보를 제어하는 설정을 포함하고 있습니다. 기본적으로 다음 정보가 표시됩니다.

  • Hostname - 컴퓨터 이름을 표시합니다.

  • Instance ID - 인스턴스의 ID를 표시합니다.

  • Public IP Address - 인스턴스의 퍼블릭 IP 주소를 표시합니다.

  • Private IP Address - 인스턴스의 프라이빗 IP 주소를 표시합니다.

  • Availability Zone - 인스턴스가 실행 중인 가용 영역을 표시합니다.

  • Instance Size - 인스턴스의 유형을 표시합니다.

  • Architecture - PROCESSOR_ARCHITECTURE 환경 변수의 설정을 표시합니다.

기본적으로 표시되는 정보를 해당 항목을 삭제하여 제거할 수 있습니다. 다음과 같이 표시할 추가 인스턴스 메타데이터를 추가할 수 있습니다.

<WallpaperInformation> <name>display_name</name> <source>metadata</source> <identifier>meta-data/path</identifier> </WallpaperInformation>

다음과 같이 표시할 시스템 환경 변수를 추가할 수 있습니다.

<WallpaperInformation> <name>display_name</name> <source>EnvironmentVariable</source> <identifier>variable-name</identifier> </WallpaperInformation>
InitializeDrivesSettings.xml

이 파일에는 EC2Config의 드라이브 초기화 방식을 제어하는 설정이 포함되어 있습니다.

기본적으로 EC2Config는 운영 체제를 통해 온라인 상태가 되지 않은 드라이브를 초기화합니다. 다음과 같이 플러그인을 사용자 지정할 수 있습니다.

<InitializeDrivesSettings> <SettingsGroup>setting</SettingsGroup> </InitializeDrivesSettings>

설정 그룹을 사용하여 드라이브 초기화 방식을 지정합니다:

FormatWithTRIM

드라이브 포맷 시 TRIM 명령을 활성화합니다. 드라이브가 포맷되고 초기화된 후 시스템이 TRIM 구성을 복원합니다.

EC2Config 버전 3.18부터 기본적으로 디스크 포맷 작업 중에 TRIM 명령이 비활성화됩니다. 이를 통해 포맷 시간이 단축되었습니다. 이 설정을 사용하여 EC2Config 버전 3.18 이상에서 디스크 포맷 작업 중에 TRIM을 활성화합니다.

FormatWithoutTRIM

드라이브 포맷 시 TRIM 명령을 비활성화하고 Windows 포맷 시간을 단축합니다. 드라이브가 포맷되고 초기화된 후 시스템이 TRIM 구성을 복원합니다.

DisableInitializeDrives

새 드라이브의 포맷을 비활성화합니다. 이 설정을 사용하여 드라이브를 수동으로 초기화합니다.