我正在使用AWS S3启动新的spot实例,并尝试根据此处的说明(http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html#user-data-powershell)设置一个PowerShell脚本在luanch运行
这是powershell脚本,它使用随机字符串为服务器生成名称,然后重新启动计算机:
<powershell>
$rnd = ([char[]] (65..90) | get-random -count 3) -join ''
$name = "spot-server-$rnd"
Rename-Computer -NewName $name
shutdown /r /f
</powershell>
我在启动实例时已将脚本添加到UserData字段,但是,当实例启动时,它似乎无法正常工作。
注意:当我使用powershell终端运行脚本时,它可以工作(重命名计算机并重新启动计算机)
更新/解决方案:我认为问题在于我使用的AMI在EC2服务属性中没有启用用户数据。我按照以下步骤解决了这个问题: