EC2Launch v2 개요 - Amazon Elastic Compute Cloud

EC2Launch v2 개요

EC2Launch v2는 인스턴스 시작 시 태스크를 수행하며 인스턴스가 중지된 후 나중에 시작되거나 재시작된 경우 실행되는 서비스입니다.

시작 에이전트 버전 기능을 비교하려면 Amazon EC2 시작 에이전트 비교 섹션을 참조하세요.

EC2Launch v2 개념

EC2Launch v2를 고려하는 경우 다음 개념을 이해하는 것이 좋습니다.

작업

태스크를 호출하여 인스턴스에 대한 작업을 수행할 수 있습니다. agent-config.yml 파일에서 또는 사용자 데이터를 통해 태스크를 구성할 수 있습니다. EC2Launch v2에 사용 가능한 태스크 목록은 EC2Launch v2 태스크를 참조하세요. 태스크 구성 스키마와 세부 정보는 EC2Launch v2 태스크 구성 섹션을 참조하세요.

단계

단계는 EC2Launch v2 에이전트가 실행하는 태스크를 논리적으로 묶은 것입니다. 일부 작업은 특정 스테이지에서만 실행할 수 있고, 일부 작업은 여러 스테이지로 실행할 수 있습니다. agent-config.yml을 사용할 때 단계 목록과 각 단계 내에서 실행할 태스크 목록을 지정해야 합니다.

서비스는 다음 단계로 실행합니다.

1단계: 부팅

2단계: 네트워크

3단계: PreReady

Windows가 준비됨

PreReady 단계가 완료되면 서비스에서 Amazon EC2 콘솔로 Windows is ready 메시지를 전송합니다.

4단계: PostReady

사용자 데이터는 PostReady 단계에서 실행됩니다. 다음과 같이 일부 스크립트 버전은 agent-config.yml 파일 PostReady 단계 이전에 실행되고 일부는 해당 단계 이후에 실행됩니다.

agent-config.yml 이전
  • YAML 사용자 데이터 버전 1.1

  • XML 사용자 데이터

agent-config.yml 이후
  • YAML 사용자 데이터 버전 1.0(이전 버전과의 호환성을 위한 레거시 버전)

예제 단계 및 태스크는 예: agent-config.yml 섹션을 참조하세요.

사용자 데이터를 사용하는 경우 실행 에이전트가 실행할 태스크 목록을 지정해야 합니다. 단계는 암시됩니다. 예제 태스크는 예: 사용자 데이터 섹션을 참조하세요.

EC2Launch v2는 agent-config.yml 및 사용자 데이터에 지정하는 순서대로 태스크 목록을 실행합니다. 단계는 순차적으로 실행됩니다. 이전 단계가 완료된 후 다음 단계가 시작됩니다. 태스크도 순차적으로 실행됩니다.

빈도

태스크 빈도는 부팅 컨텍스트에 따라 태스크 실행 일정을 결정합니다. 대부분의 태스크에는 허용되는 빈도가 하나만 있습니다. executeScript 태스크의 빈도를 지정할 수 있습니다.

EC2Launch v2 태스크 구성에 다음과 같은 빈도가 표시됩니다.

  • 한 번 – AMI가 처음 부팅될 때 태스크가 한 번 실행됩니다(Sysprep이 완료됨).

  • 항상 – 시작 에이전트가 실행될 때마다 태스크가 실행됩니다. 시작 에이전트가 실행되는 경우:

    • 인스턴스 시작 또는 재시작

    • EC2Launch 서비스 실행

    • EC2Launch.exe run 호출

agent-config

agent-config는 EC2Launch v2의 구성 폴더에 있는 파일입니다. 부팅, 네트워크, 사전 준비 및 사후 준비 스테이지에 대한 구성이 포함되어 있습니다. 이 파일은 AMI가 처음 부팅되거나 이후에 부팅될 때 실행되어야 하는 태스크의 인스턴스 구성을 지정하는 데 사용됩니다.

기본적으로 EC2Launch v2 설치 시 표준 Amazon Windows AMI에서 사용되는 권장 구성을 포함한 agent-config 파일이 설치됩니다. 구성 파일을 업데이트하여 EC2Launch v2에서 지정되는 AMI의 기본 부팅 환경을 변경할 수 있습니다.

