我目前正在Amazon EC2上运行一组c3.large Windows Server 2012实例。
我们正在处理的项目有点不同,我们有一个运行的Node.js脚本,通过消息队列定期轮询作业。 每个作业打开一个.jar文件以在Windows桌面上打开一个用户界面。 然后,我们的.jar文件执行一系列操作(包括截取当前窗口的截图),终止,然后Node.js将结果上传到MongoDb和Amazon S3。 Java应用程序(.jar)需要一个桌面会话才能正常工作(所以我不认为一个服务会有太大的用处) – 就像自动化UItesting需要一个活动桌面一样。
基础设施很好! 但是,一个大问题是桌面环境。 在通过EC2pipe理控制台启动新实例后,直到我手动启动本地计算机的远程桌面连接(因此创build运行我们的软件的桌面)之前,桌面环境才存在。 这对于可伸缩性的原因是不实际的,理想情况下,我希望能够根据需要以编程方式启动/停止实例。
我已经尝试了一些东西。 包括EC2用户数据中的<powershell>命令,使用VNC服务器,并调整了Windows机器本身的一些设置……都无济于事。
有人知道在启动EC2 Windows Server 2012实例时创build桌面环境的技术/设置吗?
您应该能够configuration机器进行自动login。 然后将使用您在每次机器引导时指定的凭据login控制台会话。
请参阅从自定义AMI自动login启动多个EC2 Windows服务器,以了解如何configuration此类事件的示例。 基本上,您只是使用自动loginregistry值 ,但有一些解决方法可以在仍然使用sysprepre主机的情况下使用它们。