인스턴스를 재부팅하거나 시작할 때 기존 EC2 Windows 인스턴스에서 명령을 실행하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2021년 4월 9일

인스턴스를 재부팅하거나 시작할 때 기존 Amazon Elastic Compute Cloud(Amazon EC2) Windows 인스턴스에서 사용자 지정 스크립트를 실행하고 싶습니다. 어떻게 해야 하나요?

간략한 설명

인스턴스가 재부팅되거나 시작된 후에 실행되는 스크립트를 실행하려면 이를 사용자 데이터에 추가할 수 있습니다. 사용자 데이터는 EC2Config(Windows Server 2012 R2 이하) 또는 EC2Launch(Windows Server 2016 이상)에서 처리됩니다.

​해결 방법

사용자 데이터에 스크립트를 추가할 때는 특수 태그 안에 스크립트를 묶어야 합니다. 이 태그는 명령이 명령 프롬프트 창에서 실행되는지 아니면 Windows PowerShell에서 실행되는지를 결정합니다. 자세한 내용은 시작 시 Windows 인스턴스에서 명령 실행을 참조하세요.

인스턴스가 실행 중이라면 사용자 데이터를 추가하거나 변경할 수 없지만 볼 수는 있습니다. 사용자 데이터를 추가하거나 변경하려면 인스턴스가 중지 상태여야 합니다. 사용자 데이터는 인스턴스를 재부팅하거나 시작할 때 자동으로 실행되지 않습니다. 다음번에 사용자 데이터가 실행되도록 활성화할 수도 있고, 인스턴스를 재부팅하거나 시작할 때마다 실행되도록 할 수도 있습니다.

경고: 인스턴스를 중지하기 전에 다음 사항에 유의하세요.

  • 탄력적 IP 주소를 사용하지 않는 경우 인스턴스를 중지하면 퍼블릭 IP 주소가 릴리스됩니다.
  • 이 인스턴스에 인스턴스 스토어 볼륨이 있는 경우 인스턴스가 중지되면 해당 인스턴스의 모든 데이터가 유실됩니다.
  • [instance shutdown behavior]가 [Terminate]로 설정된 경우 인스턴스는 중지 시 종료됩니다.
  • 인스턴스가 Auto Scaling 그룹의 일부인 경우 먼저, 해당 인스턴스를 Auto Scaling 그룹에서 분리하세요. 그리고 인스턴스를 중지했다가 시작한 후, 인스턴스를 Auto Scaling 그룹에 다시 연결하세요.
    자세한 내용은 인스턴스 중지 및 시작을 참조하세요.

1.    EC2 Windows 인스턴스에 연결합니다.

2.    Windows Server 2016 이상의 경우 Windows PowerShell 명령 창을 열고 다음 명령을 실행합니다.

C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 –Schedule

Windows Server 2012 R2 이전의 경우 C:\Program Files\Amazon\Ec2ConfigService\Ec2ConfigServiceSetting.exe를 엽니다.

그런 다음 [User Data]에서 [Enable UserData execution for next service start]를 선택합니다.

참고: 앞의 명령은 인스턴스가 시작할 때마다 해당 인스턴스의 로컬 관리자 암호를 변경합니다. [키 페어 없음(No Key Pair)] 옵션을 선택한 상태로 AMI를 사용 중인 경우, 다시 시작하면 인스턴스에 대한 액세스가 손실될 수 있습니다.

3.    Amazon EC2 콘솔에서 인스턴스를 중지합니다.

4.    인스턴스를 선택합니다. 그런 다음 [작업(Actions)], [인스턴스 설정(Instance Settings)], [사용자 데이터 편집(Edit User Data)]을 선택합니다.

5.    사용자 데이터를 추가하거나 업데이트한 다음 [Save]를 선택합니다.

참고: 인스턴스를 재부팅하거나 다시 시작할 때마다 사용자 데이터 스크립트를 실행하려면 다음을 추가합니다.

<persist>true</persist>

6.    인스턴스를 시작합니다. 사용자 데이터 스크립트는 인스턴스 시작 프로세스의 일부로 실행됩니다.

추가적인 문제 해결을 위해 EC2Launch 및 EC2Config 로그 파일에는 표준 출력 및 표준 오류 스트림의 출력이 포함되어 있습니다. 로그 파일은 다음과 같이 배치됩니다.

  • EC2Launch: C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
  • EC2Config: C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2Config.log

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?