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

최종 업데이트 날짜: 2019년 10월 18일

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

간략한 설명

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

​해결 방법

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

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

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

  • 탄력적 IP 주소를 사용하지 않는 경우 인스턴스를 중지하면 퍼블릭 IP 주소가 릴리스됩니다.
  • 이 인스턴스에 인스턴스 스토어 볼륨이 있는 경우 인스턴스가 중지되면 해당 인스턴스의 모든 데이터가 유실됩니다.
  • 인스턴스 종료 동작종료로 설정된 경우 인스턴스는 중지 시 종료됩니다.
  • 인스턴스가 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]를 선택합니다.

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

4.    인스턴스를 선택합니다. [Actions]에서 [Instance Settings], [View/Change 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

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?