2016-06-08 7 views
0

간단한 PowerShell 스크립트로 테스트했습니다. mkdir C:\tempdir AmazonData에서 시작한 인스턴스에서 UserData로 지정하면 모든 것이 정상적으로 작동합니다. 지정된 UserData로 인스턴스를 시작하고 해당 인스턴스의 이미지를 만들면 내 사용자 정의 이미지에서 생성 된 인스턴스에 대해 UserData가 실행되지 않습니다. 재미있는 점은 "C:\Program Files\Amazon\Ec2ConfigService\Scripts\UserScript.ps1"에 초기 출시 (이미지 생성 전)의 UserData가 포함되어 있지만 마지막 출시 과정에서 지정된 데이터가 포함되어 있어야한다는 것입니다. 재미있는 점은 UserScript.ps1이 있어도 실행되지 않습니다 (텍스트 파일을 만들어야하지만 텍스트 파일은 존재하지 않음). 여기 인스턴스가 (최대 시작되지 만든)을 시작할 때AWS - UserData가 실행되지 않았습니다. 예를 들어 사용자 정의 이미지에서 생성되었습니다.

<powershell> 
    mkdir C:\tempdir 
</powershell> 

답변

1

사용자 데이터 스크립트를 한 번만 실행 두 번째 발사에서 UserData를합니다. 그런 다음 인스턴스에서 비활성화됩니다. 따라서 인스턴스에서 AMI를 가져와 새 인스턴스를 시작하면 사용자 데이터가 이미 비활성화되어 있습니다.

당신이 잡아 전에합니다 (UserData를 상자를 선택하여 EC2ConfigService 설정 유틸리티에서 다시 사용자 데이터 지원을 설정해야합니다 생성 된 AMI에서 새로운 하나를 시작하면 다시 실행할 수 있도록하려면

UserData를 사용 AMI).

는 다음 UserData를 실행할 다시 인스턴스를 재부팅하고 다시 자체를 사용하지 않도록 설정하면이 후 지금

UserData를 활성화 지속. 이 기능을 사용하지 않으려면 <persist>true</persist>을 인스턴스의 UserData에 추가해야합니다.이 확인란을 선택하면 동일한 상태로 확인란이 유지됩니다 (켜기로 설정 한 경우).

더 많은 정보는 :

+0

EC2ConfigService 설정 유틸리티를 실행, 그것은 "UserData를가) 기본적으로 SysPrep을 한 후 활성화됩니다 표시합니다. 시도해 보았습니다. o SysPrep (두 번째 탭)을 실행하고 AWS 웹 콘솔에서 이미지를 만드는 것보다 사용자 Dtaa 확인란을 활성화합니다. - 작동하지 않았습니다. 절차를 반복했지만 단순히 인스턴스를 종료하고 이미지를 만들었습니다. 작업을 수행하지 않았습니까? 내 시나리오에서는 완벽하게 활성화 할 수있는 옵션이 없습니다. –

+0

SysPrep은 제 경우에는 실행하지 않기 때문에 사용하지 않습니다. 난 그저 확인란이 켜져 있는지 확인하고 인스턴스를 종료하고 이미지를 작성한 다음 새 인스턴스를 시작합니다. 제 설정에서 이전의 인스턴스는 사용자 데이터에 ' true'을 가지고 있으며, 새 이미지를 시작할 때 새로운 이미지의 첫 번째 부팅에서만 스크립트를 실행하기 위해 새로운 인스턴스를 실행할 때' ... 거짓'을 사용합니다. – eirc

+0

기본 인스턴스에' true'을 추가하면 (이미지 만들기에 사용함) UserData가 작동합니다. 적절한 체크 박스를 선택했을 때 왜 작동하지 않는지 아직도 혼란 스럽습니다. 그럼에도 불구하고 문제가 해결되었습니다. 감사합니다. . –