간단한 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>
EC2ConfigService 설정 유틸리티를 실행, 그것은 "UserData를가) 기본적으로 SysPrep을 한 후 활성화됩니다 표시합니다. 시도해 보았습니다. o SysPrep (두 번째 탭)을 실행하고 AWS 웹 콘솔에서 이미지를 만드는 것보다 사용자 Dtaa 확인란을 활성화합니다. - 작동하지 않았습니다. 절차를 반복했지만 단순히 인스턴스를 종료하고 이미지를 만들었습니다. 작업을 수행하지 않았습니까? 내 시나리오에서는 완벽하게 활성화 할 수있는 옵션이 없습니다. –
SysPrep은 제 경우에는 실행하지 않기 때문에 사용하지 않습니다. 난 그저 확인란이 켜져 있는지 확인하고 인스턴스를 종료하고 이미지를 작성한 다음 새 인스턴스를 시작합니다. 제 설정에서 이전의 인스턴스는 사용자 데이터에 ' true '을 가지고 있으며, 새 이미지를 시작할 때 새로운 이미지의 첫 번째 부팅에서만 스크립트를 실행하기 위해 새로운 인스턴스를 실행할 때' ... 거짓 '을 사용합니다. –
eirc
기본 인스턴스에' true '을 추가하면 (이미지 만들기에 사용함) UserData가 작동합니다. 적절한 체크 박스를 선택했을 때 왜 작동하지 않는지 아직도 혼란 스럽습니다. 그럼에도 불구하고 문제가 해결되었습니다. 감사합니다. . –