사용자 데이터

사용자 데이터는 인스턴스를 시작할 때 구성 가능한 데이터입니다. 사용자 데이터를 업데이트하여 사용자 지정 AMI 또는 퀵 스타트 AMI 구성 방식을 동적으로 변경할 수 있습니다. EC2Launch v2는 60kB의 사용자 데이터 입력 길이를 지원합니다. 사용자 데이터에는 UserData 스테이지만 포함되므로 agent-config 파일 이후에 실행됩니다. 인스턴스 시작 마법사를 사용하여 인스턴스를 시작할 때 사용자 데이터를 입력하거나 EC2 콘솔에서 사용자 데이터를 수정할 수 있습니다. 사용자 데이터 작업에 대한 자세한 내용은 Amazon EC2가 Windows 인스턴스의 사용자 데이터를 처리하는 방법 섹션을 참조하세요.

EC2Launch v2 태스크

EC2Launch v2는 부팅될 때마다 다음 태스크를 수행할 수 있습니다.

  • 인스턴스에 대한 정보를 렌더링하는 새로운/선택적으로 사용자 지정된 월페이퍼(wallpaper)를 설정합니다.

  • 로컬 시스템에 생성된 관리자 계정의 속성을 설정합니다.

  • 검색 접미사 목록에 DNS 접미사를 추가합니다. 아직 존재하지 않는 접미사만 목록에 추가됩니다.

  • 추가 볼륨에 대해 드라이브 문자를 설정하고 사용 가능한 공간을 사용하도록 확장합니다.

  • 구성의 파일을 디스크에 씁니다.

  • EC2Launch v2 구성 파일 또는 user-data에서 지정된 스크립트를 실행합니다. user-data의 스크립트는 일반 텍스트로 제공하거나 압축하여 base64 형식으로 제공할 수 있습니다.

  • 주어진 인수를 사용해 프로그램을 실행합니다.

  • 컴퓨터 이름을 설정합니다.

  • 인스턴스 정보를 Amazon EC2 콘솔에 전송합니다.

  • RDP 인증서 지문을 Amazon EC2 콘솔에 전송합니다.

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

  • 사용자 데이터를 실행합니다. 사용자 데이터 지정에 대한 자세한 내용은 EC2Launch v2 태스크 구성 섹션을 참조하세요.

  • 비영구 정적 경로를 설정하여 메타데이터 서비스 및 AWS KMS 서버에 도달합니다.

  • 부팅 파티션이 아닌 파티션을 mbr 또는 gpt.로 설정합니다.

  • Sysprep 이후에 Systems Manager 서비스를 시작합니다.

  • ENA 설정을 최적화합니다.

  • 최신 Windows 버전을 위해 OpenSSH를 활성화합니다.

  • 점보 프레임을 활성화합니다.

  • EC2Launch v2에서 Sysprep이 실행되도록 설정합니다.

  • Windows 이벤트 로그를 게시합니다.

원격 측정

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

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

EC2Launch v2에서 수집되는 원격 측정 데이터의 유형은 다음과 같습니다.

  • 사용량 정보 - 에이전트 명령, 설치 방법 및 예약된 실행 빈도입니다.

  • 오류 및 진단 정보 - 에이전트 설치 오류 코드, 실행 오류 코드 및 오류 호출 스택입니다.

수집되는 데이터의 예:

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 v2는 별도로 고객에게 알리지 않고 원격 측정 데이터를 전송합니다.

원격 측정 가시성

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

2021/07/15 21:44:12Z: Telemetry: <Data>
인스턴스의 원격 측정 비활성화

단일 인스턴스에 대한 원격 측정을 비활성화하려면 시스템 환경 변수를 설정하거나 MSI를 사용하여 설치 파일을 수정하면 됩니다.

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

setx /M EC2LAUNCH_TELEMETRY 0

MSI를 사용하여 원격 측정을 비활성화하려면 MSI를 다운로드한 후 다음 명령을 실행합니다.

msiexec /i ".\AmazonEC2Launch.msi" Remove="Telemetry" /q