Я столкнулся с проблемой при создании пользовательских AMI (изображений) в экземплярах EC2. Если я запустил экземпляр сервера Windows по умолчанию 2012 с пользовательскими загрузочными/пользовательскими данными script, например:
<powershell>
PowerShell "(New-Object System.Net.WebClient).DownloadFile('http://download.microsoft.com/download/3/2/2/3224B87F-CFA0-4E70-BDA3-3DE650EFEBA5/vcredist_x64.exe','C:\vcredist_x64.exe')"
</powershell>
Он будет работать по назначению и перейти к URL-адресу и загрузить файл и сохранить его на диске C:.
Но если я настрою экземпляр Windows Server, затем создаю образ из него и сохраню его как пользовательский AMI, а затем разворачиваю его с помощью тех же пользовательских пользовательских данных script, это не сработает. Но если я перейду к экземпляру url (http://169.254.169.254/latest/user-data
), он покажет, что script успешно импортирован, но не был выполнен.
После проверки журналов ошибок я заметил это регулярно:
Failed to fetch instance metadata http://169.254.169.254/latest/user-data with exception The remote server returned an error: (404) Not Found.